#bash #unix #jenkins #ant #jboss
#bash #unix #дженкинс #ant #jboss
Вопрос:
У меня есть сценарий Ant, который должен быть вызван из Jenkins, который — после других задач развертывания — запускает сервер JBoss. Пакет развертывания уже содержит сценарий запуска, который завершает сценарий запуска JBoss:
[...]/bin/run.sh -b ip -c config >/dev/null 2>amp;1 amp;
Сценарий запуска выполняется нормально при выполнении вручную (т.е. ssh на сервер и sudo./startup.sh )
Теперь у меня возникли проблемы с вызовом этого сценария запуска из sshexec
задачи. Задача может выполнить сценарий запуска, и JBoss запускается, но завершается, как только задача возвращается и переходит к следующей задаче — аналогично run.sh
прямому запуску и закрытию сеанса.
Моя задача довольно стандартная
<sshexec host="host" username="username" password="password"
command="echo password | sudo -S sh ${JBOSS_HOME}/server/config/startup.sh" />
Я в замешательстве. Разве приведенный выше сценарий запуска не должен уже включать запуск JBoss отдельно от сеанса? Есть идеи, как это решить?
Удаленная система — Redhat 6.
Ответ №1:
Неважно, я нашел это. Все еще необходимо объединить nohup
и выполнить фоновый запуск со сценарием запуска. Плюс «грязный обходной путь» отсюда https://unix.stackexchange.com/questions/91065/nohup-sudo-does-not-prompt-for-passwd-and-does-nothing (на самом деле было блестяще)
Конечный результат:
echo password | sudo -S env amp;amp; sudo sh -c 'nohup startup.sh > /dev/null 2>amp;1 amp;'