Pipeline CI/CD (intégration et déploiement continus)
Un pipeline CI/CD est la chaîne automatisée qui prend chaque changement de code et le conduit jusqu’à un artefact déployable — voire jusqu’en production — en le construisant, le testant et le validant au passage. C’est l’ossature de l’industrialisation logicielle : ce que le pipeline ne vérifie pas automatiquement finira par casser silencieusement.
CI, CD et l’autre CD
L’intégration continue (CI) consiste à fusionner et vérifier les changements fréquemment : chaque commit déclenche compilation, tests et analyses, et un échec bloque l’intégration. La livraison continue (continuous delivery) prolonge la chaîne jusqu’à un artefact prêt à déployer à tout moment — le déploiement effectif restant une décision humaine. Le déploiement continu (continuous deployment) supprime cette dernière intervention : tout changement qui passe le pipeline part en production. Les deux « CD » sont souvent confondus ; la différence — un clic humain — est pourtant un choix d’organisation structurant.
Anatomie
Un pipeline s’écrit comme une suite d’étapes (stages) contenant des
travaux (jobs) exécutés par des agents (runners) : construction,
tests, création et publication de l’artefact (image de conteneur, paquet),
puis déploiement par environnement. Les jobs d’un même stage tournent en
parallèle ; un stage n’ouvre que si le précédent a réussi. La définition vit
dans le dépôt, versionnée avec le code (.gitlab-ci.yml, workflows GitHub
Actions), ce qui rend la chaîne auditable et rejouable.
Ce qui distingue un bon pipeline
Trois propriétés se dégradent vite si personne n’y veille. La vitesse : au-delà d’une dizaine de minutes entre le commit et le verdict, les développeurs cessent d’attendre le résultat, et le pipeline perd son rôle de garde-fou — d’où l’importance des caches de dépendances et de la parallélisation. La reproductibilité : un même commit doit produire le même artefact, ce qui suppose des versions d’outils figées et des environnements d’exécution maîtrisés. L’idempotence du déploiement : rejouer le pipeline ne doit rien casser.
Restent les sujets qui fâchent en production : les secrets (injectés par le système de CI ou un coffre, jamais dans le dépôt), le dimensionnement des runners — goulet d’étranglement classique — et la tentation inverse de l’automatisation : l’usine à gaz de templates que plus personne n’ose toucher. Un pipeline est un livrable comme un autre ; il se maintient, se simplifie et se documente.