CI, CD, CD : de quoi parle- t- on ?
Par intégration continue, on entend l’intégration de changements apportés au code par les différents membres d’une équipe de manière continuelle. Ces intégrations, qui fusionnent dans un répertoire commun les copies de chaque développeur, vont être automatiquement testées ( tests unitaires et d’intégration) par un build de sorte à vérifier que des erreurs ne se soient pas glissées dans les modifications.
La livraison continue, ou Continuous Delivery, reprend cette brique en l’élargissant au dépôt du code vérifié dans un référentiel ( Github, Gitbucket, Gitlab) afin qu’il puisse être déployé par l’équipe d’exploitation. Enfin, le déploiement continu ( Continuous Deployment), là encore CD désigne le transfert automatique des modifications effectuées par le développeur du référentiel vers l’environnement de production. Il se différencie donc de la livraison continue en ce que celle- ci simplifie le passage en production, réalisé par l’équipe d’exploitation, quand le déploiement continu automatise ce même processus.
Mais attention, d’un éditeur à l’autre, les définitions varient, les deux CD étant bien souvent interchangeables et confondues. Ainsi, déploiement et livraison sont parfois opposés comme deux méthodes distinctes, quand d’autres en font deux étapes consécutives d’un même processus. Toujours est- il que tout le monde s’entend sur le fait le CI/ CD repose sur l’automatisation de différentes phases du cycle de vie d’une application. Pour l’ensemble de la chaîne, on parle de “pipeline CI/ CD ”.