Pipeline CI-CD-CD
Last updated
Last updated
Bibliographie:
Le pipeline CI-CD-CD automatise la création, les tests et la livraison des logiciels, tout en facilitant la collaboration entre les équipes de développement et d'opérations (DEVOPS).
Il vérifie le code pour détecter des erreurs et déploie les modifications sans intervention manuelle.
Grâce à cette automatisation, les équipes collaborent plus efficacement, accélérant les livraisons tout en réduisant les risques d'erreurs humaines.
Le processus assure ainsi une intégration fluide et continue des modifications tout en du développement des logiciels.
La pratique de l'intégration continue () consiste à intégrer automatiquement et régulièrement les modifications de code dans un référentiel de code source partagé.
La distribution et/ou le déploiement continus ( ) désignent quant à eux un processus en deux volets qui englobe:
l'intégration, les tests et,
la distribution des modifications apportées au code.
La distribution continue se limite au déploiement automatique dans les environnements de production, alors que le déploiement continu publie automatiquement les mises à jour dans ces environnements.
À mesure que les applications évoluent, les fonctions de CI/CD peuvent réduire la complexité, accroître l'efficacité et rationaliser les flux de travail.
Grâce à l'automatisation des interventions manuelles généralement nécessaires à la mise en production d'un nouveau code, les temps d'arrêt sont limités et les publications de code sont plus rapides. Par ailleurs, en accélérant l'intégration des mises à jour et des modifications du code, vous accélérez également celle des commentaires des utilisateurs.
Dans l'acronyme CI/CD/CD, le terme « CI » désigne toujours l'intégration continue. Ce processus d'automatisation destiné aux équipes de développement facilite la fusion plus fréquente des modifications de code vers une branche partagée.
Au fur et à mesure de ces mises à jour, des phases de tests automatisés se lancent afin de garantir la fiabilité des modifications du code fusionné.
Le concept de développement d'applications modernes consiste à faire travailler plusieurs développeurs simultanément sur différentes fonctions d'une même application.
Une intégration continue est efficace quand les modifications apportées à une application sont validées par la compilation automatique de l'application et l'exécution de différents niveaux de tests automatisés. Il s'agit de s'assurer que les modifications n'ont pas compromis l'application, notamment au moyen de tests unitaires et d'intégration.
Il faut donc tout tester, des classes aux fonctions, en passant par les différents modules qui composent l'application. Si les tests automatisés révèlent un conflit entre le nouveau code et le code existant, l'intégration continue accélère la correction de ces bogues, à une fréquence plus régulière.
La distribution continue automatise la publication du code validé dans un référentiel suite à l'automatisation des versions et des tests unitaires et d'intégration dans le cadre de l'intégration continue. Ainsi, pour obtenir un processus de distribution continue efficace, il est essentiel de l'intégrer dès le départ dans votre pipeline de développement.
La distribution continue implique une automatisation des tests et des publications de code à chaque étape, du fusionnement des modifications de code à la distribution des versions prêtes pour la production.
À l'issue de ce processus, l'équipe d'exploitation est à même de déployer rapidement une application en production.
Le déploiement continu constitue la dernière étape d'un pipeline CI/CD mature. Prolongement de la distribution continue, il peut désigner le transfert automatique des modifications depuis le référentiel vers l'environnement de production, où elles peuvent être utilisées par les clients.
Le déploiement continu traite le problème de la surcharge des équipes d'exploitation par des processus manuels qui ralentissent la distribution des applications. Il s'appuie sur les bénéfices de la distribution continue pour automatiser l'étape suivante du pipeline.
Dans la pratique, dans le cadre du déploiement continu, une modification apportée à une application cloud pourrait être publiée quelques minutes seulement après la rédaction du code en question (en supposant qu'elle passe les tests automatisés).
En revanche, comme aucun contrôle manuel n'intervient à l'étape qui précède la mise en production, le déploiement continu mise en grande partie sur une automatisation bien pensée des tests.
En conclusion, cette pratique peut exiger un investissement initial conséquent, puisqu'elle implique l'élaboration de tests automatisés pour différentes étapes de test et de mise en production au sein du pipeline CI/CD.
Ensemble, ces pratiques sont souvent désignées par l'expression « pipeline CI/CD » et elles reposent sur une collaboration agile entre les équipes de développement et d'exploitation, que ce soit dans le cadre d'une approche ou d'.