Существует ☐ Сложения после других проектов построены в филиалах странице конфигурации и может быть выбрано, но филиалы конфигурация не может быть сохранена (Пункт меню в боковой панели филиалов читает только Просмотр конфигурации , не Настройте).
Следующее как Jenkinsfile
должно делать то, что вы пытаетесь достичь. Добавьте его ко всем вашим филиалам. В случае изменений отредактируйте его на своем master
/trunk
и вибрируйте его в ветви, на которые влияют эти изменения.
// From: Trigger dependent jobs in Multibranch Pipeline project
// http://stackoverflow.com/a/38151703/1744774
String[][] buildChains = [
['master'],
['branch1', 'master'],
['branch2', 'branch1', 'master'],
['no-build']
// ... further build chains ...
]
for (buildChain in buildChains) {
if (buildChain[0].equalsIgnoreCase(env.BRANCH_NAME)) {
int depth = 0
for (branch in buildChain) {
String depthIndicator = "+" * ++depth
//optional: String depthIndicator = new String(new char[++depth]).replace('\0', '+')
//optional: String depthIndicator = repeat("+", ++depth)
println " $depthIndicator Triggering build for branch '$branch'"
build(branch)
} // for (branches)
break // comment this if there are more build chains for one branch
}
} // for (buildChains)
def build(String branch) {
switch (branch) {
case "master":
buildMaster()
break
case ["branch1", "branch2"]:
buildBranch(branch)
break
// case ...
// ...
default:
println " --- No build defined for branch \'$branch\' ---"
} // switch (branch)
} // build(branch)
def buildMaster() {
println ' Building branch \'master\'...'
// ... build code ...
}
def buildBranch(String branch) {
println " Building branch '$branch'..."
// ... build code ...
}
// From: Can I multiply strings in Java to repeat sequences?
// http://stackoverflow.com/a/34650746/1744774
String repeat(String s, int count) {
return count > 0 ? s + repeat(s, --count) : ""
}
Запуск его на branch1
:
[Pipeline] echo
+ Triggering build for branch 'branch1'
[Pipeline] echo
Building branch 'branch1'...
[Pipeline] echo
++ Triggering build for branch 'master'
[Pipeline] echo
Building branch 'master'...
[Pipeline] End of Pipeline
Finished: SUCCESS
Запуск его на branch2
:
[Pipeline] echo
+ Triggering build for branch 'branch2'
[Pipeline] echo
Building branch 'branch2'...
[Pipeline] echo
++ Triggering build for branch 'branch1'
[Pipeline] echo
Building branch 'branch1'...
[Pipeline] echo
+++ Triggering build for branch 'master'
[Pipeline] echo
Building branch 'master'...
[Pipeline] End of Pipeline
Finished: SUCCESS
Помните утвердить первоначально запрещенные функции с Script Security Plugin под Управление Дженкинс → В процессе Подтверждение подлинности.
Спасибо за ваш ответ. Попробуем. –
@SarojGharat Добро пожаловать. Если вы хотите поблагодарить людей здесь, см. Раздел [Почему важно голосование?] (Http://stackoverflow.com/help/why-vote). –
Мне пришлось использовать полный путь для успешного запуска –