glossaire

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.