Я пытаюсь создать задания Multibranch Pipeline Jobs с помощью Job DSL, но хочу отключить одновременные сборки в каждой ветке. Я пробовал следующий фрагмент кода, но он не сработал. «Не разрешать одновременные сборки» все еще не отмечен флажком в новых ветках.
multibranchPipelineJob("${FOLDER_NAME}/${JOB_NAME}") {
branchSources {
git {
remote("https://gitlab.com/${REPO_PATH}")
credentialsId('gitlab_credentials')
includes('*')
}
}
configure {
def factory = it / factory(class: 'com.cloudbees.workflow.multibranch.CustomBranchProjectFactory')
factory << disableConcurrentBuilds()
}
orphanedItemStrategy {
discardOldItems {
numToKeep(1)
}
}
}
Я также пробовал это при закрытии конфигурации:
factory << properties {
disableConcurrentBuilds()
}
Но это вызвало следующее исключение:
19:03:50 groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method groovy.util.Node#leftShift.
19:03:50 Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
19:03:50 [class groovy.util.Node]
19:03:50 [class java.lang.String]
disableConcurrentBuilds()
НЕ поддерживается в заданиях многоотраслевого конвейера. Я также хотел бы указать вам на это связанное обсуждение: gist.github.com/tknerr/c79a514eedb4bda8fb49386 - person timblaktu   schedule 05.11.2020