Un pipeline CI/CD automatise la construction, les tests et le déploiement d'une application à chaque changement de code. Il transforme la livraison en un processus rapide, répétable et fiable.
Points clés
- CI : build et tests automatisés
- CD : build d'image et déploiement
- Implémentation : GitHub Actions et GitLab CI
CI : build et tests automatisés
L'intégration continue se déclenche à chaque push ou pull request : elle installe les dépendances, compile, exécute les tests unitaires et le linting, et échoue vite en cas de problème. On enseigne à garder la CI rapide (cache des dépendances, parallélisation) car une CI lente est contournée. Le statut vert devient la condition de merge.
CD : build d'image et déploiement
Une fois la CI verte, l'étape de livraison construit une image Docker, la tague (par exemple avec le SHA du commit) et la pousse vers un registre. Le déploiement suit, soit en poussant vers l'environnement, soit en mettant à jour un dépôt GitOps qu'Argo CD synchronisera. On distingue déploiement continu (automatique) et livraison continue (validation manuelle avant prod).
Implémentation : GitHub Actions et GitLab CI
Concrètement, GitHub Actions définit des workflows en YAML avec des jobs et des steps déclenchés par des events ; GitLab CI utilise .gitlab-ci.yml avec des stages et des jobs exécutés par des runners. On enseigne les secrets de pipeline, les environnements protégés et la matrice de tests. Les deux suivent la même logique d'étapes enchaînées.
En pratique
Scénario. TP de 3 heures : créer un workflow GitHub Actions (ou un .gitlab-ci.yml) pour une petite app, avec un job de tests, un job de build/push d'image vers un registre, et un déploiement conditionné au succès des tests. Ajouter le cache des dépendances. Livrable : un pipeline qui passe au vert sur une PR, publie une image taguée et déploie automatiquement sur merge.
Questions fréquentes
Quelle différence entre livraison continue et déploiement continu ?
La livraison continue prépare automatiquement une version déployable mais laisse une validation humaine avant la production. Le déploiement continu va jusqu'à la production sans intervention manuelle.
Pourquoi taguer les images avec le SHA du commit ?
Pour garantir la traçabilité : chaque image correspond exactement à un état du code. Cela facilite le rollback et évite l'ambiguïté du tag latest.
Pour aller plus loin
Pour approfondir : Apprendre terraform pas a pas · Automatiser avec ansible. Et le reste de nos ressources pour les écoles, OF et formateurs.
Besoin d'un formateur expert ou envie de transmettre ?
tonformateur connecte les écoles et organismes de formation avec des intervenants experts du terrain.
Voir les cours à pourvoir Explorer l'annuaire d'outils →