Livraison continue et déploiement continu

Accélérez la livraison de code de haute qualité aux clients avec ces deux activités d’automatisation.

Présentation de la livraison continue et du déploiement continu

En plus de l'intégration continue, la livraison et le déploiement continus sont des pratiques qui automatisent les phases de livraison des logiciels. Ces activités permettent aux équipes de développement de publier de nouvelles fonctionnalités, des améliorations et des correctifs à leurs clients avec une vitesse, une précision et une productivité supérieures.

La livraison continue et le déploiement continu ont beaucoup de choses en commun. Pour comprendre les différences entre ces activités et déterminer celles que vous souhaitez implémenter, vous devez identifier les phases de la livraison de logiciels que vous pouvez automatiser.

Automatisation du processus de livraison de logiciels

Les consommateurs exigent une personnalisation et une sécurité accrues des produits. Pour répondre à ces exigences et fournir des logiciels plus rapidement et de manière plus fiable, les équipes de développement peuvent adopter une culture DevOps.

Une culture DevOps décompose les disciplines cloisonnées et unifie les personnes, les processus et les technologies pour améliorer la collaboration et la coordination. En conséquence, les modifications de code atteignent la production, et apportent ainsi une nouvelle valeur aux clients, dès que possible.

Bien que les équipes de développement, informatiques, d’ingénierie qualité et de sécurité travaillent en étroite collaboration dans le cadre de l’approche DevOps, le processus de livraison de logiciels reste complexe. L’approche DevOps organise la livraison de logiciels en quatre phases : planifier, développer, livrer, déployer et exploiter.

Livraison de logiciels dans DevOps

Sans automatisation, les équipes de développement doivent créer, tester et déployer manuellement des logiciels, ce qui inclut :

  • Archivage, test et validation du code.
  • Fusion des modifications de code dans la branche principale.
  • Préparation de l’activation du code.
  • Création d’un artefact déployable.
  • Transmission du code en production.

Phases à automatiser

L’intégration continue, la livraison continue et le déploiement continu sont des activités qui automatisent les aspects des phases de développement et de livraison. Et chaque activité va encore plus loin dans l’automatisation, en commençant par l’intégration continue.

Différence entre livraison continue et déploiement continu

Intégration continue

Pour décrire la livraison continue et le déploiement continu, nous allons commencer par l’intégration continue. Dans le cadre d’une intégration continue, la phase de développement (création et test du code) est entièrement automatisée. Chaque fois que vous validez du code, les modifications sont validées et fusionnées dans la branche principale et le code est conditionné dans un artefact de build.

Livraison continue

La livraison continue automatise la phase suivante : la livraison. Sous la livraison continue, chaque fois qu’un nouvel artefact de build est disponible, l’artefact est automatiquement placé dans l’environnement souhaité et déployé.

Intégration et livraison continues (CI/CD)

Lorsque les équipes implémentent à la fois l’intégration continue et la livraison continue (CI/CD), les phases de développement et de livraison sont automatisées. Le code reste prêt pour la production à tout moment. Toutes les équipes doivent déclencher manuellement le passage du développement au déploiement, ce qui rend l’artefact de build automatisé disponible pour le déploiement automatique, ce qui peut être aussi simple que d’appuyer sur un bouton.

Déploiement continu

Avec le déploiement continu, vous automatisez l’ensemble du processus, de la validation du code à la production. Le déclencheur entre les phases de développement et de livraison est automatique. Les modifications de code sont donc transmises en direct une fois qu’elles reçoivent la validation et réussissent tous les tests. Cela signifie que les clients reçoivent des améliorations dès que celles-ci sont disponibles.

Livraison continue et déploiement continu : quelle option choisir ?

Que vous adoptiez la livraison continue ou le développement continu, vous trouverez des outils pour vous aider.

Avant de choisir les activités que vous allez implémenter, déterminez si votre organisation possède une culture DevOps qui peut les prendre en charge. Ensuite, comme les équipes DevOps s’efforcent d’automatiser l’ensemble du processus de livraison de logiciels, la question n’est pas « Quelle activité est la meilleure ? ». Demandez-vous plutôt « Ai-je besoin d’un déclencheur manuel entre l’intégration continue et la livraison continue ? ».

Pendant que vous cherchez la réponse, utilisez ces questions pour vous guider :

  • Pouvez-vous déployer sans l’approbation des parties prenantes ?
  • Vos besoins en matière de système et de vérifications permettent-ils une automatisation de bout en bout ?
  • Pouvez-vous exposer vos clients aux changements de production petit à petit ?
  • Votre organisation réagit-elle rapidement aux erreurs de production ?

Si vous avez répondu Oui à toutes les questions, vous pouvez envisager de mettre en pratique le déploiement continu et d’automatiser la livraison de logiciels entièrement, de la validation du code à la production.

Si vous avez répondu Non à une des questions, vous devrez peut-être démarrer avec l’intégration continue et la livraison continue (CI/CD). Vous automatisez la création de code prêt pour la production qui n’est qu’à une seule approbation manuelle du déploiement. Au fil du temps, vous pouvez travailler sur un déploiement continu et une automatisation complète de votre processus de livraison de logiciels.

Dans tous les cas, vous bénéficiez des avantages communs de chaque activité :

  • Les modifications sont automatiquement créées, validées et testées.
  • Le code est toujours déployable et la mise en production s’effectue de façon fluide.
  • Les mises en production reçoivent plus rapidement des commentaires des parties prenantes et des clients.
  • Les développeurs sont plus productifs avec moins de tâches manuelles et administratives.
  • Étant donné que les modifications sont petites et fréquentes, les échecs sont rares et créent une instabilité minimale.

Outils pour l’intégration continue, la livraison continue et le déploiement continu

Les équipes DevOps s’appuient sur des chaînes d’outils (une série de programmes de développement de logiciels connectés) pour automatiser la livraison de logiciels. Les outils que vous utilisez dépendent de l’activité d’automatisation que vous choisissez et des phases que l’activité automatise. Voici quelques exemples.

Commencez à suivre des procédures DevOps dans Azure

Découvrez des outils de livraison continue et de développement continu, ainsi que des outils pour faciliter d’autres activités DevOps dans le cloud.