Heroku - 11 Introduction Heroku Pipelines

Bienvenue dans cette introduction aux Heroku Pipelines. Les sections précédentes expliquaient comment déployer du code sur une application unique. C'est valide pour démarrer, mais dès qu'une application est utilisée par des milliers d'utilisateurs, on ne peut plus se permettre de pousser directement le code en production : un bug peut faire crasher l'application, et plusieurs développeurs travaillant sur le même fichier provoqueraient des conflits.

Plusieurs applications pour un même code

La solution est d'avoir plusieurs applications partageant la même base de code, avec des rôles différents : certaines pour les tests, et une « production » qui sera celle visible des utilisateurs. C'est précisément le rôle des Heroku Pipelines. Lors du développement, le chemin est le suivant : une idée naît, est traduite en projet, le développeur code sur son poste, puis dès qu'il est confiant, il déploie. Heroku Pipelines vise à fluidifier ce parcours du développement au déploiement.

  • Phase de développement sur le poste du développeur
  • Applications de test avec configurations préconstruites
  • Copie automatique des variables de config (DB, env) en quelques secondes
  • Tests automatiques avant déploiement en production
  • Review apps liées aux Pull Requests GitHub

Heroku crée des applications test en quelques minutes : on duplique l'environnement de production pour vérifier si les changements peuvent être validés. Côté promotion, après le développement, on vérifie aussi que le nouveau code n'a pas cassé les fonctionnalités existantes. Heroku peut lancer un jeu de tests automatique : si tous passent, le code est promu ; sinon, il est bloqué — c'est une sécurité supplémentaire pour protéger la production.

Dans l'interface Heroku, on crée un Pipeline avec deux colonnes : développement (les apps de test) et production (l'app accessible aux utilisateurs). On peut glisser-déposer les applications entre les colonnes selon leur étape. En connectant le Pipeline à GitHub, on débloque les Review Apps : Heroku crée automatiquement une application de test à partir de chaque Pull Request, qu'on peut tester puis supprimer en un clic. Ces applications partagent plus ou moins le même code que la production, et chaque équipe a sa propre stratégie pour fusionner les changements. C'est tout pour cette vidéo, à bientôt pour la prochaine.