Auparavant, nous sur l'intĂ©gration continue (CI). Poursuivons avec la livraison continue. Il s'agit d'un ensemble de mĂ©thodes de dĂ©veloppement logiciel. Cela aide Ă s'assurer que le code est prĂȘt pour le dĂ©ploiement.
/ Pixabay / /
Historique
L'expression livraison continue a Ă©tĂ© vue pour la premiĂšre fois dans le de 2001 en tĂȘte de la liste des principes fondamentaux : « La prioritĂ© est de rĂ©pondre aux besoins du client par la livraison continue de logiciels opĂ©rationnels ».
En 2010, Jez Humble et David Farley ont publié sur la livraison continue. Selon les auteurs, CD complÚte l'approche et facilite la préparation du code au déploiement.
AprÚs la publication du livre, l'approche a commencé à gagner en popularité et en quelques années est devenue presque universellement acceptée. Selon , réalisé auprÚs de plus de 600 développeurs et responsables IT en 2014, 97 % des dirigeants techniques et 84 % des programmeurs étaient familiers avec la livraison continue.
Aujourd'hui, cette approche reste l'une des plus populaires. Selon une étude de 2018 à laquelle ont participé la communauté des spécialistes IT DevOps et Jenkins Community, la moitié de plus d'un millier de répondants.
Comment fonctionne la livraison continue
La base du CD est la prĂ©paration du code au dĂ©ploiement. Pour rĂ©aliser cette tĂąche, l'automatisation du processus de prĂ©paration du logiciel Ă la publication est utilisĂ©e. Cela doit ĂȘtre standard pour diffĂ©rents environnements de dĂ©veloppement, ce qui aide Ă identifier les points faibles plus rapidement et Ă les optimiser. Par exemple, accĂ©lĂ©rer les tests.
Un exemple de processus de livraison continue ressemble Ă ceci :

Si l'automatisation des deux premiĂšres Ă©tapes est assurĂ©e par l'approche d'intĂ©gration continue, les deux suivantes sont gĂ©rĂ©es par la livraison continue. La stabilitĂ© du processus est Ă©galement assurĂ©e par des systĂšmes . Ils surveillent les changements dans l'infrastructure, les bases de donnĂ©es et les dĂ©pendances. Le dĂ©ploiement lui-mĂȘme peut ĂȘtre automatisĂ© ou effectuĂ© manuellement.
Les exigences pour le processus sont les suivantes :
- Disponibilité des informations sur la préparation au passage en production et préparation pour le déploiement immédiat (les outils CD testent le code et permettent d'évaluer l'effet des changements dans la version).
- ResponsabilitĂ© globale pour le produit final. L'Ă©quipe produit â les chefs de produit, les dĂ©veloppeurs, les testeurs â se concentre sur le rĂ©sultat, et pas seulement sur sa zone de responsabilitĂ© (le rĂ©sultat est une version fonctionnelle, accessible aux utilisateurs du produit).
Dans le CD, on applique gĂ©nĂ©ralement , et pour recueillir les avis des clients â le principe . Une nouvelle fonctionnalitĂ© est d'abord lancĂ©e pour un petit segment d'utilisateurs â leur expĂ©rience avec le produit aide Ă identifier les dĂ©fauts et les bugs qui n'ont pas Ă©tĂ© remarquĂ©s lors des tests internes.
Quel est l'avantage de
la livraison continue ? Elle permet de simplifier le déploiement du code, ce qui a un impact positif sur la productivité et réduit le risque d'épuisement émotionnel des employés. En fin de compte, cela réduit également les coûts globaux de développement. Par exemple, la livraison continue a aidé une des équipes de HP à ces coûts de 40%.
De plus â selon une Ă©tude de 2016 (page 28 ) â les entreprises ayant adoptĂ© la livraison continue rĂ©solvent les problĂšmes de sĂ©curitĂ© de l'information 50% plus rapidement que celles qui n'utilisent pas cette approche. Dans une certaine mesure, cette diffĂ©rence peut ĂȘtre expliquĂ©e par le fonctionnement des outils d'automatisation des processus.
Un autre avantage est l'accélération des sorties de versions. Dans un studio de développement finlandais, la livraison continue à augmenter la vitesse de compilation du code de 25%.
Complexités potentielles
Le premier et principal problÚme est la nécessité de réorganiser les processus habituels. Pour démontrer les avantages de la nouvelle approche, il est conseillé de passer progressivement à la livraison continue, en commençant par les applications les moins exigeantes en termes de travail.
Le deuxiĂšme problĂšme potentiel est le grand nombre de branches de code. La consĂ©quence de la "ramification" â des conflits frĂ©quents et des pertes de temps significatives. Une solution possible est l'approche .
. En particulier, dans certaines entreprises, les principales difficultĂ©s surviennent lors des tests â cela prend trop de temps. Les rĂ©sultats des tests doivent souvent ĂȘtre analysĂ©s manuellement, mais une solution envisageable pourrait ĂȘtre le parallĂ©lisme des tests lors des premiĂšres Ă©tapes de l'implĂ©mentation de la livraison continue.
Il est Ă©galement nĂ©cessaire de former les employĂ©s Ă l'utilisation des nouveaux outils â une formation prĂ©alable fera gagner du temps et de l'Ă©nergie aux dĂ©veloppeurs.

/ Flickr / /
Outils
Voici quelques outils open-source pour la livraison continue :
- â serveur pour la livraison continue sur Java et JRuby on Rails. Permet de contrĂŽler l'ensemble du processus de livraison de l'application : buildâtestârelease. L'outil est distribuĂ© sous la licence Apache 2.0. Sur le site officiel, vous pouvez trouver .
- â framework pour crĂ©er des scripts automatisant le dĂ©ploiement d'applications en Ruby, Java ou PHP. Capistrano peut exĂ©cuter des commandes sur une machine distante en se connectant via SSH. Il travaille avec d'autres outils d'intĂ©gration et de livraison continues, comme le serveur CI Integrity.
- â outil multiplateforme qui automatise l'ensemble du cycle de dĂ©veloppement d'applications. Gradle fonctionne avec Java, Python, C/C++, Scala, etc. Il s'intĂšgre avec Eclipse, IntelliJ et Jenkins.
- â plateforme pour la CD en Go. Drone peut ĂȘtre dĂ©ployĂ© sur site ou dans le cloud. L'outil est basĂ© sur des conteneurs et utilise des fichiers YAML pour les gĂ©rer.
- â plateforme pour la livraison continue de code dans des systĂšmes multi-cloud. DĂ©veloppĂ© chez Netflix, les ingĂ©nieurs de Google ont jouĂ© un rĂŽle clĂ© dans le dĂ©veloppement de l'outil. Vous .
Ă lire dans notre blog d'entreprise :
Source : habr.com
