Uncategorized

Learn About Continuous Integration, Deployment, and Delivery /Découvrez l’intégration continue, le déploiement et la livraison

Learning Objectives /Objectifs de formation

After completing this unit, you’ll be able to: /Une fois cette unité terminée, vous pourrez :

  • Explain and compare continuous integration, deployment, and delivery. /Expliquer ce que sont l’intégration, de déploiement et la livraison continue, et ce qui les distingue.
  • Name some of the benefits of continuous delivery. /Citer les avantages de l’utilisation de la livraison continue.

Prerequisites /Prérequis

To complete this module you need: /Pour terminer ce module, il vous faudra :

  • A free Heroku account /Un compte Heroku gratuit
  • A free GitHub account /Un compte GitHub gratuit

If you haven’t taken the Heroku Enterprise Basics module, we highly recommend completing it before you start this module. /Si vous n’avez pas encore suivi le module Concepts de base d’Heroku Enterprise, nous vous recommandons vivement de commencer par là.

Modern development practices enable teams to build and deploy the most sophisticated, engaging apps on the market. These practices include continuous integration, deployment, and delivery, which allow for short release cycles, automation, and a direct connection to the source code repository. These practices are designed to enable teams to push incremental code updates to production quickly and safely. If these methods are used correctly, bugs and issues show up earlier in the app lifecycle, which results in faster, higher-quality product releases. /Les pratiques de déploiement modernes permettent à des équipes de construire et de déployer les applications les plus sophistiquées et intéressantes du marché. Ces pratiques incluent notamment l’intégration, le déploiement et la livraison continue, et permettent d’avoir des cycles de publication courts, d’automatiser des tâches, et une connexion directe au dépôt du code source. Ces pratiques sont conçues pour permettre aux équipes de pousser des mises à jour progressives du code vers l’environnement de production, de manière rapide et en toute sécurité. Si ces méthodes sont employées correctement, les bogues et les problèmes sont identifiés plus tôt dans le cycle de vie de l’application, ce qui permet des releases plus rapides et de meilleure qualité.

Let’s talk more about continuous integration, continuous delivery, and continuous deployment. Although they sound similar, pay close attention to the differences between each process. /Parlons un peu plus d’intégration continue, de livraison continue, et de déploiement continu. Les termes sont similaires, mais chaque processus est différent.

Continuous Integration /Intégration continue

Using continuous integration, a product is built to include and integrate every code change on every commit (continuously), by any and all developers. An automated build then verifies each check-in, letting teams detect problems early. /Avec l’intégration continue, un produit inclut et intègre toutes les modifications du code à chaque commit de tous les développeurs. Une compilation automatique vérifie ensuite chaque ajout, afin que les équipes détectent les problèmes au plus tôt.

In complex products, changes that seem simple and self-contained can produce unintended consequences. If multiple developers are working in parallel on multiple, isolated code branches, merging changes to a common master branch can have unpredictable results. Unpredictable results often lead to multiple rounds of regression testing and bug fixes. Continuous integration (CI) is a component of the continuous delivery process that enables developers to integrate their updates into the master branch on a regular basis. With CI, automated tests run before and after each change is merged, validating that no bugs have been introduced. /Dans les produits complexes, un changement qui paraît simple et sans influence sur le reste du code peut avoir des conséquences inattendues. Si plusieurs développeurs travaillent en parallèle sur plusieurs branches isolées, fusionner ces changements vers une branche master commune peut avoir des résultats imprévisibles. Ces résultats imprévisibles exigent souvent plusieurs cycles de tests de régression et de correction de bogues. L’intégration continue (CI) est une composante du processus de livraison continue qui permet aux développeurs d’intégrer régulièrement leurs avancées à la branche master. Avec la CI, des tests automatisés sont exécutés avant et après la fusion de chaque changement afin de vérifier que de nouveaux bogues n’ont pas été introduits.

Continuous Delivery /Livraison continue

Continuous delivery ensures that code can be rapidly and safely deployed to production by manually pushing every change to a production-like environment. Since every change is automatically delivered to a staging environment, you can deploy the application to production with a push of a button when the time is right. /La livraison continue permet de déployer le code en production à la fois rapidement et en toute sécurité, en poussant manuellement chaque changement vers un environnement semblable à l’environnement de production. Comme chaque changement est transmis automatiquement vers un environnement de staging, vous pouvez déployer l’application en production d’un simple clic une fois le moment venu.

The additional step of pushing the code to a staging environment is what makes continuous integration different than continuous delivery. Having a green (successful) build with CI doesn’t mean your code is production ready until you push it to a staging environment that matches the final production environment. /L’étape supplémentaire de passage par l’environnement de staging est ce qui distingue l’intégration continue de la livraison continue. Même si votre compilation est réussie (verte) avec la CI, vous ne pouvez pas savoir si votre code est prêt à être déployé en production tant qu’il n’a pas été envoyé vers un environnement de staging semblable à l’environnement de production final.

Continuous Deployment /Déploiement continu

Continuous deployment is the next step of continuous delivery. Using Continuous Deployment, every change that passes the automated tests is deployed to production automatically. Most companies that aren’t bound by regulatory or other constraints should have a goal of continuous deployment. /Le déploiement continu représente le niveau supérieur de la livraison continue. Avec le déploiement continu, chaque changement qui réussit les tests automatisés est automatiquement déployé en production. La plupart des entreprises qui ne sont pas soumises à des contraintes légales ou autres devraient chercher à parvenir au déploiement continu.

While not every company can implement continuous deployment, most companies can implement continuous delivery. Continuous delivery gives you the confidence that your changes are serving value to your customers when you release your product, and that you can actually push that button anytime the business is ready for it. /Si toutes les entreprises ne peuvent pas mettre en place le déploiement continu, la plupart peuvent implémenter la livraison continue. La livraison continue vous donne l’assurance que vos modifications apportent de la valeur à vos clients lorsque vous publiez votre produit, et que vous pouvez le faire chaque fois que votre entreprise est prête.

Leave a Reply

Your email address will not be published. Required fields are marked *