
Vous avez déjà construit un pipeline solide, avec des conditions d’exécution et des jobs de déploiement. Le problème maintenant, c’est la vitesse de feedback. Une faute d’indentation YAML ou un stage mal nommé vous oblige à pousser, attendre le pipeline, puis corriger. Ce lab vous apprend à valider votre pipeline avant de pousser pour gagner du temps et éviter les erreurs triviales.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Valider un
.gitlab-ci.ymllocalement avecglab ci lint - Distinguer une erreur YAML d’une erreur logique CI
- Utiliser l’outil CI Lint dans l’interface GitLab
- Réduire les cycles push-attente-correction
Dans quel contexte ?
Section intitulée « Dans quel contexte ? »Quand une équipe a un pipeline simple, les erreurs sont peu fréquentes. Mais dès qu’on ajoute rules, workflow, artifacts, needs, les fautes de configuration deviennent courantes. Un pipeline peut être YAML valide et CI invalide. C’est ce qui provoque les erreurs frustrantes détectées trop tard.
Dans la pratique, valider avant push permet d’éviter :
- des pipelines cassés pour une simple typo
- des jobs bloqués à cause d’un
stageinexistant - des allers-retours inutiles pendant les revues de Merge Request
Prérequis
Section intitulée « Prérequis »- Lab 06 — Contrôler l’exécution terminé
- Avoir
glabinstallé et authentifié - Avoir lu Valider un .gitlab-ci.yml (conseillé)
Point de départ
Section intitulée « Point de départ »-
Placez-vous sur la branche de travail
Fenêtre de terminal cd pipeline-craftgit checkout starter/lab-07 -
Ouvrez
.gitlab-ci.ymlet lisez-le une première foisLa branche de départ contient volontairement des erreurs classiques pour simuler un vrai contexte d’équipe.
Le problème
Section intitulée « Le problème »Dans cette branche, le pipeline peut présenter trois types d’erreurs :
- une erreur de structure YAML (indentation, clé mal positionnée)
- un
stageréférencé par un job mais absent destages: - une dépendance
needsqui pointe vers un job inexistant
L’objectif n’est pas de deviner. L’objectif est de valider systématiquement avec les bons outils.
L’exercice
Section intitulée « L’exercice »Étape 1 — Lancer un lint local
Section intitulée « Étape 1 — Lancer un lint local »-
Exécutez la validation CLI
Fenêtre de terminal glab ci lint .gitlab-ci.yml -
Lisez le message de sortie
Si le lint échoue, GitLab indique généralement la clé fautive et la zone concernée. Corrigez une erreur à la fois, puis relancez la commande.
-
Répétez jusqu’à obtenir un état valide
Valid configuration
Étape 2 — Vérifier dans l’interface GitLab
Section intitulée « Étape 2 — Vérifier dans l’interface GitLab »- Ouvrez votre projet GitLab, puis allez dans Build > Pipeline editor
- Collez le contenu du
.gitlab-ci.yml - Utilisez le bouton de validation (CI Lint) L’interface complète bien la CLI. Elle permet parfois de mieux visualiser la structure du pipeline et les jobs impactés.
Étape 3 — Vérifier la logique CI
Section intitulée « Étape 3 — Vérifier la logique CI »-
Contrôlez la cohérence des stages
Vérifiez que chaque job pointe vers un stage existant.
-
Contrôlez les références
needsSi un job dépend d’un autre job supprimé ou renommé, le pipeline est invalide même si le YAML est correct.
-
Contrôlez les règles
Une règle trop restrictive peut produire un pipeline vide ou des jobs tous skip.
Étape 4 — Routine de validation avant push
Section intitulée « Étape 4 — Routine de validation avant push »-
Exécutez vos validations locales
Fenêtre de terminal glab ci lint .gitlab-ci.ymlruff check app/ tests/pytest -q -
Commitez et poussez seulement après validation
Fenêtre de terminal git add .gitlab-ci.ymlgit commit -m "ci: fix lint issues before push"git push origin starter/lab-07
Vérification
Section intitulée « Vérification »-
glab ci lintretourne une configuration valide - Le pipeline se lance sans erreur de parsing
- Aucun job ne référence un stage absent
- Le premier push après correction passe sans erreur de configuration
Pièges fréquents
Section intitulée « Pièges fréquents »Un lint vert ne signifie pas que tout est parfait. Par exemple, un fichier peut être syntaxiquement valide mais exécuter zéro job à cause de règles trop restrictives. C’est pour cela qu’il faut compléter le lint par une lecture de la logique globale (workflow, rules, needs).
Autre piège : corriger plusieurs zones en même temps. Sur un pipeline long, corriger une erreur à la fois réduit le risque d’introduire une nouvelle faute pendant le correctif.
À retenir
Section intitulée « À retenir »glab ci lintest votre premier filet de sécurité- YAML valide ne veut pas toujours dire pipeline correct
- Valider avant push économise du temps et des minutes CI
- Une routine de validation simple évite la majorité des erreurs triviales