Source: Dev.to | Jan 27, 2026 (UTC)
Le problème avec l’apprentissage “théorique” de la CI/CD
Quand j’ai commencé à apprendre GitLab CI/CD dans le cadre de mon TP en BUT Réseaux & Télécoms, j’ai fait comme tout le monde : j’ai lu la documentation officielle, regardé quelques tutoriels YouTube, et copié-collé des exemples.
Résultat ? Rien ne fonctionnait vraiment. Ou plutôt, ça fonctionnait… mais je ne comprenais pas pourquoi.
- Pourquoi ce job reste en “pending” pendant 10 minutes ?
- C’est quoi la différence entre un
stageet unjobconcrètement ? - Pourquoi mon image Docker ne se build pas alors que le YAML est valide ?
- Comment on sécurise une pipeline ? Est-ce qu’on peut juste “build et push” sans vérifier quoi que ce soit ?
La doc GitLab est excellente… pour quelqu’un qui sait déjà ce qu’il cherche. Mais quand tu débutes, tu as besoin de casser, réparer, comprendre.
C’est exactement pour ça que j’ai créé GitLab CI Learning.
L’idée : un “bac à sable” pédagogique
Au lieu de partir sur un vrai projet avec 50 fichiers et des dépendances complexes, j’ai voulu créer un repo volontairement simple, avec :
Un Dockerfile minimal (une app Python/Flask basique)
Une pipeline .gitlab-ci.yml progressive (du plus simple au plus complet)
Des étapes claires : compliance, build, security
Des commentaires explicatifs dans le code
Des erreurs documentées (celles que j’ai réellement rencontrées)
Le principe ? Apprendre par la pratique, pas juste en lisant.
Les objectifs concrets de ce repo
Objectif 1 : Comprendre la structure d’une pipeline
Avant de faire du “DevSecOps avancé”, il faut maîtriser les bases :
- Pipeline = l’ensemble du processus CI/CD
- Stages = les grandes étapes (basic, build, test, deploy…)
- Jobs = les tâches concrètes à l’intérieur de chaque stage
Dans mon projet, je pars d’une pipeline ultra-simple :
stages: - basic basic: stage: basic script: - echo "Pipeline fonctionnelle !"
Enter fullscreen mode
Exit fullscreen mode


Залишити відповідь