Остановка при запуске
У меня есть задание Jenkins, чтобы остановить приложение узла, развернуть код и запустить приложение.
Запуск / остановка выполняется с помощью сценария Upstart.
я использую initctl stop node-App
Если работа запущена, это прекрасно работает. Но если приложение умерло или находится в остановленном состоянии, вывод initctl: Unknown instance:
Это приводит к сбою задания Jenkins и не позволяет перейти к следующим шагам.
Есть ли способ проверить, запущено ли задание перед выдачей команды запуска? Или у Дженкинса есть способ не считать это ошибкой и провалить работу?
1 ответ
Решение
Коллега придумал отличное решение
if ( initctl status node-App | grep start ); then
initctl stop node-App
fi
Очень просто и работает правильно при запуске из Дженкинс
Я использую аналогичную конструкцию
initctl stop node-App || echo "node-App was not running"