Запуск задания Jenkins при изменении только определенной подпапки в папке scm задания - PullRequest
10 голосов
/ 07 ноября 2011

Я перевожу систему непрерывной интеграции из Teamcity в Jenkins.У нас есть один репозиторий SVN для всех наших проектов, например:

project/dev_db_build (folder)
project/module1 (folder)
project/module2 (folder)
projets/pom.xml

Для создания базы данных на CI-сервере я использую url project / dev_db_build и могу опрашивать этот URL для запуска сборок при наличии изменений.

Для сборки приложения я использую url project / Поэтому, если я опрашиваю его, и есть изменения в dev_db_build, сборка приложения должна игнорироваться и запускаться после успешного завершения db_build.

В teamcty я использовал для этого «Шаблоны триггеров»,Но в Jenkins есть так много плагинов для запуска https://wiki.jenkins -ci.org / display / JENKINS / Plugins # Plugins-Buildtriggers - Я просмотрел некоторые из них и не нашел подходящих.

Ответы [ 2 ]

9 голосов
/ 08 ноября 2011

В идеале, вы должны использовать хук после фиксации, как предложено @Mike, а не опрос.В противном случае при настройке задания Jenkins в разделе «Управление исходным кодом» с выбранной «Subversion» есть кнопка «Дополнительно».При нажатии на эту кнопку открывается ряд параметров, в том числе «Исключенные регионы»

Если установлено, и Jenkins настроен на опрос изменений, Jenkins будет игнорировать любые файлы и / или папки в этом списке при определении, еслиСборка должна быть запущена.Каждое исключение использует сопоставление с шаблоном регулярного выражения и должно быть разделено новой строкой.

/ trunk / myapp / src / main / web /.*. Html

/ trunk / myapp / src/main/web/.*.jpeg

/ trunk / myapp / src / main / web /.*. gif

В приведенном выше примере показано, что если только файлы html / jpeg / gif имеютбыло зафиксировано в SCM, сборка не произойдет.Более подробную информацию о регулярных выражениях можно найти здесь .

В вашем случае вы бы установили для «Исключенных регионов» что-то вроде

/project/dev_db_build/.*
2 голосов
/ 07 ноября 2011

У вас есть возможность редактировать ваши хуки Subversion?Вместо того, чтобы проводить опрос вашего сервера Jenkins SVN, я бы порекомендовал вам сделать так, чтобы SVN вызывал Jenkins через хук post-commit, чтобы автоматически запускать сборку при коммите разработчика.Это приводит к уменьшению нагрузки на серверы Jenkins и SVN, а также к отсутствию периода ожидания, каким бы длительным не был ваш интервал опроса до начала сборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...