J'exécute une commande shell à la fin d'un déploiement Jenkins pour redémarrer un script pour toujours:
npm install && forever stop app.js && forever start -a -l /var/log/forever.log app.js
Lorsque je l'exécute en tant qu'utilisateur jenkins, tout fonctionne correctement et la sortie de la console à partir de l'historique de génération me dit également que le script forever est en cours d'exécution. Cependant, le processus s'arrête juste après la fin du déploiement et le processus permanent est arrêté.
Qu'est-ce qui cause ce comportement et comment puis-je le corriger?
deployment
node.js
jenkins
Patrick
la source
la source
La question est assez ancienne, mais il y a une meilleure solution dans ce cas je pense.
Utiliser le plug-in de script post-build
Le plugin lui-même n'est pas mis à jour depuis le début de 2016, mais il fait le travail et vous n'avez pas à jouer avec les variables d'environnement. Cela me semble un peu plus soigné.
la source
Dans les nouveaux travaux Pipeline, la définition
BUILD_ID
ne fonctionne plus. Au lieu de cela, vous devez définirJENKINS_NODE_COOKIE
pour empêcher Jenkins de tuer votre processus lorsque le travail se termine.Ou, plus sélectivement:
Voir le wiki sur ProcessTreeKiller et ce commentaire dans le Jenkins Jira .
la source
Essayez avec:
la source