Uncategorized

Learn About Heroku Flow and Its Features /Découvrez Heroku Flow et ses fonctionnalités

Learning Objectives /Objectifs de formation

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

  • Describe a common continuous delivery workflow with Heroku Flow. /Décrire un workflow livraison continue avec Heroku Flow.
  • Name the features of Heroku Flow and describe the purpose of each. /Citer les fonctionnalités d’Heroku Flow et expliquer à quoi sert chacune.

Heroku Flow is an easy-to-use structured workflow for continuous delivery on the Heroku platform. It brings together Heroku Pipelines, Review Apps, Release Phase, Heroku CI, and GitHub and Slack integration for a simple visual code-to-production workflow. /Heroku Flow est un workflow structuré facile d’utilisation pour livraison continue sur la plateforme Heroku. Il se compose d’Heroku Pipelines, Review Apps, Release Phase, Heroku CI, et d’une intégration avec GitHub et Slack pour fournir un workflow permettant de passer simplement du code à la production.

A common Heroku continuous delivery workflow looks something like this: /Voici à quoi ressemble un workflow de livraison continue typique sur Heroku :

  1. A developer or team member creates a Heroku Pipeline and starts adding apps. /Un développeur ou un membre de l’équipe crée un Pipeline Heroku et commence à y ajouter des applications.
  2. A developer creates a pull request to make a change to the codebase of an app. /Un développeur crée un pull request pour apporter un changement au code d’une application.
  3. Heroku automatically creates a review app for the pull request, allowing developers to test the change. /Heroku crée automatiquement une application de contrôle pour le pull request, afin que les développeurs puissent tester le changement.
  4. When the change is ready, it’s merged into the code’s master branch. /Lorsque le changement est prêt, il est fusionné vers la branche master du code.
  5. The master branch is automatically deployed to a staging app for further testing. /La branche master est déployée automatiquement vers une application de staging pour y subir d’autres tests.
  6. If Heroku CI or Release Phase is configured, tests and tasks run to check if there are any problems with changes to the code or with the tasks that Release Phase is set up to handle (such as database migration). /Si Heroku CI ou Release Phase sont configurés, des tests et des tâches sont exécutés pour vérifier la présence de problèmes associés aux modifications du code ou aux tâches que Release Phase doit prendre en charge (telles qu’une migration de base de données).
  7. When all is ready, the staging app is promoted to production, where the change is available to end users. /Quand tout est prêt, l’application de staging est promue en production, où les changements sont accessibles aux utilisateurs finaux.
  8. If the pipeline is integrated with Slack, a notification is posted in the room when a pull request is created and the code is merged back to master, updating the team with the status and results of CI tests and Release Phase tasks. Team members with the right permissions are also able to deploy apps to staging or promote them to production from within the Slack room. /Si le pipeline est intégré à Slack, une notification est publiée lors de la création d’un pull request et de la fusion du code vers la branche master, pour prévenir l’équipe du statut et des résultats des tests de CI et des tâches Release Phase. Les membres de l’équipe disposant des bonnes permissions peuvent également déployer des applications pour le staging ou de les promouvoir vers l’environnement de production depuis la room Slack.

Note: We do not cover how to set up Heroku ChatOps (Slack Integration) in this module, but you can learn more in our documentation. /Remarque : Nous n’aborderons pas la configuration d’Heroku ChatOps (intégration avec Slack) dans ce module, mais vous pouvez en savoir plus dans notre documentation.

It’s time to get to know Heroku Flow’s features and understand the purpose of each. /Il est temps de découvrir les fonctionnalités d’Heroku Flow et de comprendre à quoi sert chacune d’elles.

Heroku Pipelines /Pipelines Heroku

A pipeline is a group of Heroku apps that share the same codebase. Each app in a pipeline represents one of these steps in a continuous delivery workflow: Review, development, staging, and production. The pipelines overview page helps you visualize your apps progress, as well as meta-information about the status of each stage. For example, you can see whether your production app is running different code than staging. /Un pipeline est un groupe d’applications Heroku qui partagent la même base de code. Chaque application d’un pipeline représente une des étapes du workflow de livraison continue : contrôle, développement, staging et production. La page d’aperçu des pipelines vous aide à visualiser la progression de vos applications, et fournit des informations sur le statut de chaque étape. Par exemple, vous pourrez voir si votre application de production exécute un code différent de votre application de staging.

GitHub Integration /Intégration avec GitHub

Connecting a Heroku Pipeline to a GitHub repository makes it possible to manually or automatically deploy a branch on every GitHub push. For every deploy you can see the diff between the current release and the previous commit in the app’s Activity tab in the Heroku Dashboard, so you’re never guessing what code is on the app. If you’ve configured your GitHub repository to use Heroku CI or an external continuous integration (CI) server, you can configure Heroku to only auto-deploy a branch after CI passes for a particular commit. /Connecter un pipeline Heroku à un dépôt GitHub permet de déployer manuellement ou automatiquement une branche à chaque modification poussée vers GitHub. Pour chaque déploiement, vous pouvez voir le diff entre la version actuelle et le commit précédent dans l’onglet Activity de l’application sur le tableau de bord Heroku, donc vous n’aurez jamais à jouer aux devinettes pour savoir quel code se trouve dans l’application. Si vous avez configurez votre dépôt GitHub de manière à ce qu’il utilise Heroku CI ou un serveur externe d’intégration continue (CI), vous pouvez configurer Heroku pour qu’il ne déploie automatiquement une branche que lorsque la CI réussit pour un commit précis.

Review Apps /Review Apps (applications de contrôle)

Review apps are a new way to propose, discuss, and decide whether to merge changes to your code base. For Heroku apps connected to GitHub, Heroku can manually or automatically spin up a temporary test app on a unique URL for every opened pull request (PR). The temporary app is auto-updated on every commit, so instead of guessing about what the code does, reviewers can actually try the changes in a browser. /Les applications de contrôle constituent une nouvelle manière de proposer, discuter et choisir les changements à intégrer à votre base de code. Pour les applications Heroku connectées à GitHub, Heroku peut créer manuellement ou automatiquement une application de test temporaire disposant d’une URL unique pour chaque pull request (PR) ouvert. L’application temporaire est mise à jour automatiquement à chaque commit, donc plus besoin de jouer aux devinettes pour savoir ce que fait le code : les contrôleurs peuvent vraiment essayer les modifications dans un navigateur.

Release Phase /Release Phase

Release Phase makes it possible to run tasks before a release is deployed to production, eliminating maintenance windows and reducing deployment risk. Use Release Phase to migrate a database, upload assets to a content delivery network (CDN), invalidate a cache, or run any other task your app needs to be ready for production. If a Release Phase task fails, the new release is not deployed, leaving the current production release unaffected. /Release Phase permet d’exécuter des tâches avant qu’une version ne soit déployée en production, ce qui élimine les fenêtres de maintenance et réduit les risques liés au déploiement. Utilisez Release Phase pour migrer une base de données, télécharger des ressources vers un réseau de livraison de contenu (CDN), invalider un cache, ou exécuter toute autre tâche dont votre application a besoin pour être prête pour la production. Si une tâche Release Phase échoue, la nouvelle version n’est pas déployée, et l’environnement de production actuel n’est donc pas affecté.

Heroku CI

Heroku CI is a low-configuration test runner that integrates with Heroku Pipelines. Heroku CI runs your test scripts with zero queue time for faster results, using disposable apps that have parity with your staging and production environments. Access test results from Heroku or GitHub, automate deployments conditionally on CI results, and take advantage of a fully visual interface built to support CI’s role in team-based continuous delivery. /Heroku CI est un système d’exécution des tests nécessitant peu de configuration, et intégrable aux pipelines Heroku. Heroku CI exécute vos tests sans temps d’attente pour accélérer les résultats, en utilisant des applications jetables identiques à vos environnements de staging et de production. Accédez aux résultats des tests depuis Heroku ou GitHub, automatisez les déploiements en fonction des résultats de CI, et tirez profit de l’interface entièrement visuelle conçue pour que la CI puisse tenir son rôle dans la livraison continue en équipe.

Heroku ChatOps

Heroku ChatOps uses the power of Heroku Pipelines to bring a collaborative deployment workflow to Slack. It enables developers to deploy to staging or promote to production from Slack. With Heroku ChatOps, teams can keep track of all code changes within their Slack channel. Pull request notifications, merges, and CI build results all show up in Slack, so no context switching is needed to see build results or check if promoting to production was successful./Heroku ChatOps utilise la puissance d’Heroku Pipelines pour apporter un workflow de déploiement collaboratif vers Slack. Il permet aux développeurs de déployer vers l’environnement de staging ou de promouvoir vers la production depuis Slack. Avec Heroku ChatOps, les équipes peuvent suivre toutes les modifications du code depuis leur chaîne Slack. Les notifications de pull request, de fusion, et de résultats de compilation CI apparaissent tous dans Slack, donc il n’est pas nécessaire de changer de contexte pour voir ces résultats ou vérifier si la promotion vers la production a fonctionné.

Leave a Reply

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