Хадсон не строит проекты, когда получен триггер SVN после фиксации
Я пытаюсь настроить сервер непрерывной интеграции Hudson, чтобы любые коммиты SVN запускали новую сборку. Я видел много вопросов и ответов по stackru относительно настройки сервера SVN, но не так много о настройке Hudson.
Я добавил хук post-commit для сервера SVN, который свяжется с Hudson при коммите. Я использую хук post-commit, как описано здесь: http://wiki.hudson-ci.org/display/HUDSON/Subversion+Plugin
Но сборка не запускается после фиксации SVN. Я получил значение UUID из приведенного выше сценария ловушки после фиксации и отправил свой собственный запрос HTTP POST на сервер Hudson:
http://<server>/hudson/subversion/<uuid>/notifyCommit?rev=<rev>
После этого логи Хадсона показывают следующее:
WARNING: No subversion jobs using SCM polling
Так что мой HTTP-запрос POST достигает Хадсона, но Хадсон жалуется, что нет заданий, настроенных что-либо сделать с этим уведомлением.
Согласно приведенной выше ссылке, мне нужно (а) настроить опрос SCM (достаточно любого расписания) и (б) разрешить анонимный доступ на чтение и (в) отключить межсайтовые проверки.
Поэтому я настроил одно из моих заданий Hudson для использования опроса SCM для ночной сборки и убедился, что межэксплуатационная проверка была отключена. У меня также отключена опция "Включить безопасность", что подразумевает (я предполагаю), что анонимный доступ для чтения разрешен.
Затем я снова отправил HTTP-запрос POST, представляющий уведомление о фиксации SVN. На этот раз в системных журналах нет сообщений, что означает отсутствие предупреждений о заданиях без опроса SCM. Но до сих пор нет сборки.
Мне кажется, что Хадсон может распознать триггер компоновки через запрос HTTP POST и знает, что есть работа с опросом SCM, которая может принять триггер компоновки, но не запускает компоновку.
Мне интересно, что мне нужно сделать, чтобы это исправить. Нужно ли включать безопасность и явно разрешать анонимный доступ для чтения? Или включить опцию авторизации "кто угодно может сделать что угодно"? Нужно ли каким-либо образом изменить опрос SCM (в настоящее время установлено значение "0 2 * * *")?
Любая помощь приветствуется.
редактировать: я запускаю Hudson в Tomcat, и Tomcat запускается как служба в Windows XP.
1 ответ
До версии 3.0.0 (версия 2.2.1 и ранее) функция опроса в Hudson имела два значения:
1) Если вы выберете опрос и включите расписание, то это задание будет выполнено с поиском любых изменений в назначенное время. Эта работа будет игнорировать любые перехваты пост-фиксации от вашего SCM, так же, как и задания сборки, у которых вообще нет опроса
2) Включите опрос, но оставьте поле фактического опроса пустым. Это позволяет Hudson "пассивно" опрашивать: т. Е. Он бездействует до тех пор, пока триггер пост-фиксации не придет к Hudson, и только в это время будут выполняться задания сборки.
Моя рекомендация состоит в том, чтобы включить опрос, как вы сделали, но вывести расписание. Сообщите сообществу, решит ли это вашу проблему.