Aller au contenu
CI/CD & Automatisation medium

Lab 07 — Valider un pipeline

6 min de lecture

logo gitlab

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.

  • Valider un .gitlab-ci.yml localement avec glab 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

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 stage inexistant
  • des allers-retours inutiles pendant les revues de Merge Request
  1. Placez-vous sur la branche de travail

    Fenêtre de terminal
    cd pipeline-craft
    git checkout starter/lab-07
  2. Ouvrez .gitlab-ci.yml et lisez-le une première fois

    La branche de départ contient volontairement des erreurs classiques pour simuler un vrai contexte d’équipe.

Dans cette branche, le pipeline peut présenter trois types d’erreurs :

  • une erreur de structure YAML (indentation, clé mal positionnée)
  • un stage référencé par un job mais absent de stages:
  • une dépendance needs qui pointe vers un job inexistant

L’objectif n’est pas de deviner. L’objectif est de valider systématiquement avec les bons outils.

  1. Exécutez la validation CLI

    Fenêtre de terminal
    glab ci lint .gitlab-ci.yml
  2. 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.

  3. Répétez jusqu’à obtenir un état valide

    Valid configuration
  1. Ouvrez votre projet GitLab, puis allez dans Build > Pipeline editor
  2. Collez le contenu du .gitlab-ci.yml
  3. 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.
  1. Contrôlez la cohérence des stages

    Vérifiez que chaque job pointe vers un stage existant.

  2. Contrôlez les références needs

    Si un job dépend d’un autre job supprimé ou renommé, le pipeline est invalide même si le YAML est correct.

  3. Contrôlez les règles

    Une règle trop restrictive peut produire un pipeline vide ou des jobs tous skip.

  1. Exécutez vos validations locales

    Fenêtre de terminal
    glab ci lint .gitlab-ci.yml
    ruff check app/ tests/
    pytest -q
  2. Commitez et poussez seulement après validation

    Fenêtre de terminal
    git add .gitlab-ci.yml
    git commit -m "ci: fix lint issues before push"
    git push origin starter/lab-07
  • glab ci lint retourne 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

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.

  • glab ci lint est 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

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn