Jump to section

La distribution continue, qu'est-ce que c'est ?

Copier l'URL

La distribution continue est une pratique de développement logiciel qui utilise l'automatisation pour accélérer le lancement de nouveaux codes.

Elle établit un processus par lequel les modifications qu'apporte un développeur à une application peuvent être transférées vers un référentiel de codes ou un registre de conteneurs grâce à l'automatisation.

La distribution continue est une composante de la méthode CI/CD, qui permet d'accélérer le rythme de distribution des logiciels en automatisant certaines étapes du développement. 

Le sigle CI signifie « Continuous Integration » en anglais, que l'on traduit par « intégration continue ». Cette pratique consiste à apporter régulièrement des modifications au code des applications, à les tester, puis à les fusionner dans un référentiel partagé. Cette solution permet d'éviter de travailler en même temps sur un trop grand nombre d'éléments d'une application, qui pourraient entrer en conflit les uns avec les autres.

Le sigle CD peut signifier « Continuous Deployment » ou « Continuous Delivery » en anglais. Il fait référence au déploiement continu ou à la distribution continue, des stratégies d'automatisation des étapes ultérieures du pipeline.

CI/CD FLow

Les concepts de distribution continue et de déploiement continu, bien qu'ils soient étroitement liés, sont parfois utilisés séparément pour préciser le degré d'automatisation.

En général, dans le cadre de la distribution continue, les modifications apportées par l'équipe de développement à une application sont automatiquement testées et chargées dans un référentiel (tel que GitHub ou un registre de conteneurs), où elles peuvent être déployées dans un environnement de production actif par l'équipe d'exploitation. Le processus de distribution continue permet de résoudre les problèmes de visibilité et de communication entre l'équipe de développement et l'équipe métier. Son objectif est donc de simplifier au maximum le déploiement du nouveau code.

Le déploiement continu couvre des étapes supplémentaires du processus de lancement d'un logiciel. Généralement, il inclut le transfert automatique des modifications du développeur depuis le référentiel vers l'environnement de production, où elles peuvent être utilisées par les clients. Ce processus permet de soulager les équipes d'exploitation surchargées par les tâches manuelles qui ralentissent la distribution des applications. Il repose sur la distribution continue et automatise l'étape suivante du pipeline.

La transformation d'une entreprise demande de la pratique

Découvrez comment la transformation numérique ouverte offre de meilleurs résultats grâce à trois études de cas client.
 

Un pipeline CI/CD est une série d'étapes à réaliser en vue de la distribution d'une nouvelle version d'un logiciel. Lorsque l'approche CI/CD a été mise en pratique, un pipeline CI/CD a été établi.

Un pipeline CI/CD utilise la surveillance et l'automatisation pour améliorer le workflow de développement des applications, en particulier lors des phases d'intégration et de tests ainsi que pendant la distribution et le déploiement. 

Même s'il est possible d'exécuter manuellement chacune des étapes, tout l'intérêt de ce pipeline réside dans l'automatisation du cycle de vie de l'application.

Le concept du DevOps combine des pratiques de développement et d'exploitation (« Development » et « Operations » en anglais). Cette approche de la culture informatique, de l'automatisation et de la conception de plateformes consiste à accroître la valeur métier et à optimiser la réactivité des entreprises grâce à une distribution plus rapide et efficace des services.

La distribution continue est une pratique de développement logiciel spécifique, qui est souvent appliquée en lien avec le DevOps. Il est donc très probable qu'une approche DevOps entraîne la création d'un pipeline de distribution continue.

Le DevOps décrit des approches d'accélération des processus selon lesquels une idée (par exemple, une nouvelle fonction logicielle, une demande d'amélioration ou la correction d'un bogue) passe de la phase de développement à celle du déploiement dans un environnement de production où elle peut apporter de la valeur à l'utilisateur. 

Dans le cadre d'une approche DevOps, les développeurs, qui travaillent généralement dans un environnement de développement standard, collaborent étroitement avec les équipes d'exploitation et les testeurs pour accélérer la création des versions de logiciels, l'enregistrement du code, les tests unitaires et les lancements sans pour autant sacrifier la fiabilité.

L'un des principaux résultats de la mise en œuvre du DevOps est la création d'un pipeline CI/CD, pour lequel les équipes de développement et d'exploitation travaillent ensemble de manière agile

L'approche CI/CD s'appuie sur l'automatisation pour accélérer les processus de développement, de déploiement et de test. L'automatisation assure la qualité des processus et réduit le nombre d'erreurs humaines. Elle peut également prendre en charge la sécurité dans le cadre d'une stratégie DevSecOps.

Certains outils gèrent spécifiquement la partie intégration (CI), d'autres le développement et le déploiement (CD), et d'autres encore les tests continus ou les fonctions connexes.

Le serveur d'automatisation Jenkins compte parmi les outils Open Source de CI/CD les plus connus. Cette solution permet de gérer toutes les situations, du simple serveur de CI à un hub de CD complet.

Un autre projet Open Source couramment utilisé est Tekton, un framework de la Continuous Delivery Foundation. Il permet de décrire les pipelines de distribution de façon déclarative, avec les concepts de Kubernetes, et de les exécuter à la demande dans des conteneurs.

Tekton constitue la base d'OpenShift Pipelines, une solution de CI/CD pour Red Hat® OpenShift®.

Pour aller plus loin

ARTICLE

Le DevSecOps, qu'est-ce que c'est ?

Si vous souhaitez tirer pleinement parti de l'agilité et de la réactivité d'une approche DevOps, vous devez également intégrer la sécurité informatique au cycle de vie complet de vos applications.

ARTICLE

L'approche CI/CD, qu'est-ce que c'est ?

L'approche CI/CD garantit une automatisation et une surveillance continues tout au long du cycle de vie des applications, des phases d'intégration et de test jusqu'à la distribution et au déploiement.

ARTICLE

Un ingénieur DevOps, qu'est-ce que c'est ?

Un ingénieur DevOps possède un ensemble unique de compétences et de connaissances qui favorisent la collaboration, l'innovation et le changement culturel au sein d'une entreprise.  

En savoir plus sur le DevOps

Produits

Stage intensif et spécialisé auprès d'experts Red Hat ayant pour objectif de vous former à l'utilisation d'une méthode agile et d'outils Open Source en vue de résoudre les problèmes métier de votre entreprise.

Contrats avec des conseillers stratégiques qui prennent en considération tous les tenants et les aboutissants de votre entreprise, analysent les défis auxquels vous êtes confrontés et vous aident à les relever avec des solutions complètes et économiques.

Ressources