Aller au contenu
CI/CD : les principes

CI/CD : les principes

100 Comprendre ⏱ 5 h 35 gitdockerci-cd

À la fin, vous saurez

  • Expliquer l'intégration continue comme une pratique d'équipe, et pas comme un outil
  • Décrire les éléments d'un pipeline : déclencheur, agent, étapes, artefacts, cache, statut
  • Ordonner les vérifications d'un pipeline pour obtenir un retour rapide et fiable
  • Distinguer livraison continue et déploiement continu, et promouvoir un même artefact d'un environnement à l'autre
  • Identifier les principaux risques de sécurité d'un pipeline et les mesures qui les réduisent
  • Calculer et interpréter les indicateurs DORA, puis choisir un outil de CI/CD en connaissance de cause

Prérequis

Ce cours ouvre le chapitre Livrer. Il s'adresse à toute personne qui travaille sur du logiciel en équipe, développeur, administrateur, responsable technique, et qui entend parler de CI/CD sans savoir précisément ce que le terme recouvre, ou qui utilise déjà un outil (GitHub Actions, GitLab CI, Jenkins) sans en connaître les principes. Il ne suppose aucune expérience de ces outils, mais une aisance avec Git (branches, fusion) et avec docker run.

L'approche

Les outils de CI/CD changent tous les cinq ans ; les principes sur lesquels ils reposent datent des années 1990 et n'ont presque pas bougé. Ce cours enseigne donc les principes, sans dépendre d'un produit : à la leçon 2, vous construisez vous-même un petit serveur d'intégration continue, avec un dépôt Git, un crochet de quelques dizaines de lignes et Docker. Il est volontairement minimal, et c'est ce qui le rend instructif : chaque fonction d'un vrai outil (agents jetables, journaux, artefacts, secrets, promotion entre environnements) y est ajoutée à la main, au moment où l'on en a besoin, et l'on voit ce qu'elle coûte et ce qu'elle protège.

L'application qui sert d'exemple est Signalements, la petite API Flask des cours Docker : les fondamentaux et Construire des images de conteneurs. Les cours suivants du chapitre (GitHub Actions, GitOps avec Argo CD) reprennent ces principes avec des outils de production.

Ce qu'il faut installer

  • Git 2.38 ou plus récent (la leçon 1 utilise git merge-tree --write-tree).
  • Docker Engine, comme dans les cours précédents.
  • Aucun compte chez un fournisseur : tout tourne sur votre machine.

Plan du cours

  1. Intégrer en continu 45 min 100 Comprendre
    L'intégration continue est une pratique d'équipe avant d'être un outil : intégrer chaque jour dans une branche commune, vérifier automatiquement le résultat, réparer immédiatement. Démonstration d'une fusion Git sans conflit qui casse pourtant l'application.
  2. Anatomie d'un pipeline 1 h 100 Comprendre
    Déclencheur, définition versionnée, agent, espace de travail jetable, étapes, codes de sortie, journaux, artefacts, cache et statut : chaque pièce d'un pipeline, montrée en construisant un serveur d'intégration continue de cinquante lignes avec Git et Docker.
  3. Tests et qualité dans le pipeline 1 h 100 Comprendre
    Quelles vérifications mettre dans un pipeline, dans quel ordre, et comment garder un retour rapide et fiable : analyse statique, tests unitaires, tests d'intégration contre un vrai PostgreSQL éphémère, couverture, et chasse aux tests instables.
  4. Livraison continue et déploiement continu 1 h 100 Comprendre
    Prolonger le pipeline jusqu'à la production : construire l'artefact une seule fois, l'identifier par son empreinte, le tester tel qu'il sera livré, le déployer automatiquement en recette, le promouvoir en production d'un geste, et revenir en arrière en quelques secondes.
  5. Sécuriser le pipeline 1 h 100 Comprendre
    Un pipeline exécute du code à la demande de ses contributeurs et détient les clés de la production : c'est une cible. Les risques, du plus courant au plus grave, et les défenses qui les réduisent, mises en œuvre sur notre serveur : moindre privilège, secrets jamais exposés aux branches et masqués dans les journaux, actions épinglées par empreinte, exécution de demande de fusion isolée.
  6. Mesurer : les indicateurs DORA 50 min 100 Comprendre
    Savoir si un pipeline rend vraiment service : les indicateurs DORA (fréquence de déploiement, délai de livraison, taux d'échec des changements, délai de rétablissement, taux de reprise), calculés pour de vrai depuis un journal de déploiements, et comment ne pas les transformer en pièges.

Sources