livraison cotinue continuous delivery définition

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. Découvrez tout ce que vous devez savoir à ce sujet.

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 (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.

continuous delivery livraison

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é.

 

Newsletter

Envie de ne louper aucun de nos articles ? Abonnez vous pour recevoir chaque semaine les meilleurs actualités avant tout le monde.

Cliquez pour commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *