doc-locale/fr-fr/ci/jobs/job_artifacts_troubleshooting.md
{{< details >}}
{{< /details >}}
Lorsque vous travaillez avec des artefacts de job, vous pouvez rencontrer les problèmes suivants.
Par défaut, les jobs récupèrent tous les artefacts des étapes précédentes, mais les jobs utilisant dependencies ou needs ne récupèrent pas par défaut les artefacts de tous les jobs.
Si vous utilisez ces mots-clés, les artefacts ne sont récupérés que depuis un sous-ensemble de jobs. Consultez la référence des mots-clés pour savoir comment récupérer des artefacts avec ces mots-clés :
Si les artefacts de job utilisent trop d'espace disque, consultez la documentation d'administration des artefacts de job.
No files to upload {#error-message-no-files-to-upload}Ce message apparaît dans les job logs lorsque le runner ne trouve pas le fichier à télécharger. Soit le chemin d'accès au fichier est incorrect, soit le fichier n'a pas été créé. Vous pouvez consulter le job log pour trouver d'autres erreurs ou avertissements précisant le nom du fichier et la raison pour laquelle il n'a pas été généré.
Pour des job logs plus détaillés, vous pouvez activer la journalisation de débogage CI/CD et relancer le job. Cette journalisation peut fournir davantage d'informations sur la raison pour laquelle le fichier n'a pas été créé.
FATAL: invalid argument lors du téléchargement d'un artefact dotenv sur un runner Windows {#error-message-fatal-invalid-argument-when-uploading-a-dotenv-artifact-on-a-windows-runner}La commande PowerShell echo écrit des fichiers avec l'encodage UCS-2 LE BOM (Byte Order Mark), mais seul UTF-8 est pris en charge. Si vous essayez de créer un artefact dotenv avec echo, cela provoque une erreur FATAL: invalid argument.
Utilisez plutôt PowerShell Add-Content, qui utilise UTF-8 :
test-job:
stage: test
tags:
- windows
script:
- echo "test job"
- Add-Content -Path build.env -Value "MY_ENV_VAR=true"
artifacts:
reports:
dotenv: build.env
Si certains artefacts de job n'expirent pas comme prévu, vérifiez si le paramètre Conserver les artéfacts des jobs réussis les plus récents est activé.
Lorsque ce paramètre est activé, les artefacts de job issus du dernier pipeline réussi de chaque référence n'expirent pas et ne sont pas supprimés.
This job could not start because it could not retrieve the needed artifacts. {#error-message-this-job-could-not-start-because-it-could-not-retrieve-the-needed-artifacts}Un job échoue au démarrage et renvoie ce message d'erreur s'il ne peut pas récupérer les artefacts attendus. Cette erreur est renvoyée dans les cas suivants :
dependencies, seuls les jobs listés sont dépendants.artifacts:expire_in.Consultez ces étapes de résolution supplémentaires si le job utilise le mot-clé needs:artifacts avec :
needs:project {#for-a-job-configured-with-needsproject}L'erreur could not retrieve the needed artifacts. peut se produire pour un job utilisant needs:project avec une configuration similaire à :
rspec:
needs:
- project: my-group/my-project
job: dependency-job
ref: master
artifacts: true
Pour résoudre cette erreur, vérifiez que :
my-group/my-project fait partie d'un groupe disposant d'un plan d'abonnement Premium.my-group/my-project.project, job et ref existe et aboutit à la dépendance souhaitée.Si vous utilisez le CI_JOB_TOKEN, ajoutez le jeton à la liste d'autorisation du projet pour extraire des artefacts d'un autre projet.
needs:pipeline:job {#for-a-job-configured-with-needspipelinejob}L'erreur could not retrieve the needed artifacts. peut se produire pour un job utilisant needs:pipeline:job avec une configuration similaire à :
rspec:
needs:
- pipeline: $UPSTREAM_PIPELINE_ID
job: dependency-job
artifacts: true
Pour résoudre cette erreur, vérifiez que :
$UPSTREAM_PIPELINE_ID est disponible dans la hiérarchie de pipeline parent-enfant du pipeline actuel.pipeline et job existe et se résout en un pipeline existant.dependency-job a été exécuté et s'est terminé avec succès.UnlockPipelinesInQueueWorker après une mise à niveau {#jobs-show-unlockpipelinesinqueueworker-after-an-upgrade}Les jobs peuvent se bloquer et afficher une erreur indiquant UnlockPipelinesInQueueWorker.
Ce problème survient après une mise à niveau.
La solution de contournement consiste à activer le feature flag ci_unlock_pipelines_extra_low. Pour activer ou désactiver les feature flags, vous devez être administrateur.
Sur GitLab.com :
Exécutez la commande ChatOps suivante :
/chatops gitlab run feature set ci_unlock_pipelines_extra_low true
Sur GitLab Self-Managed :
ci_unlock_pipelines_extra_low.Pour plus d'informations, consultez le commentaire dans la merge request 140318.