Назад | Перейти на главную страницу

Дженкинс создает часы для новых веток и создает именованную ветку

Я хотел бы настроить одну сборку Jenkins («задание»), которая будет:

  1. следите за новыми ветками и стройте их, когда они появятся
  2. построить именованную ветку или зафиксировать по запросу

Я могу достичь (1), установив "Ветви для построения" на "**"

Я могу достичь (2), сделав сборку параметризованной и установив «Ветви для сборки» на «$ branch» (например, этот учебник)

Есть ли способ сделать и то, и другое одновременно?

Мотивация

Мой вариант использования (1) заключается в том, что я хочу, чтобы «ветки функций» были протестированы перед объединением в мастер, чтобы мы могли видеть во время проверки кода / запроса на вытягивание, проходят ли изменения все тесты.

Мой вариант использования (2) заключается в том, что иногда сборка не выполняется по ложной причине (например, нестабильный тест), и я хочу ее повторно запустить, или, возможно, старая ветка выпала из нижней части истории, и я хочу повторно -запустить его тесты.

Если у вас есть параметризованная сборка без значения по умолчанию, а также вы настроили задание на опрос исходного элемента управления в Build Triggers > Poll SCM тогда все должно работать.

Важно, чтобы ваш branch параметр не имеет значения по умолчанию, поэтому $branch пусто, когда задание запускается из опроса, потому что Branches to build интерпретирует пустое значение как любую ветвь.

(Обратите внимание, что это будет создавать каждую фиксацию, а не только «новые ветки» согласно (1), но и любое решение, которое устанавливает Branches to build к ** как вы предлагаете.)

Я был в том же положении, включение «принудительного опроса с использованием рабочей области» решило бы проблемы. Jenkins-ci.org/browse/JENKINS-29896