10 min de lecture
Une étape supplémentaire dans l'automatisation : des hooks post-déploiement
Lorsque vous déployez votre application, vous pouvez souhaiter déclencher des actions personnalisées automatiquement après que le déploiement ait réussi. Jusqu'à présent, vous deviez exécuter des commandes personnalisées manuellement, ce qui était sensible aux erreurs liées à l'interface clavier-humain. Ce hook est donc exactement ce dont vous avez besoin. Il démarrera automatiquement la commande configurée à la e

Lorsque vous déployez votre application, vous souhaiterez peut-être déclencher des actions personnalisées après que le déploiement ait réussi automatiquement. Jusqu'à présent, vous deviez exécuter des commandes personnalisées manuellement, ce qui était sensible aux erreurs de l'interface clavier humaine. Ce hook est donc exactement ce dont vous avez besoin. Il lancera automatiquement la commande configurée à la fin de votre déploiement.
Ajouter un hook postdéploiement à votre application
Pour ajouter un hook postdéploiement à votre application, vous devez simplement ajouter à votre Procfile (ou créer un fichier Procfile), un nouveau type nommé postdeploy. La commande spécifiée pour ce type de conteneur sera exécutée dans un conteneur unique à la fin de chaque déploiement.
La commande sera exécutée de manière synchrone après le déploiement. Si le hook échoue, le déploiement échouera également, la ancienne version de votre application sera conservée jusqu'à une nouvelle tentative de déploiement réussie. Voici un exemple de journaux que vous pouvez obtenir lorsqu'un postdeploy hook a été configuré :
Exemples
Le hook postdéploiement est exécuté dans un conteneur unique et a exactement le même environnement, ce qui signifie que vous aurez accès à vos variables d'environnement de votre application, et aux variables de l'environnement d'exécution (APP, CONTAINER, CONTAINER_VERSION). Vous pouvez utiliser ces variables directement dans la ligne postdeploy du Procfile, ou dans un script qui est appelé par celui-ci.
Application des migrations Rails
Gardez à l'esprit que les migrations peuvent échouer, concevez-les en sachant cela, vous trouverez un article de Codeship expliquant ce processus.
Notifier un service tiers
Newrelic
Rollbar
Exécuter un script personnalisé
Vous pouvez même enchaîner des tâches en utilisant des opérateurs logiques comme && ou ||
Déploiements en un clic
Il y a quelque temps, nous avons publié notre manière d'ajouter un bouton sur le site web de votre projet open-source ou la page Github. Grâce à ce hook, beaucoup de nouvelles possibilités sont disponibles car vous pouvez réaliser des opérations pour initialiser la base de données ou tout ce qui est requis par votre application de manière automatisée.
Notez qu' pour faciliter le processus, si vous utilisiez déjà cette fonctionnalité de Heroku, nous avons ajouté une couche de compatibilité pour utiliser l'attribut scripts.postdeploy du manifeste JSON de votre application comme un hook postdeploy standard sur Scalingo.
Ce que vous ne devez pas faire
Construire des actifs : Le
postdeployhook n'est pas le bon endroit pour construire vos actifs. Gardez à l'esprit que l'action est exécutée dans un conteneur dédié unique, les autres conteneurs de votre application ne seront pas impactés par un changement de fichier. Toutes les opérations relatives aux actifs doivent être réalisées lors du processus de construction.
Conclusion
Vous trouverez plus d'informations sur la façon dont ce hook est exécuté dans notre documentation. C'est une première pierre dans une vue d'ensemble plus grande, l'étape suivante sera liée à Github :
Levez la main si vous voulez tester la nouvelle intégration Github ! #PaaS #Github pic.twitter.com/8MK6IM9KtE
— Scalingo (@ScalingoHQ) 7 octobre 2016
N'hésitez pas à nous contacter si vous avez des retours sur la fonctionnalité, ou si vous souhaitez tester en version bêta l'intégration Github.

Yann Klis
Yann KLIS a fondé Scalingo en 2015 avec son associé Léo Unbekandt avec la vision de proposer une plateforme cloud d'hébergement web, véritable alternative européenne et souveraine aux géants américains. Aujourd'hui Scalingo héberge plusieurs milliers d'applications web déployées par des clients du monde entier ! L'objectif de Scalingo est de devenir la plateforme cloud de référence pour les développeurs web en Europe. Auparavant, il a fondé Novelys, un studio de développement spécialisé dans la technologie Ruby on Rails.
Restez informé
Recevez des articles et des mises à jour de la plateforme dans votre boîte de réception.
Prêt à déployer en toute confiance ?
Découvrez des déploiements sans temps d'arrêt, une mise à l'échelle automatique intelligente et une infrastructure entièrement gérée. Commencez à déployer vos applications sur Scalingo dès aujourd'hui.
Aucune carte de crédit requise • Déployez en quelques minutes • Annulez à tout moment






