Ответ 1
Чтобы создать сборку сразу после завершения кода, вам нужно будет что-то сообщить об этом Дженкинсу.
Однако вы можете настроить свою работу для регулярного опроса вашего SCM (в моем магазине мы опросу наших меркуриальных репозиториев каждые 5 минут) для новых изменений и сборки, если есть новые изменения.
Для этого в разделе Build Triggers установите флажок Опрос SCM и заполните выражение cron в текстовом поле. Для опроса каждые 5 минут мы используем
H/5 * * * *
Обратите внимание, что мы использовали
*/5 * * * *
но заменяя левый *
на H
, разрешите Дженкинсу избегать опроса для всех проектов одновременно (он будет опроса каждые 5 минут, но не обязательно в 0, 5, 10 и т.д. минут.
Обновление
Можно также запускать сборки удаленно, проверяя Триггерные сборки удаленно и указав токен в текстовом поле. Тогда простой контакт от script к соответствующему URL-адресу вызовет сборку.
JENKINS_URL/job/JOB_NAME/build?token=TOKEN_NAME
(для этого параметра могут потребоваться определенные разрешения для настройки или какая-либо конкретная глобальная конфигурация, поскольку, по-видимому, она недоступна для OP)
Для решения для перехвата после фиксации см. Документацию по подключению Subversion от Jenkins с важными частями ниже:
Дженкинс может опробовать репозитории Subversion для изменений, и хотя это достаточно эффективно, это может произойти только каждый раз в минуту, поэтому вам все равно придется ждать полную минуту, пока Дженкинс не обнаружит изменения.
Чтобы уменьшить эту задержку, вы можете настроить post commit hook, чтобы репозиторий Subversion мог уведомлять Jenkins о любых изменениях в этом репозитории. Чтобы сделать это, поместите следующий script в ваш пост-фиксационный файл (в каталоге $REPOSITORY/hooks):
REPOS="$1" REV="$2" UUID=`svnlook uuid $REPOS` /usr/bin/wget \ --header "Content-Type:text/plain;charset=UTF-8" \ --post-data "`svnlook changed --revision $REV $REPOS`" \ --output-document "-" \ --timeout=2 \ http://server/subversion/${UUID}/notifyCommit?rev=$REV
(Настоятельно рекомендуется прочитать полную документацию для информации, относящейся к конфигурации или для более надежного script)