GitLab - 7.14 Lire les logs d'un pipeline GitLab
Les journaux d'exécution montrent ce qui s'est passé pendant l'exécution d'un job GitLab. Ils permettent de comprendre pourquoi un pipeline réussit ou échoue. Cette leçon décrit les grandes étapes que vous voyez dans ces journaux.
Un job exécuté par un runner
Le serveur GitLab n'exécute pas le code lui-même. Un runner, c'est-à-dire un agent, exécute le job puis renvoie les résultats au serveur.
Si le fichier ne précise aucun runner, GitLab utilise par défaut un runner partagé. Les journaux indiquent aussi les statistiques de ce runner.
Les étapes du journal
Le journal découpe l'exécution en sections. Chaque section décrit un processus réalisé par GitLab pendant le job.
À droite de chaque instruction du journal, le temps passé à chaque étape est affiché.
- Démarrage du job et informations sur le runner
- Préparation de l'environnement, souvent une image Docker
- Récupération du code source du dépôt
- Exécution du script et affichage de sa sortie
- Nettoyage des ressources et résultat final
Boutons et durée
Le bouton de nouvelle tentative relance uniquement ce job, et non tout le pipeline. La durée affichée concerne ce job seul.
Le délai d'expiration, par défaut d'une heure, évite qu'un job trop long monopolise le runner partagé.
Le déclenchement automatique
Chaque modification validée dans le dépôt déclenche automatiquement le pipeline. C'est le principe de l'intégration continue : le code est vérifié dès qu'il change.
La branche principale est souvent liée à la production. La vidéo indique donc qu'on peut exclure cette branche du déclenchement automatique, et définir des critères pour la lancer.
En résumé
Le journal décrit chaque étape d'un job : préparation, code source, script et nettoyage. Le runner exécute le job, et non le serveur GitLab. Le bouton de nouvelle tentative relance seulement ce job.
Points clés
- Le serveur GitLab confie l'exécution à un runner.
- Sans runner précisé, GitLab utilise un runner partagé.
- Le journal est découpé en sections, une par étape.
- Un environnement Docker est créé même si vous ne l'avez pas défini.
- Le délai d'expiration par défaut d'un job est d'une heure.
Questions fréquentes
Pourquoi mon job s'exécute-t-il sans image Docker définie ?
GitLab crée automatiquement un environnement, qui est une image Docker, pour exécuter le code du job.
Que fait le bouton de nouvelle tentative ?
Il relance ce job seul. Le reste du pipeline n'est pas réexécuté.
Qu'est-ce qu'un runner partagé ?
C'est un runner fourni par GitLab et partagé entre les projets. GitLab l'utilise par défaut quand aucun runner n'est précisé.