Accueil

Thèmes

Distribution continue

Qu’est-ce que la distribution continue ?
Découvrir la solution de distribution continue d’IBM S’inscrire pour recevoir les dernières informations sur l’IA
Illustration d’un collage de pictogrammes représentant une roue dentée, un bras robotisé, un téléphone mobile
Qu’est-ce que la distribution continue ?

La distribution continue permet aux équipes de développement d’automatiser le processus de progression des logiciels tout au long du cycle de développement.

La distribution continue peut offrir de nombreux avantages lors du provisionnement d’une boîte à outils intégrée, notamment :

  • une réduction des délais de déploiement grâce à des tests et à un développement continus ;

  • une diminution des coûts associés au développement logiciel classique ;

  • une adaptation du développement logiciel en fonction de la taille du projet ;

  • un déploiement automatique du code dans chaque phase du cycle de développement.
Total Economic Impact™ d’IBM Robotic Process Automation

Voir l’analyse des coûts et des avantages d’IBM Robotic Process Automation (RPA).

Contenu connexe S’inscrire pour obtenir le guide sur l’observabilité
Les bonnes pratiques de la distribution continue

Voici une liste de bonnes pratiques que vous pouvez prendre en compte dans le cadre de la distribution continue :

  • Faire en sorte que chaque changement soit publiable – Si vous utilisez la distribution continue pour rendre chaque changement publiable, vous devez inclure la documentation utilisateur, les dossiers d’exploitation et les informations sur ce qui a été modifié à des fins d’audit.

  • Privilégier le développement axé sur le tronc (« trunk-based development ») – La distribution continue s’appuie sur l’intégration continue. Évitez autant que possible les branches (qui retardent l’intégration) afin que chaque changement soit généré, testé et déployé en même temps pour obtenir le retour d’information le plus rapide possible.

  • Distribuer au moyen d’un pipeline automatisé : La mise en œuvre de la distribution continue nécessite un pipeline automatisé et efficace. Ainsi, toutes les versions de votre code seront transférées dans vos environnements de test et de production de manière cohérente.

  • Automatiser autant que possible – Dans le cadre de la distribution continue, il convient d’automatiser autant de processus que possible au sein de votre cycle de développement logiciel. Votre pipeline de distribution sera ainsi parfaitement apte à gérer les versions et les déploiements de code, mais aussi la création de nouveaux environnements de développement
  • Viser zéro temps d’arrêt : Afin de garantir la disponibilité des applications lors des mises à jour régulières, lorsque vous faites passer une nouvelle fonction en production, vous devez d’abord la valider avant de la déployer sur l’instance publique en cours d’exécution.

  • Publier ensemble les éléments testés ensemble – Si deux parties d’un système doivent être testées ensemble, elles doivent être publiées ensemble afin d’en garantir la compatibilité. Les outils d’automatisation de la publication permettent de coordonner ce type de distribution. Une autre solution consiste à découpler entièrement le système.
Pipeline/framework continu

Pour profiter des avantages de la distribution continue, vous avez besoin d’autres éléments de la même famille, tels que l’exploration continue, l’intégration continue, le déploiement continu et la publication à la demande.

Concernant le pipeline de distribution continue, il est conseillé de diviser chaque étape en tâches distinctes, c’est-à-dire des unités d’exécution à l’intérieur de chacune d’entre elles :

  • Tâches de génération : Il s’agit ici de compiler votre projet dans la tâche de génération en vue du déploiement, c’est-à-dire de produire des artefacts pouvant être envoyés à un répertoire d’archivage.

  • Tâches de déploiement : Votre projet doit être téléchargé dans votre pipeline de distribution continue sous la forme d’une application à laquelle vous pouvez accéder à partir d’une URL. Après avoir déployé votre projet, vous pouvez l’afficher sur votre tableau de bord.

  • Tâches de test : Vous devez personnaliser et inclure des tâches de test avant ou après vos tâches de génération et de déploiement en fonction de votre série de tests unitaires ou fonctionnels avec des services tiers.

Le pipeline de distribution continue aide les équipes de développement à :

  • automatiser les versions, les tests unitaires et le déploiement ;

  • modifier et envoyer du code en utilisant les référentiels Git, le suivi des problèmes et votre IDE (environnement de développement intégré) web ;

  • créer une boîte à outils DevOps intégrée qui permet de générer, de déployer et de gérer vos applications à l’aide de vos services ainsi que d’outils open source et tiers ;

  • modifier le code à partir de n’importe quel endroit en utilisant l’IDE pour créer, modifier, exécuter, déboguer la source et accomplir des tâches de contrôle sur cette source ;

  • utiliser le pipeline automatisé pour distribuer en continu des versions, des tests et des déploiements de manière reproductible ;

  • améliorer la qualité en comprenant l’état des versions, les résultats des analyses de sécurité, la couverture du code et celle des tests afin de déterminer s’il convient de transférer l’application à l’environnement suivant (par le biais de points de contrôle afin de garantir automatiquement la qualité avant le transfert).
Déploiement continu et distribution continue

Le déploiement continu peut être intégré à un pipeline de distribution continue. Plus précisément, la distribution continue est le mouvement automatisé du code à travers le cycle de vie de développement, parfois appelé le cycle de vie de distribution. Le déploiement continu est le mouvement automatisé de ce code vers la production, une fois qu’il a passé les tests automatisés requis.

L’intégration du déploiement continu dans votre pipeline de distribution dépend des besoins de votre entreprise. Si elle a besoin que l’équipe chargée de la distribution mette en production des logiciels nouveaux ou mis à jour de manière répétée, fiable ou aussi rapide que possible, ou si la solution comporte de nombreuses dépendances, alors le déploiement continu lui sera probablement utile.

Pour en savoir plus sur les différences entre le déploiement continu et la distribution continue, regardez la vidéo suivante :

Outils de distribution continue

Un outil de distribution continue vous permet d’utiliser des outils open source afin de générer, de déployer et de gérer vos applications. L’intégration d’une boîte à outils donne à votre équipe de développement, mais aussi à celle d’exploitation, la possibilité de créer des tâches reproductibles et gérables.

Ces outils peuvent comprendre vos services cloud actuels ainsi que des outils open source et tiers, mais votre outil de distribution continue devra également comporter les éléments suivants :

  • Des modèles reproductibles pour automatiser la génération et le déploiement. Si cela fonctionne pour l’une de vos applications, il devrait en être de même pour les autres. Ne laissez pas chaque équipe batailler seule avec la configuration.

  • Un pipeline vous permettant de générer automatiquement des versions lorsque vous apportez des modifications, de les déployer dans votre cloud, d’incorporer des versions et des déploiements dans vos chaînes d’outils et d’y gérer les déploiements.

  • Des outils de collaboration, de planification, de gestion du code source et de test ;

  • Une instrumentation qui met en évidence les domaines dans lesquels votre équipe progresse rapidement et ceux dans lesquels elle stagne, afin qu’elle sache comment mieux intégrer les principes de l’approche « continue ».

Parmi les outils de distribution continue open source que vous pouvez utiliser afin de mettre en place un pipeline efficace, on peut citer Jenkins, Concourse CI, Spinnaker, Travis CI, GoCD et GitLab CI.

Agilité et DevOps

Distribution continue agile

Auparavant, la pratique consistait à publier un logiciel une seule fois, puis à le mettre à jour. Les clients étaient consultés seulement au début et à la fin afin de voir si le logiciel répondait à leurs besoins.

La méthodologie agile est une façon de produire des logiciels par itérations courtes selon un calendrier de distribution continue. Le processus de distribution continue agile d’aujourd’hui vous permet de mettre le code à la disposition des clients au fur et à mesure que chaque fonctionnalité devient disponible. Le développement et la distribution continue agiles sont essentiels pour que les fonctionnalités soient mises à la disposition des clients dès qu’elles sont prêtes pour la production. Votre objectif est de faire en sorte que chaque fonctionnalité soit prête à être publiée dès sa sortie du pipeline.

DevOps et distribution continue

Au cours des deux dernières décennies, le développement logiciel a connu des changements importants en passant du modèle standard en cascade à la méthodologie agile, bien plus efficace. Afin de vous adapter, vous devez passer à une approche qui privilégie les principes agiles, le DevOps et la distribution continue. Dans le cadre d’un pipeline de distribution continue, ces processus ciblés permettent de produire des versions et des mises à jour de logiciels plus fiables et de meilleure qualité.

Au fur et à mesure que vous publiez des versions logicielles plus petites plus rapidement grâce au développement agile, vous porterez une plus grande attention aux différentes étapes du développement logiciel. Dans le même temps, le DevOps vous permettra de garder l’esprit fixé sur la situation globale et les changements culturels. Cette approche fusionne le développement et les opérations en une seule équipe, qui travaille sur l’ensemble du cycle de vie du développement logiciel, du codage aux tests en passant par le déploiement et le support.

Pour en savoir plus sur le DevOps, regardez la vidéo :

Solutions connexes
IBM Cloud Continuous Delivery

IBM Continuous Delivery est un service cloud qui permet de provisionner des chaînes d’outils, d’automatiser la génération de versions et les tests, et de contrôler la qualité grâce aux analyses.

Découvrir IBM Cloud Continuous Delivery
IBM UrbanCode

La gamme de produits logiciels IBM UrbanCode vous aide à mettre vos logiciels sur le marché plus rapidement en réduisant les processus manuels et en accélérant la distribution des applications.

Découvrir IBM UrbanCode
Tekton on IBM Cloud

Une solution qui vous permet de créer des pipelines CI/CD natifs Kubernetes avec un maximum de rapidité et de flexibilité.

Découvrir Tekton on IBM Cloud
Ressources Qu’est-ce que le DevOps ?

Le DevOps accélère la distribution de logiciels de meilleure qualité en combinant et en automatisant le travail des équipes de développement logiciel et d’exploitation informatique.

Qu’est-ce que l’intégration continue ?

L’intégration continue est un processus de développement itératif qui consiste à intégrer du code nouveau dans la base de code au moins une fois par jour.

Qu’est-ce que la CI/CD et le pipeline CI/CD ?

Un guide pratique sur le pipeline d’intégration continue/de distribution continue (CI/CD).

Passez à l’étape suivante

Votre entreprise est-elle prête pour le DevOps ? Pour proposer des logiciels et des services à la vitesse exigée par le marché, les équipes doivent itérer et expérimenter rapidement, et déployer de nouvelles versions fréquemment, en fonction des retours d’information et des données. Les équipes de développement cloud les plus performantes ont adopté une culture et des bonnes pratiques DevOps modernes, des architectures cloud-natives, et ont constitué des chaînes d’outils à partir de ce qu’il se fait de mieux sur le marché afin de décupler leur productivité.

Découvrir les solutions DevOps Essayez gratuitement