doc-locale/fr-fr/ci/jobs/job_logs.md
{{< details >}}
{{< /details >}}
Un job log affiche l'historique complet d'exécution d'un job CI/CD.
Pour afficher les job logs :
Pour afficher des informations détaillées sur le job et la sortie de son log, faites défiler la page des job logs.
Vous pouvez afficher le contenu d'un job log en mode plein écran en cliquant sur Afficher le mode plein écran.
Pour utiliser le mode plein écran, votre navigateur web doit également le prendre en charge. Si votre navigateur web ne prend pas en charge le mode plein écran, l'option n'est pas disponible.
{{< history >}}
FF_SCRIPT_SECTIONS. Désactivé par défaut.{{< /history >}}
[!flag] La disponibilité de cette fonctionnalité est contrôlée par un feature flag. Pour plus d'informations, consultez l'historique.
Lorsque FF_SCRIPT_SECTIONS est activé, les commandes de script multi-lignes apparaissent sous forme de sections réductibles dans les job logs. Les commandes sur une seule ligne sont affichées directement avec le préfixe $. Les durées ne sont pas affichées.
Dans les shells powershell et pwsh, FF_SCRIPT_SECTIONS ne crée pas de sections réductibles. Les commandes sont affichées uniquement avec une sortie en couleur.
Vous pouvez créer des sections réductibles dans les job logs en générant manuellement des codes spéciaux que GitLab utilise pour délimiter les sections réductibles :
\e[0Ksection_start:UNIX_TIMESTAMP:SECTION_NAME\r\e[0K + TEXT_OF_SECTION_HEADER\e[0Ksection_end:UNIX_TIMESTAMP:SECTION_NAME\r\e[0KVous devez ajouter ces codes à la section script de la configuration CI. Par exemple, en utilisant echo :
job1:
script:
- echo -e "\e[0Ksection_start:`date +%s`:my_first_section\r\e[0KHeader of the 1st collapsible section"
- echo 'this line should be hidden when collapsed'
- echo -e "\e[0Ksection_end:`date +%s`:my_first_section\r\e[0K"
La syntaxe d'échappement peut varier selon le shell utilisé par votre runner. Par exemple, si vous utilisez Zsh, vous devrez peut-être échapper les caractères spéciaux avec \\e ou \\r.
Dans l'exemple ci-dessus :
date +%s : Commande qui produit le timestamp Unix (par exemple 1560896352).my_first_section : Le nom donné à la section. Le nom peut uniquement être composé de lettres, de chiffres et des caractères _, . ou -.\r\e[0K : Séquence d'échappement qui empêche les marqueurs de section de s'afficher dans le job log rendu (en couleur). Ils s'affichent lors de la consultation du job log brut, accessible dans le coin supérieur droit du job log en sélectionnant Afficher la version brute complète ({{< icon name="doc-text" >}}).
\r : retour chariot (ramène le curseur au début de la ligne).\e[0K : Code d'échappement ANSI pour effacer la ligne de la position du curseur jusqu'à la fin de la ligne. (\e[K seul ne fonctionne pas ; le 0 doit être inclus).Exemple de job log brut :
\e[0Ksection_start:1560896352:my_first_section\r\e[0KHeader of the 1st collapsible section
this line should be hidden when collapsed
\e[0Ksection_end:1560896353:my_first_section\r\e[0K
Exemple de log console de job :
Pour supprimer les instructions echo qui créent les marqueurs de section dans la sortie du job, vous pouvez déplacer le contenu du job dans un fichier script et l'appeler depuis le job :
Créez un script capable de gérer les en-têtes de section. Par exemple :
# function for starting the section
function section_start () {
local section_title="${1}"
local section_description="${2:-$section_title}"
echo -e "section_start:`date +%s`:${section_title}[collapsed=true]\r\e[0K${section_description}"
}
# Function for ending the section
function section_end () {
local section_title="${1}"
echo -e "section_end:`date +%s`:${section_title}\r\e[0K"
}
# Create sections
section_start "my_first_section" "Header of the 1st collapsible section"
echo "this line should be hidden when collapsed"
section_end "my_first_section"
# Repeat as required
Ajoutez le script au fichier .gitlab-ci.yml :
job:
script:
- source script.sh
Pour réduire les sections par défaut, ajoutez [collapsed=true] au marqueur de début de section, après le nom de la section et avant le \r :
[collapsed=true] : \e[0Ksection_start:UNIX_TIMESTAMP:SECTION_NAME[collapsed=true]\r\e[0K + TEXT_OF_SECTION_HEADER\e[0Ksection_end:UNIX_TIMESTAMP:SECTION_NAME\r\e[0KAjoutez le texte de début de section mis à jour à la configuration CI. Par exemple, en utilisant echo :
job1:
script:
- echo -e "\e[0Ksection_start:`date +%s`:my_first_section[collapsed=true]\r\e[0KHeader of the 1st collapsible section"
- echo 'this line should be hidden automatically after loading the job log'
- echo -e "\e[0Ksection_end:`date +%s`:my_first_section\r\e[0K"
Lorsque vous supprimez un job log, vous effacez également le job entier.
Pour plus d'informations, consultez Supprimer les job logs.
{{< details >}}
{{< /details >}}
{{< history >}}
parse_ci_job_timestamps. Désactivé par défaut.parse_ci_job_timestamps a été supprimé dans GitLab 17.2.{{< /history >}}
Par défaut, les job logs incluent des timestamps au format ISO 8601 pour chaque ligne. Utilisez les timestamps pour résoudre les problèmes de performances, identifier les goulots d'étranglement et mesurer la durée des étapes de build spécifiques.
Lorsque les timestamps sont activés, le job log utilise environ 10 % d'espace de stockage supplémentaire.
L'exemple suivant montre un job log avec des timestamps :
Prérequis :
Pour contrôler l'affichage des timestamps dans les job logs, utilisez la variable CI/CD FF_TIMESTAMPS :
false pour désactiver les timestampstrue pour activer explicitement les timestampsPar exemple :
variables:
FF_TIMESTAMPS: false # Disables timestamps
job:
script:
- echo "This job's log behavior depends on FF_TIMESTAMPS value"
Pour plus d'informations, consultez définir une variable CI/CD dans le fichier .gitlab-ci.yml.
Lorsque vous visitez la page de job log pour un job en cours d'exécution, un délai pouvant aller jusqu'à 60 secondes peut survenir avant une mise à jour du log. La durée d'actualisation par défaut est de 60 secondes, mais une fois le log affiché dans l'interface utilisateur, les mises à jour du log devraient intervenir toutes les 3 secondes.
This job does not have a trace dans GitLab 18.0 ou version ultérieure {#error-this-job-does-not-have-a-trace-in-gitlab-180-or-later}Après la mise à niveau d'une instance GitLab Self-Managed vers la version 18.0 ou ultérieure, des erreurs This job does not have a trace peuvent apparaître. Cela peut être causé par l'échec d'une migration de mise à niveau sur une instance présentant les deux conditions suivantes :
ci_enable_live_trace. Ce feature flag est activé par défaut dans les déploiements GitLab Environment Toolkit ou Helm Chart, mais peut également être activé manuellement.Pour restaurer la capacité à afficher les job logs sur les jobs concernés, réactivez la journalisation incrémentielle