Uncategorized

Run Tasks with Release Phase /Exécutez des tâches avec Release Phase

Learning Objectives /Objectifs de formation

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

  • Set up and use Release Phase. /Configurer et utiliser Release Phase.
  • Check activity and release logs. /Vérifier l’activité et les journaux de version.

Let’s see how Release Phase works. The most common use case for release phase is database migration, or to upload assets remotely if you’re using a content delivery network (CDN). To keep things simple and show you how the feature works, we’re just going to add an echo command. /Voyons un peu comment fonctionne Release Phase. Release Phase est principalement utilisé en cas de migration de base de données, pour télécharger des ressources à distance si vous utilisez un CDN (réseau de livraison de contenu). Pour ne pas compliquer notre explication du fonctionnement de cette fonctionnalité, nous allons nous contenter d’ajouter une commande echo.

  1. In GitHub, go to the flow-demo repo and click Procfile. A Procfile is a mechanism for declaring what commands are run by your application on the Heroku platform. It should be named Procfile exactly (for example, Procfile.txt is not valid) and placed in the root directory of your repository. It won’t function if placed in a subdirectory. /Dans GitHub, accédez au dépôt flow-demo et cliquez sur Procfile. Un Procfile est un mécanisme pour déclarer les commandes exécutées par votre application sur la plateforme Heroku. Il doit être nommé exactement Procfile (et non Procfile.txt, par exemple) et placé à la racine de votre référentiel. Il ne fonctionnera pas s’il se trouve dans un sous-dossier.
  2. Click the small pencil in the top right corner to edit the Procfile. /Cliquez sur l’icône en forme de petit crayon en haut à droite pour modifier le Procfile.
  3. Now define a release process type in the proc file, as well as a command to run. The release command is run when a new release is created. Add the following line at the end of the file: release: echo “You created a new release on Heroku. Here’s a cookie! 🍪” /Définissez un type de processus de publication dans le Procfile, ainsi qu’une commande à exécuter. La commande de publication est exécutée lorsqu’une nouvelle version est créée. Ajoutez la ligne suivante à la fin du fichier : release: echo “Vous avez créé une nouvelle version sur Heroku. Prenez donc un gâteau ! Add release phase
  4. Scroll down and enter commit title and description. Select Create a new branch for this commit and start a pull request, and leave the name as the default. Click Propose file change. /Faites défiler vers le bas et entrez un titre et une description au commit. Sélectionnez Create a new branch for this commit and start a pull request (Créer une nouvelle branche pour ce commit et ouvrir un pull request), et conservez le nom par défaut. Cliquez sur Propose file change (Proposer une modification du fichier).
  5. Click Create pull request on the next screen. Since a review app is created for any pull request, you’ll notice a new review app created from your changes to the proc file if you go back to your Heroku dashboard. /Cliquez sur Create pull request (Créer un pull request) à l’écran suivant. Comme une application de contrôle est créée pour tout pull request, vous pourrez constater si vous revenez sur votre tableau de bord Heroku qu’une nouvelle application de contrôle a été créée en fonction des changements que vous avez apporté au proc file.New review app is created
  6. If there are no issues with the review app, we can merge code changes back to master. Opening the app in the browser won’t show any changes since we didn’t make any visual changes to the code, but helps make sure the app is still running and has the final changes we made in the previous unit. /S’il n’y a pas de problème avec l’application de contrôle, nous pouvons fusionner le nouveau code dans la branche master. Ouvrir l’application dans le navigateur ne montrera aucun changement puisque nos modifications n’affectent pas son aspect visuel, mais cela vous permettra de vous assurer qu’elle fonctionne toujours et intègre les dernières modifications de l’unité précédente.
  7. Go back to GitHub, click Merge Pull Request. Leave the text as the default, and click Confirm Merge. /Retournez sur GitHub, cliquez sur Merge Pull Request (Fusionner le pull request). Conservez le texte par défaut, et cliquez sur Confirm Merge (Confirmer la fusion).
  8. If you go to your Heroku dashboard, you can see that the review app has moved to the Staging column. Since we enabled automatic deploys, every push to master deploys a new version of this app. /Si vous retournez sur votre tableau de bord Heroku, vous pourrez voir que l’application de contrôle est passée directement dans la colonne Staging. Comme nous avons activé les déploiements automatiques, chaque push vers la branche master déploie une nouvelle version de cette application.
  9. To finish setting up Release Phase, select Promote to production from under the flow-staging-demoapp staging app, double check the name of the production app, and select Promote. /Pour finir la configuration de Release Phase, sélectionnez Promote to production (Promouvoir en production) dans l’application de staging flow-staging-demoapp, vérifiez le nom de l’application en production, et sélectionnez Promote (Promouvoir).
  10. Now you can see all the build and release details. Click the flow-production-demoapp app, then the latest view release log link and you can see the comment we added to the proc file echoed here: You created a new release on Heroku! Here’s a cookie! 🍪”. /Vous pouvez maintenant voir tous les détails de compilation et de publication. Cliquez sur l’application flow-production-demoapp, puis sur le dernier lien View release log (Voir le journal de publication), et vous pourrez y voir le commentaire que nous avons ajouté dans le Procfile : Vous avez créé une nouvelle version sur Heroku. Prenez donc un gâteau ! ”Build and release detailsIf our Release Phase task was for a database migration instead, for example, you would see all the logs related to that process and whether there’s been any problems or not. If you go back to the activity feed now by selecting Activity from under the top menu, you will notice a Roll back to here option, which is a key feature of the Heroku platform. With Heroku rollback, you can roll back to a previous, known good release with one click, providing a fast way to revert in case of bad deploys or config changes. We don’t need to use this feature now, but keep it in mind if you ever need to go back to a healthy deploy and make the changes all over again. /Si notre tâche Release Phase avait été par exemple une migration de base de données, c’est là que vous trouveriez tous les messages liés à ce processus et à d’éventuels problèmes. Si vous revenez au fil d’activité en cliquant sur Activity dans le menu en haut de page, vous remarquerez une option Roll back to here (Revenir à cette version), qui est l’une des fonctionnalités clés de la plateforme Heroku. Avec Heroku Rollback, vous pouvez revenir d’un seul clic à une version précédente dont vous savez qu’elle fonctionne, afin de pouvoir rétablir rapidement en cas d’erreur de déploiement ou de modification de la configuration. Nous n’avons pas besoin de cette fonctionnalité pour l’instant, mais pensez-y si jamais vous aviez besoin de revenir à une version saine pour recommencer vos changements.Activity feedNote: Heroku CI is not enabled yet, and your Pipeline isn’t connected to an external CI system. If CI were configured, there would be tests running when changes were merged to master, ensuring changes to the code are error-free and aligned with the code base. You’ve learned about many of the features of Heroku Flow. Although Heroku CI is one of the main features of Heroku Flow, we didn’t work with it in this module. Why? Because free CI test runs are susceptible to abuse, we need to make sure that each Heroku CI user is backed by a valid payment identity. If you want to complete your Heroku Flow education by learning about Heroku CI, add a valid credit card and read our developer documentation. /Remarque : Heroku CI n’est pas encore activé, et votre Pipeline n’est pas connecté à un système CI externe. Si CI était configuré, des tests seraient exécutés lorsque des changements sont fusionnés avec la branche master, afin de s’assurer que les modifications du code ne contiennent pas d’erreur et correspondent au code existant. Vous avez découvert beaucoup des fonctionnalités d’Heroku Flow. Bien qu’Heroku CI soit une des principales fonctionnalités d’Heroku Flow, nous ne l’avons pas utilisée dans ce module. Pourquoi ? L’exécution gratuite de tests CI peut être utilisée à des fins malveillantes, et nous devons vérifier que chaque utilisateur d’Heroku CI dispose d’une identité de paiement valide. Si vous voulez terminer votre apprentissage d’Heroku Flow en découvrant Heroku CI, ajoutez une carte de crédit valide et lisez notre documentation pour développeur.

Welcome to the Heroku CI family! /Bienvenue dans la famille Heroku CL !

Leave a Reply

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