У меня есть эта проблема время от времени. По какой-то причине сервер Hudson не отключается полностью, а сервер, который запускается, не может использовать порт. Чтобы исправить эту проблему, я запускаю `netstat -n -o '. Таким образом, я могу узнать идентификатор процесса, который содержит порт, и убить это приложение через taskmanager. Теперь я могу перезапустить службу, и Хадсон подходит.
В течение последних нескольких недель у меня была аналогичная проблема. В описании говорится, что он перезапускает приложение, когда процессы не запущены. Я пропустил одно задание, которое удерживалось в очереди на сборку, и из-за неправильной конфигурации никогда не строилось, поэтому предотвращение перезапуска Хадсона.
После завершения всех ваших заданий и перезагрузки сервера. Просто запустите страницу перезагрузки http://server:port/restart и попробуйте снова перезапустить. Если это не работает, остановите службу и запустите ее снова.
UPDATE:
Поскольку я уставал физически входа на сервер Hudson/Jenkins, я теперь использовать следующие команды для запуска убить удаленно. Эти команды предполагают, что вы запускаете службу с помощью выделенного пользователя (например, JenkinsUser). Если другой процесс, работающий с теми же учетными данными, что и служба, и может запустить java.exe, вам нужно запустить netstat, который должен выполняться локально на сервере Jenkins или с помощью rexec (для меня это не вариант).
:: get the pid of jenkins java.exe
tasklist /S %JENKINSSERVER% /FI "IMAGENAME eq java.exe" /FI "USERNAME eq %DOMAIN\USERNAME%"
:: terminate process use pid from previous command (instead of 1234)
taskkill /S %JENKINSSERVER% /F /T /PID 1234
:: stop the Jenkins service (just in case the service is hanging)
sc \\%JENKINSSERVER% stop Jenkins
:: start the Jenkins service again
sc \\%JENKINSSERVER% start Jenkins
Если у меня есть много времени, я могу создать сценарий из него.
Спасибо за предложение Peter!Я собираюсь запустить его обновление в конце дня, и я отдам его, если он зависает. –
Удивительно, что, задав этот вопрос, я обновил Hudson и его плагины и не имел проблемы с перезапуском. Я вижу, что логика в том, что вы говорите, Питер, будет отмечать ваш ответ как принятый. Спасибо за вашу помощь! –
/перезагрузка не работает для меня. Я получил кнопку для перезагрузки, и как только я нажал на нее, я получил следующую ошибку. udson.lifecycle.RestartNotSupportedException: жизненный цикл Windows по умолчанию не поддерживает перезагрузку. \t at hudson.lifecycle.Lifecycle $ 1.verifyRestartable (Lifecycle.java:83) Я не установил Hudson как службу Windows, поскольку это не было вариантом в Manage Hudson. Я запускаю версию 1.3.98 на своей локальной машине Windows 7. – CACuzcatlan