Я запускаю команду оболочки в конце развертывания Jenkins, чтобы перезапустить сценарий навсегда:
npm install && forever stop app.js && forever start -a -l /var/log/forever.log app.js
Когда я запускаю это как пользователь jenkins, все работает нормально, и вывод консоли из истории сборки также говорит мне, что скрипт работает вечно. Однако процесс останавливается сразу после завершения развертывания, и процесс навсегда останавливается.
Что вызывает такое поведение и как я могу это исправить?
deployment
node.js
jenkins
Патрик
источник
источник
Вопрос довольно старый, но я думаю, что в этом случае есть лучшее решение.
Используйте плагин Post-Build Script
Сам плагин не обновляется с начала 2016 года, но он выполняет свою работу, и вам не нужно возиться с переменными среды. Кажется, немного аккуратнее для меня.
источник
В новых конвейерных заданиях настройка
BUILD_ID
больше не работает. Вместо этого вам нужно настроить,JENKINS_NODE_COOKIE
чтобы Дженкинс не убивал ваш процесс, когда работа завершится.Или, более избирательно:
Смотрите вики на ProcessTreeKiller и этот комментарий в Jenkins Jira .
источник
Попробуйте с:
источник