Déploiement avec utilisation de Hooks
Hook (ou webhook) est une procédure d'insertion de code dans une opération standard pour appliquer une certaine personnalisation. Dans les limites de la plateforme RAGNARØKKR, cette fonctionnalité vous permet d'exécuter vos scripts personnalisés avant et/ou après l'opération de déploiement de l'application. Ainsi, pour le nœud de construction Maven et le serveur d'application Golang, les Hooks de construction avant et après le projet peuvent être mis en place.
Nous examinerons donc ci-dessous comment utiliser les Hooks de RAGNARØKKR et nous donnerons un aperçu de plusieurs cas d'utilisation courante avec des instructions étape par étape pour lesquelles cette fonctionnalité peut être utile :
• Gestion des Hooks
• Cas d'utilisation des Hooks
Gestion des Hooks
Faisant partie du processus de déploiement, les Hooks sont disponibles dans une section extensible du formulaire approprié du tableau de bord. Ainsi, pour gérer les Hooks, accédez au dialogue de déploiement de l'application en utilisant l'une des options suivantes :
• Gestionnaire de déploiement
• Boutons de déploiements d'un serveur d'application
1. Dans la fenêtre ouverte, choisissez le type de source de déploiement souhaité et développez la section Hooks.
Ici, cliquez sur le bouton Pré ou Post pour fournir votre code, qui sera exécuté respectivement juste avant ou immédiatement après le déploiement (selon l'option choisie).
2. Saisissez le code Hook requis dans la fenêtre de l'éditeur ouverte. Ici, vous pouvez utiliser n'importe quel langage de programmation souhaité, assurez-vous simplement que l'interpréteur de code approprié est déjà installé sur le conteneur cible (soit en l'installant vous-même, soit en l'incluant dans la construction de la pile par défaut).
Remarque : dans le volet supérieur, vous avez accès aux outils suivants pour vous aider lors de l'édition du code :
• Formater lignes : freine le texte pour le poursuivre dans la ligne du dessous s'il atteint la bordure du cadre
• Rechercher : permet de trouver facilement les informations nécessaires ; est fourni avec les options de recherche supplémentaires Respecter la casse et Regex
• Aide : redirige vers le document actuel pour obtenir les détails sur l'utilisation correcte des Hooks
Cliquez sur Appliquer lorsque vous êtes prêt. Vous pouvez maintenant déployer votre application.
3. Après le déploiement réussi, vous pouvez cliquer sur le bouton Voir journal dans la notification du tableau de bord qui apparaît pour voir la réponse détaillée sur les opérations effectuées :
Note : En cas de problème lors de l'exécution du crochet, vous recevrez la notification appropriée, tandis que le processus de déploiement sera interrompu :
Cliquez sur le bouton Voir journal afin d'obtenir des détails sur l'erreur survenue en consultant le journal des actions de déploiement (qui correspond au fichier hooks.log, accessible via la section "Journal" pour le serveur approprié)
Cas d’utilisation des Hooks
Les Hooks offrent un large éventail de possibilités aux développeurs, permettant d'automatiser la majorité des processus de routine pour obtenir une application prête à l'emploi juste après le déploiement.
À titre d'exemple, nous avons rassemblé ci-dessous un certain nombre de tâches les plus courantes qui pourraient être programmées pour être accomplies automatiquement par des Hooks :
• Hooks de pré-déploiement (c'est-à-dire effectués avant le déploiement effectif de l'application)
o Pour vérifier si toutes les exigences sont remplies
o Pour préinstaller les logiciels requis
o Pour vider ou préparer un dossier dédié aux dossiers de candidature
o Pour enregistrer les données
• Hooks de post-déploiement (une fois le déploiement terminé)
o Pour redémarrer votre serveur d'application après le déploiement
o Pour installer des dépendances de projet
o Pour appliquer toute autre personnalisation souhaitée
o Pour enregistrer les données
Ci-dessous, nous vous proposons un exemple simple de création de votre propre fichier journal à l'aide de Hooks.
1. Commencez le déploiement de votre projet en utilisant la méthode que vous préférez. Nous utiliserons l'archive par défaut HelloWorld.zip du gestionnaire de déploiement.
2. Développez la section Hooks, cliquez sur le Hook Pre et fournissez le code suivant dans l'éditeur ouvert :
1 echo "$(date) - deployment start" >> ~/mylog
2 if ! grep -q "$(pwd)/mylog" /etc/jelastic/redeploy.conf; then
3 echo "$(pwd)/mylog" >> /etc/jelastic/redeploy.conf
4 fi
Cela ajoutera une chaîne dans le fichier mylog (qui sera automatiquement créé dans le répertoire d'origine, s'il n'existe pas), qui identifiera le début du déploiement et fournira l'horodatage approprié. Nous vérifions également si le fichier redeploy.conf comprend notre fichier journal personnalisé et, si ce n'est pas le cas, nous ajoutons la ligne appropriée, de telle sorte qu'elle sera conservée après l'opération de redéploiement du conteneur.
3. Pour le Hook Post, ajoutez le code suivant :
1 echo "$(date) - deployment end" >> ~/mylog
Astuce : Si nécessaire, vous pouvez utiliser la commande de sortie (exit) permettant de briser votre Hook et l'exécution de l'opération de déploiement / construction appropriée à tout moment. Ici, la valeur 0 (c'est-à-dire exit 0) est utilisée pour indiquer le succès, tandis que toute autre valeur suppose une erreur (par exemple exit 1).
Ici, nous ne faisons qu'enregistrer la fin de notre déploiement.
4. Enfin, déployez votre application et vérifiez les fichiers mylog et redeploy.conf pour vous assurer de la bonne exécution des Hooks.
Comme vous pouvez le constater, nos scripts ont fonctionné comme prévu, en fournissant l'heure de début et de fin du déploiement et en assurant sa protection pendant l'opération de redéploiement.
Si vous rencontrez des problèmes en travaillant avec des Hooks, n'hésitez pas à demander l'aide de nos experts techniques.