@Maxon4eg92
Тестировщик

Как правлильно запускать jar на удаленной машине через jenkins?

Всем привет !

У меня вопрос , как лучше всего запустить jar файл ( spring-boot если кому интересно ) на удаленном хосту.
имеется следующее флоу :
1. Дженкинс билдид jar
2. Дженкинс подключается на хост , закидывает необходимые файлы
3. Дженкинс выполняет java -jar app.jar
4. Дженкинс закрывает соединение , тем самым закрывает запуск комманды java

в результате , дженкинс говорит что билд успешен
а по факту приложение не работает

есть идеи как сделать 3-4 шаг таким образом что бы
1. приложение НЕ закрывалось вместе с закрытием сессии дженкинса ?
2. давать знать дженкинсу , поднялось ли приложение успешно , или не взлетело ( там ексепшн при запуске или типа того )
  • Вопрос задан
  • 1121 просмотр
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
3. Дженкинс выполняет java -jar app.jar

Запускайте приложение в фоне, с nohup
nohup java -jar app.jar &

4. Дженкинс закрывает соединение , тем самым закрывает запуск комманды java

Закрытие команды java, запущенной через nohup не произойдет, но вам нужно будет добавить шаг, который сможет проверить, что приложение запустилось. и шаг, который впоследствии остановит приложение.

Например проверить лог файлы на определенные слова (ERROR, FAIL).
Либо добавить в ваше приложение некий API, который можно дернуть, а он в ответ "application version xxx is running"
И добавить остановку вашего приложения - через kill или через тот же API.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
EreminD
@EreminD
Кое-что умею
а как выглядят шаги 2, 3 и 4? можно подробнее?
Просто дженкинс стартует процесс и должен дожидаться его окончания
А потом только переходить к шагу (4)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы