Как исключить ветку git из здания в Дженкинсе
Вот моя текущая настройка Jenkins для проекта:
- одно задание запускает все ветки развития
- одно задание запускает все запросы на pull
- одно задание запускает только ведущую ветвь
- одно задание делает автоматическое освобождение только тогда, когда мастер передает
Эта настройка позволяет мне иметь непрерывную автоматическую доставку, а также постоянную обратную связь во время разработки. Первые 3 задания также запускают все тесты и отчеты о покрытии.
Проблема в том, что я не мог найти способ исключить мастер-ветвь из задания "все ветки развития". Он излишне строит мастер дважды каждый раз, когда я объединяю запрос pull.
Кто-нибудь знает, как исключить одну ветку из работы в Jenkins?
ps: Я использую плагины Git и Github. Мой проект хранится в Github.
Ответы
Ответ 1
Вы можете выбрать стратегию "Обратная" для таргетинга ветвей для сборки.
Проверьте конфигурацию задания Jenkins,
- "Управление исходным кодом" (выберите "Git" )
- Дополнительные действия
- нажмите кнопку "Добавить"
- выберите "Стратегия выбора того, что нужно строить"
- выберите "Обратная" стратегия в поле со списком.
(Не забудьте заполнить текстовое поле "Филиалы для построения" с помощью "master" )
См. также изображение скриншота вложений:
![enter image description here]()
Ответ 2
Вы можете использовать :^(?!.*master).*$
в качестве спецификатора ветвления в Дженкинсе, и будут созданы все ветки, кроме мастера. См. Ответ: fooobar.com/info/170861/...