Скрипт Tomcat не работает при запуске из Гудзона - PullRequest
8 голосов
/ 20 апреля 2011

Я пытаюсь запустить скрипт, который останавливает и запускает Tomcat в Linux.

Когда я запускаю его из командной строки, он работает нормально.Но, похоже, он не работает, когда я запускаю тот же сценарий из шага сборки «Execute Shell» в задании Jenkins / Hudson.Дженкинс не сообщает об ошибках, но если я пытаюсь перейти на страницу tomcat, я получаю сообщение об ошибке «страница не найдена».

Таким образом, Дженкинс может остановить сервер, но не может его восстановить.

Буду благодарен за любую помощь.

Ответы [ 2 ]

19 голосов
/ 29 апреля 2011

Попробуйте сбросить BUILD_ID в вашем блоке 'shell execute'. Возможно, вам даже не нужно будет использовать nohup в этом случае

BUILD_ID=
./your_hudson_script_that_starts_tomcat.sh
1 голос
/ 20 апреля 2011

Не видя ваш сценарий, сложно дать точный ответ. Однако вы можете попробовать добавить следующее в начало вашего скрипта (при условии, что это скрипт bash):

# Trace executed commands.
set -x

# Save stdout / stderr in files
exec >/tmp/my_script.stdout
exec 2>/tmp/my_script.stderr

Вы также можете попробовать добавить

set -e

для немедленного выхода из оболочки, если команда возвращает статус ошибки.

Если выглядит так, будто Хадсон убивает Tomcat, вы можете запустить его в nohup (если вы этого еще не сделали):

nohup bin/startup.sh >/dev/null 2>&1 &
...