Artefacts
Les artefacts dans GitLab sont des fichiers générés par une job de pipeline qui sont stockés et peuvent être téléchargés plus tard. Ils sont généralement utilisés pour conserver les sorties de construction, les logs, ou d’autres fichiers qui doivent être partagés entre les jobs ou stockés pour référence future.
Les artefacts sont particulièrement utiles pour passer des fichiers ou répertoires d’une job à une autre au sein du même pipeline, s’assurant que les jobs suivantes ont accès aux données nécessaires produites par les étapes précédentes.
Artefacts de Job :
- Les artefacts sont créés en les définissant dans la section artifacts d’une job dans un fichier .gitlab-ci.yml.
- Ils peuvent inclure tous les fichiers ou répertoires générés pendant l’exécution du job.
Stockage des Artefacts :
- Les artefacts sont stockés par GitLab et peuvent être accédés via l’interface GitLab sous les détails du job du pipeline.
- Vous pouvez configurer les artefacts pour qu’ils soient stockés pendant une durée spécifique en utilisant le mot-clé expire_in.
Types d’Artefacts :
- Artefacts par Défaut : Générés par les jobs et disponibles au téléchargement.
- Rapports : Types spéciaux d’artefacts utilisés pour la couverture de tests, la qualité du code, les performances, etc.
Rétention des Artefacts :
- Les artefacts peuvent être conservés selon la valeur expire_in, après quoi ils seront automatiquement supprimés.
- Les politiques de rétention peuvent être gérées au niveau du projet ou de l’instance.
Exemple pour archiver un fichier et/ou un dossier à la fin d’un job:
build: stage: build script: - make build artifacts: paths: - binaries/ # Le chemin relatif vers le(s) dossier(s) et/ou le(s) fichier(s) que vous souhaitez archiver expire_in: 1 week # OptionnelExemple de récupération d’artefacts depuis un autre job
test: stage: test script: - make test needs: - job: build # On référence ici le nom du job qui a archivé les artefacts que l'on souhaite artifacts: true # On spécifie le fait que l'on veut récupérer les artefacts du job sus-mentionné.Explication :
- Job build : Génère des artefacts dans le répertoire binaries/, qui sont stockés pendant 1 semaine.
- Job test : Génère un rapport JUnit stocké comme artefact pour révision dans GitLab.
- Job deploy : Récupère le répertoire binaries/ du job build en utilisant le mot-clé dependencies, permettant au script de déploiement d’accéder aux fichiers nécessaires.
Pour plus de détails, consultez la documentation GitLab sur les artefacts.