CI/CD

L’acronyme CI/CD correspond à l’étape suivant la conception du développement d’un logiciel. Ce terme peut paraître un peu confus, mais nous allons comprendre cela ensemble.
CI signifie Continuous Integration (intégration continue) et CD signifie Continuous Deployment (déploiement continu) ou Continuous Delivery (livraison continue).

Bien que les principes de base soient relativement similaires, il existe des différences fondamentales qui définissent ces termes ainsi le résultat sera totalement différent. L’automatisation du travail répétitif des ingénieurs et la réduction de la nécessité de gérer des processus ennuyeux et détaillés sont d’une importance capitale à cet égard. Cependant, comme pour toute l’ingénierie, le diable est dans les détails.

Qu’est-ce que l’intégration continue ?

L’intégration continue est, du moins en théorie, la moitié la moins problématique de l’équation. Cette pratique utilise des outils d’automatisation qui permettent aux équipes de développement de construire et de tester le code après chaque fusion aussi facilement que possible.

Les développeurs travaillant dans le paradigme CI fusionnent leurs changements avec le code principal aussi souvent que possible. Ça a l’air simple. Les logiciels modernes sont composés de divers composants construits à l’aide d’une multiplicité de technologies, y compris des langages de programmation, des plates-formes et des clouds – pour ne citer que ceux qui sont évidents.

La composante clé de l’écosystème CI/CD est l’environnement de test, qui réduit le temps de test en repérant automatiquement les bug les plus graves aux premiers stades de la livraison du logiciel. Les tests de code automatisés facilitent le processus.

La fusion fréquente de petits morceaux de code est un bon moyen d’éviter de futurs conflits – tous les membres de l’équipe ont accès à la base de code la plus récente et peuvent assurer la compatibilité du code engagé en déplacement. L’exécution régulière de tests d’intégration est cruciale pour maintenir la cohérence du logiciel.

Qu’est-ce que la livraison continue ?

Axée sur le maintien du code prêt à être déployé à tout moment, la livraison continue est une suite naturelle à l’intégration continue. Il ne faudrait pas mettre en production un code bugué. Au contraire, tous les ensembles de fonctionnalités sont prêts à l’emploi, et la dernière version est prête à être livrée à tout moment.
CD remet en question les moyens traditionnels de publier du code, évitant l’approche big-bang et optant plutôt pour la mise à disposition de nouvelles versions à la demande, parfois même plusieurs fois par jour. En fin de compte, cela rend le code plus résistant aux bugs. Avec des lots plus petits, il est plus facile de gérer la correction de ceux-ci.