Livraison continue
La livraison continue automatise le processus de publication des applications avec des déploiements prévisibles et reproductibles.
La livraison continue (CD) est une pratique de développement logiciel qui fonctionne de pair avec l'intégration continue pour automatiser le processus de publication des applications.
Elle vise à accélérer les déploiements logiciels, réduire les erreurs humaines et améliorer la qualité des applications tout au long du cycle de vie du développement.
Les équipes de développement logiciel suivent des cycles courts et continus pour mettre à jour le code, tout en faisant appel à l'automatisation pour accélérer la sortie des nouvelles versions. La livraison continue comprend toutes les étapes du cycle de production : le build, les tests, la configuration et le déploiement. L'objectif final est de livrer rapidement le logiciel aux utilisateurs.
La livraison continue est souvent perçue comme une extension de l'intégration continue (CI) et ces deux pratiques (intégration et livraison continues) sont généralement regroupées sous les termes CI/CD.
Cette approche consiste à intégrer du code dans un dépôt partagé et à compiler/tester chaque modification dès que possible, automatiquement et généralement plusieurs fois par jour.
Lorsque l'intégration continue a compilé et testé le code dans un dépôt partagé, la livraison continue prend le relais au cours des étapes finales pour garantir que les versions logicielles sont sûres, cohérentes et reproductibles.
La livraison continue et le déploiement continu sont souvent utilisés de manière interchangeable, mais il existe une différence subtile. La livraison continue signifie que tout code validé par l’intégration continue (CI) est automatiquement déployé en production. En revanche, la livraison continue garantit que ce code est prêt à être déployé. La flexibilité de déploiement du code est ce qui différencie la livraison du déploiement. La pratique du déploiement continu est possible lorsque la livraison continue est déjà en place.
Les équipes de développement bénéficient de nombreux autres avantages lorsqu'elles utilisent le cycle du développement logiciel (SDLC) pour publier des logiciels, notamment des suivants :
- Automatisation du processus de publication de logiciels
- Coûts inférieurs à ceux du développement logiciel traditionnel
- Amélioration de la productivité
- Identification et résolution rapide des bogues
- Délai de mise sur le marché plus court grâce à des tests et un développement continus
Les nouvelles versions sont sûres, ce qui évite les problèmes et les surprises. La livraison continue supprime également les goulots d'étranglement au niveau du déploiement. Le pipeline ne rencontre aucun obstacle avant que la nouvelle version n'arrive jusqu'aux utilisateurs finaux. Il est possible de déployer en toute confiance, car le code peut être déployé et restauré à la demande.
La livraison continue comprend toutes les étapes du cycle de production : le build, les tests, la configuration et le déploiement.
Souvent associée à des processus DevOps, la livraison continue (CD) produit des logiciels en cycles courts. De cette façon, les équipes peuvent compiler, tester, configurer et publier des logiciels plus fréquemment. Le code est soumis à des tests complets pour vérifier le bon fonctionnement de toutes les fonctionnalités afin de réduire les problèmes de performance inattendus en production.
Tout composant qui réussit les tests automatisés peut être intégré dans la version de release. La phase finale comprend un dernier contrôle humain, puis un push vers le déploiement.
Étapes : build, tests, configuration et déploiement.
Workflows : généralement, un développeur écrit du code et fait un check-in à l'aide d'un système de contrôle de version ou d'un outil de gestion de configuration. Le code est ensuite compilé et empaqueté dans un artefact, lui-même stocké dans un dépôt.
Environnements : il s'agit de l'infrastructure ciblée pour le déploiement, qui peut inclure un cluster Kubernetes, une instance de cloud public ou un data center privé sur site.
Pipelines : les pipelines classiques se concentrent sur des domaines spécifiques, y compris les build automatisés, les tests et la phase de staging des déploiements en un seul processus continu.
Déclencheurs : un déclencheur initie un événement qui lance le processus de pipeline. Un déclencheur peut être manuel ou automatisé dans le pipeline CI/CD. Il peut par exemple s'agir d'un nouvel artefact ou d'une durée récurrente.
L'une des principales caractéristiques d'un pipeline de CD automatisé est la possibilité d'automatiser les tests et les sorties. La phase de test doit inclure à la fois des tests fonctionnels et non fonctionnels. Le recours à un pipeline automatisé pour les releases permet une approche « fail fast » et les tests les plus susceptibles d'échouer sont ceux qui sont exécutés en premier.
Un pipeline automatisé offre également une visibilité sur le code, renforçant ainsi la confiance dans sa fiabilité à chaque étape du processus de livraison continue.
Lorsque le pipeline de livraison de logiciels est automatisé, il n'est plus nécessaire d'exécuter des tâches manuelles, souvent sujettes à des erreurs et coûteuses. Les équipes peuvent aussi détecter les problèmes dans le code et le rejeter, puis partager rapidement leurs retours.
Maintenir la sécurité tout au long du cycle de développement logiciel est primordial. Il est essentiel de s'assurer que les équipes de sécurité et de développement communiquent et collaborent dans le but de comprendre leurs différents objectifs et leurs priorités.
L'application de la méthode de livraison continue aux tests de sécurité permet de rationaliser le processus et de réduire la charge de travail des équipes de sécurité. Chaque nouvelle portion de code déployée dans des modèles de livraison continue peut être analysée plus rapidement, ce qui facilite la détection et la correction des failles.
Le modèle de développement d’applications en chaîne n’est plus viable. Si les équipes de sécurité doivent attendre qu'une application soit terminée avant de corriger les vulnérabilités, elles ne pourront jamais suivre le rythme et la demande en matière d'innovations.
Pour exploiter pleinement la livraison continue (CD), les équipes doivent communiquer et collaborer en permanence tout au long du processus DevSecOps. Les mentalités doivent évoluer afin que les développeurs et les équipes de sécurité puissent tirer parti de ses avantages.
La livraison continue est une pratique de développement logiciel qui permet de créer des logiciels de manière à ce qu'ils puissent être mis en production à tout moment. Elle joue un rôle clé dans les processus DevOps, en servant de pilier pour combler le fossé entre les équipes de développement et les équipes des opérations.
L'approche DevOps vise à rapprocher les équipes de développement et celles des opérations au sein d'une entreprise. La culture DevOps brise les silos traditionnels et unifie les équipes, les processus et les technologies pour améliorer la collaboration et la coordination. Cette approche permet de déployer rapidement de nouvelles fonctionnalités, améliorations ou modifications de code, afin de les livrer aux clients le plus efficacement possible.
Cependant, le processus de livraison de logiciels demeure complexe, même si les équipes de développement, des opérations informatiques, d'ingénierie de la qualité et de sécurité travaillent toutes main dans la main. L'approche DevOps organise la livraison de logiciels en plusieurs étapes : planification, développement, publication, déploiement et exploitation.
Suggestions de contenu
Commencez à livrer des logiciels de meilleure qualité plus rapidement
Découvrez comment la plateforme DevSecOps intelligente
peut aider votre équipe.




