Как отключить некоторые ветки в Multibranch Jenkins Builds?


10

У меня есть многоотраслевое задание для запуска любой ветки с Jenkinsfile.

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

  1. Я могу удалить ветку
  2. Я могу удалить Jenkinsfile в этой ветке

Второе решение хорошо, за исключением того, что мне нужно зафиксировать и отправить это в репозиторий git для моей ветки, и если эта ветка объединяется с другой веткой, это сносит Jenkinsfile.

Каков наилучший способ отключить только некоторые ветви многоотраслевого конвейера?

Ответы:


17

Jenkins может фильтровать ветви в многоотраслевом конвейере по имени, используя подстановочный знак или регулярное выражение.

ветки фильтра Дженкинса


Любой способ сделать это в Jenkinsfile (так что это воспроизводимо)?
— xjcl

1
Да, вы можете добавить when { anyOf { branch 'master'; branch 'release/**' } }на любом этапе (в декларативном) или if (env.BRANCH_NAME == 'master' || (env.BRANCH_NAME).startsWith('release/')) {}в сценарии конвейера (почти в любом месте). Для первого варианта есть больше доступных в jenkins.io/doc/book/pipeline/syntax/#when . В любом случае, лучший способ - настроить это в плагине многоотраслевого конвейера, как указано в ответе.
— Биолаури

-1

Просто удалите Jenkinsfile на ветке (ветках), для которой вы не хотите иметь соответствующие задания на ветке. Это приведет к удалению задания ветвления (если, конечно, вы правильно установили «Стратегию для осиротевших предметов»).

С точки зрения проекта многоотраслевого конвейера Jenkins это имеет тот же эффект, что и удаление ветви. Это потому, что он просто сканирует ветки, которые содержат Jenkinsfiles в качестве критерия того, когда создавать (или удалять) соответствующее задание ветки.

Верните коммит, чтобы восстановить Jenkinsfile, если / когда вам снова понадобится ветвление.


Это слишком много работы. Когда вы создаете ветку и удаляете файл, вы изменяете историю GIT без уважительной причины. Гораздо лучше фильтровать на уровне Дженкинса, чтобы вам ничего не нужно было делать.
— Кейси Вега
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.