Continuous Delivery Ou Livraison Continue

Vous aimerez peut-être aussi

Vous êtes sur la page 1sur 2

Continuous Delivery ou Livraison Continue : qu’est-ce que c’est ?

La Livraison Continue ou Continuous Delivery consiste à automatiser le building, le testing et le


déploiement des modifications apportées au code d’un logiciel ou à une UI (User Interface).
La Continuous Delivery, ou Livraison Continue en français, est une pratique
DevOps consistant à développer, à tester et à délivrer des améliorations au code d’un logiciel ou
aux environnements utilisateurs à l’aide d’outils automatisés. Les équipes de développement
produisent et testent le code par cycles courts.
De cette façon, le code est toujours dans un état déployable. Ainsi, même si la version en cours
de développement d’un logiciel doit être déployée soudainement, ce n’est pas un problème avec
cette approche.
L’objectif est également de raccourcir la  » feedback loop  » pour améliorer la qualité du
logiciel. Le code est régulièrement délivré à l’environnement de test (UAT) ce qui permet de rendre
les causes et les effets observables. Toutes les fonctionnalités du code peuvent être testées, ce qui
permet de réduire les problèmes de performances inattendus une fois en production.

Comment fonctionne la Livraison Continue ou Continuous Delivery ?

La Livraison Continue suit un processus appelé  » Continuous Delivrery Pipeline « . Cette
pipeline commence lorsque le développeur ajoute son code au répertoire source. Une série de tests
automatisés est alors lancée pour assurer la qualité du code.
Une fois le code vérifié, les exécutables sont déployés automatiquement au sein
d’un environnement intermédiaire tels que l’environnement de  » staging  » ou l’UAT. Le code
est alors prêt à entrer en production, et peut être délivré sur demande.

Quels sont les principaux éléments de la Livraison Continue ?


Le bon fonctionnement de la Livraison Continue repose sur trois principes
fondamentaux : l’intégration continue (Continuous Integration), la gestion de configuration, et le
développement test-driven.
L’intégration continue ou Continuous Integration permet de s’assurer que le code sur lequel
travaillent plusieurs développeurs dispersés à plusieurs endroits soit toujours intégré au sein d’un
répertoire commun. Ceci permet d’éviter les conflits entre les commits de code.
La gestion de configuration permet quant à elle l’abstraction des complexités d’un produit dans de
simples configurations. Ceci permet de rendre le logiciel flexible, scalable et léger.
Enfin, le développement  » test-driven «  est l’essence de la Livraison Continue. Il permet
d’assurer que le code soit test et déployé en quelques minutes seulement. Auparavant, les
déploiements s’étendaient sur plusieurs semaines voire plusieurs mois en de multiples releases.

Quels sont les avantages de la Continuous Delivery ?


Même si elle requiert un investissement initial pour mettre en place l’infrastructure et les tests, les
avantages de la Livraison Continue sont multiples.
Tout d’abord, cette approche permet une meilleure qualité des produits. Les outils de testing
automatisés permettent en effet d’améliorer la sécurité, les performances et l’intégration du code.
De plus, les releases sont plus rapides et moins risquées. Les processus manuels de déploiement
pré-production sont éliminés par l’automatisation du build et du déploiement. De fait, les releases
de production ne réservent plus de mauvaises surprises et ne sont plus des moments de panique.
Les nouvelles fonctionnalités étant délivrées plus rapidement et de façon plus fiable, la CL permet
aussi une satisfaction accrue des clients. Le downtime pendant la release peut aussi être minimisé,
et les équipes de développement peuvent recevoir un feedback constant des clients afin de mieux
cerner et répondre à leurs besoins.

Livraison Continue vs Intégration Continue vs Déploiement Continu : quelle


différence ?
La Continuous Delivery ne doit pas être confondue avec l’Intégration Continue et le
Déploiement Continu. Il s’agit de concepts différents, qui représentent les trois étapes de
l’évolution de maturité dans les pratiques de développement.
L’Intégration Continue est la première étape, et fait référence à l’intégration de code individuel
dans l’environnement de développement global après le building et le test. Des outils comme
Jenkins permettent de s’assurer que le code soit compilé, exécuté et testé avant d’être intégré.
La Livraison Continue est la seconde étape, et ne peut fonctionner que si l’intégration continue
est déjà en place. Elle implique des tests de régression, d’UI et de performances pour s’assurer que
le code soit prêt pour la production.
Enfin, le Déploiement Continu va encore plus loin en automatisant le déploiement du code en
production après chaque commit de code et build. Ainsi, le déploiement n’est plus à la demande,
comme c’est le cas avec la livraison continue, mais entièrement automatisé.

Vous aimerez peut-être aussi