Aller au contenu
CI/CD & Automatisation medium

Fondamentaux GitLab CI/CD

9 min de lecture

Ce volet vous rend capable d’écrire et déboguer un pipeline GitLab CI/CD complet. En 16 modules, vous passez de « je ne sais pas ce qu’est un stage » à « je sais structurer un pipeline propre, gérer les variables, contrôler l’exécution avec rules, publier des images et packages, activer les scanners de sécurité, et surtout déboguer quand ça ne marche pas ».

Pas de théorie abstraite : chaque concept est rattaché à un cas d’usage réel. Vous apprenez à poser les bonnes questions, utiliser les bons mots-clés YAML, et résoudre les problèmes avant qu’ils n’arrivent en production.

Ce volet s’adresse à trois profils :

Le débutant motivé — Vous n’avez jamais écrit de .gitlab-ci.yml. Vous savez que GitLab peut « lancer des tests automatiquement », mais vous ne savez pas par où commencer. Vous voulez comprendre la logique avant de copier-coller des exemples.

Le dev qui subit la CI — Vous modifiez parfois le pipeline de votre projet, mais dès qu’un job reste « pending » ou « skip », vous êtes bloqué. Vous savez que le problème est « quelque part dans le YAML », mais vous ne savez pas où chercher.

L’ops qui veut structurer ses connaissances — Vous avez appris GitLab CI/CD sur le tas, en dépannant des pipelines cassés. Vous voulez combler les trous, comprendre les mécanismes sous-jacents, et avoir une méthodologie de débogage systématique.

À la fin de ce volet, vous serez capable de :

  1. Structurer un .gitlab-ci.yml : stages, jobs, scripts, avec les bonnes pratiques.
  2. Comprendre les runners : savoir pourquoi un job s’exécute sur telle machine, avec tels tags.
  3. Gérer artifacts et cache : stocker les résultats, accélérer les builds, éviter les pièges.
  4. Utiliser les variables : scopes, précédence, variables CI_*, secrets protégés.
  5. Contrôler l’exécution avec rules : conditions if, changes, exists, when.
  6. Configurer les déclencheurs : push, MR, tags, schedules, manual.
  7. Utiliser les environnements : dev, staging, prod, stop actions.
  8. Générer des rapports : junit, coverage, artifacts reports.
  9. Déboguer “pending” : identifier runner absent, tags mismatch, quotas.
  10. Déboguer “skip” : comprendre workflow:rules vs rules, only/except legacy.

Vous avez déjà vu un pipeline GitLab dans l’interface web. Vous avez vu des jobs verts, rouges, ou gris. Ce volet accroche les concepts sur ces expériences : on part de ce que vous voyez (le job bloqué) pour remonter à la cause (le runner mal taggé).

La formation suit un chemin structuré :

PhaseModulesCe que vous apprenez
Bases1-6Pipeline, anatomie YAML, validation, logs, runners, artifacts/cache
Contrôle7-10Variables, rules, déclencheurs, environnements
Qualité11Rapports junit, coverage
Débogage12-13Pending, skip
Synthèse14Pipeline complet

Chaque module s’appuie sur les précédents. Vous ne verrez pas rules (module 7) avant d’avoir compris les variables (module 6).

On n’apprend pas les runners « parce que c’est au programme ». On les apprend parce que 30% des jobs “pending” sont des problèmes de tags. On n’apprend pas workflow:rules pour la culture générale, mais parce que c’est la cause des pipelines qui ne démarrent pas.

ModuleContenuCompétence cléLab associé
1. Premiers pas avec GitLab CI/CDConcepts pipeline, stage, jobComprendre le vocabulaire
2. Écrire un fichier .gitlab-ci.ymlStructure YAML, stages, jobs, scriptÉcrire un pipeline minimalLab 01
3. Valider son pipelinePipeline Editor, CI Lint, API, IDEDétecter les erreurs YAML avant pushLab 07
4. Debug : lire les logsLogs, sections, erreursComprendre pourquoi un job échoueLab 02
5. RunnersExecutors, tags, shared/specificSavoir où s’exécute un jobLab 03
6. Artefacts et cacheStockage, rétention, performanceOptimiser les buildsLab 04
ModuleContenuCompétence cléLab associé
7. Variables et secretsScopes, CI_*, protected, fileParamétrer les jobsLab 05
8. Conditions (rules)if, changes, exists, whenContrôler quand un job s’exécuteLab 06
9. DéclencheursPush, MR, tags, schedules, manualComprendre les sources de pipelineLab 08
10. Environnementsdev/staging/prod, stop actionsGérer les déploiements
ModuleContenuCompétence cléLab associé
11. Rapports qualitéjunit, coverage, artifacts reportsExploiter les résultats de testsLab 10
ModuleContenuCompétence cléLab associé
12. Dépannage “pending”Runner absent, tags, quotasDébloquer un jobLab 11
13. Dépannage “skip”workflow:rules, rules, only/exceptComprendre pourquoi ça ne démarre pasLab 11
ModuleContenuCompétence cléLab associé
14. Synthèse : pipeline completMini-capstone, checklist prodAssembler tout ce que vous avez appris
ModuleContenuCompétence cléLab associé
15. Registries GitLabContainer Registry, Package Registry, Dependency Proxy, kanikoConstruire et publier images et packagesLab 09
16. Scanners de sécuritéSAST, DAST, Secret Detection, Dependency/Container ScanningDétecter les vulnérabilités dans la MR

Rythme : 2 à 3 modules par semaine. Chaque module demande 20 à 45 minutes de lecture + pratique.

Pratique systématique : Après chaque module, créez un repo de test et écrivez le YAML correspondant. Un concept non pratiqué est un concept oublié.

Prise de notes : Gardez une « cheatsheet » personnelle avec les mots-clés YAML et les patterns que vous découvrez. Elle vous servira en dépannage.

Vous aurez un pipeline de référence que vous pourrez adapter à vos projets. Ce pipeline inclura :

  • Une structure claire (stages logiques, jobs bien nommés)
  • Des variables bien scopées (projet, groupe, pipeline)
  • Des rules qui contrôlent précisément l’exécution
  • Des artifacts et cache configurés pour la performance
  • Une gestion des environnements (dev → staging → prod)
  • Des rapports de tests intégrés

Surtout, vous aurez une méthodologie de débogage : face à un job “pending”, “skip” ou “failed”, vous saurez exactement où chercher.

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