Как отключить некоторые ветки в 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.