Article mis à jour le 3 octobre 2022 | Publié le 4 mai 2021
Lorsque vous travaillez en équipe sur un même projet, il est important de savoir s’organiser pour être efficace et livrer un projet fonctionnel à temps.
L’approche CI / CD permet une diminution du temps lors de la mise en production. C’est une aide précieuse pour réaliser les tests unitaires et fonctionnels de façon automatisée.
Cette approche fait partie intégrante du DevOps, si vous n’avez pas encore lu notre article, nous vous invitons à le découvrir.
Les concepts derrière CI / CD
Lorsque l’on parle de l’approche CI / CD, on fait référence à 3 concepts qui sont : l’intégration continue (Continuous Integration), la distribution continue (Continuous Delivery) et le déploiement continu (Continuous Deployment).
CI / CD est une approche qui s’adapte très bien aux besoins de chaque projet web ou logiciel. En effet, l’approche est modulable, il peut arriver, dans certains projets, que les 3 concepts ne soient pas utilisés ensemble.
Ce qu’on peut observer le plus souvent dans ces projets c’est que les équipes de développement privilégient l’intégration continue et la distribution continue sans utiliser le déploiement continu et ainsi, garder la main sur cette étape.
Chaque équipe adapte à chaque projet l’approche CI / CD avec les tests, les automatisations et les déploiements nécessaires.
Les différentes approches
L’intégration continue (CI)
Le principe de l’intégration continue repose sur la fréquence de fusion du code des différents développeurs. Que ce soit pour une simple modification comme pour pour l’ajout d’une nouvelle fonctionnalité, l’objectif est de travailler en équipe sur des fichiers régulièrement mis à jour. Cela permet de tester le code et de déceler des erreurs rapidement.
Ces tests sont prédéfinis par le DevOps et entièrement automatisés. Ainsi, à chaque fois qu’un développeur effectue une demande de fusion, les tests vérifient le code et s’assurent qu’il n’y aura pas de dysfonctionnement. En cas d’erreur, le test qui n’a pas abouti est identifiable par le développeur qui pourra faire les modifications nécessaires.
La distribution continue (CD)
La distribution continue permet d’automatiser la publication du code dans une branche de pré-production (stage) à condition que celui-ci soit préalablement validé par les tests automatisés.
Cette automatisation de publication peut se faire via des tests supplémentaires toujours définis par le DevOps. Grâce à cette approche, il devient plus facile et plus rapide de déployer le projet dans un environnement de production.
Le déploiement continu (CD)
Le déploiement continu permet d’automatiser la publication du code depuis la branche de pré-production en production.
D’autres tests peuvent être définis par le DevOps afin de s’assurer que le déploiement se déroule sans erreurs. Ainsi, toutes les modifications apportées dans le projet sont automatiquement livrées au client à condition que les tests soient validés.
Les avantages de l’approche CI / CD
La mise en place d’une approche CI /CD peut s’avérer complexe au départ car il faut écrire manuellement tous les tests dont le projet aura besoin. Cependant, une fois cette étape réalisée, de nombreux avantages en découlent.
L’automatisation des tests permet une mise en production et un déploiement plus rapide.
La détection des bugs grâce aux différents niveaux de tests facilite leur correction. Ainsi le code reste propre et stable.
L’approche CI / CD favorise l’évolution constante dans les projets car chaque modification est intégrée, testée, distribuée puis déployée petit à petit.
Si cet article vous a intéressé, n’hésitez pas à consulter notre rubrique DevOps.