multibranchPipelineJob 作业 DSL:如何启用发现分支和抑制自动 SCM 触发
multibranchPipelineJob job DSL: how to enable Discover branches and Suppress automatic SCM triggering
如何在 Jenkins 作业 DSL 中为多分支管道启用行为 Discover Benches 和 属性 策略 抑制自动 SCM 触发?
可以这样做:
multibranchPipelineJob('job name') {
branchSources {
branchSource {
source {
git {
remote('https://<repo address>.git')
credentialsId('credential id')
}
}
strategy {
defaultBranchPropertyStrategy {
props {
noTriggerBranchProperty()
}
}
}
}
}
configure {
def traits = it / sources / data / 'jenkins.branch.BranchSource' / source / traits
traits << 'jenkins.plugins.git.traits.BranchDiscoveryTrait' {}
}
triggers {
periodic(2) // Trigger every 2 min.
}
orphanedItemStrategy { discardOldItems { numToKeep(-1) } }
}
只是为了扩展已接受的答案:您不需要那种棘手的 traits << ...
语法来添加分支(或标签)发现。相反,您可以使用 traits { }
部分(参见 docs)。
multibranchPipelineJob 'job name', {
branchSources {
branchSource {
source {
git {
id 'job name'
remote 'git@<repo-url>.git'
credentialsId 'git-creds-id'
traits {
gitBranchDiscovery()
gitTagDiscovery() // if you need tag discovery
}
}
}
strategy {
defaultBranchPropertyStrategy {
props {
noTriggerBranchProperty()
}
}
}
}
}
}
如何在 Jenkins 作业 DSL 中为多分支管道启用行为 Discover Benches 和 属性 策略 抑制自动 SCM 触发?
可以这样做:
multibranchPipelineJob('job name') {
branchSources {
branchSource {
source {
git {
remote('https://<repo address>.git')
credentialsId('credential id')
}
}
strategy {
defaultBranchPropertyStrategy {
props {
noTriggerBranchProperty()
}
}
}
}
}
configure {
def traits = it / sources / data / 'jenkins.branch.BranchSource' / source / traits
traits << 'jenkins.plugins.git.traits.BranchDiscoveryTrait' {}
}
triggers {
periodic(2) // Trigger every 2 min.
}
orphanedItemStrategy { discardOldItems { numToKeep(-1) } }
}
只是为了扩展已接受的答案:您不需要那种棘手的 traits << ...
语法来添加分支(或标签)发现。相反,您可以使用 traits { }
部分(参见 docs)。
multibranchPipelineJob 'job name', {
branchSources {
branchSource {
source {
git {
id 'job name'
remote 'git@<repo-url>.git'
credentialsId 'git-creds-id'
traits {
gitBranchDiscovery()
gitTagDiscovery() // if you need tag discovery
}
}
}
strategy {
defaultBranchPropertyStrategy {
props {
noTriggerBranchProperty()
}
}
}
}
}
}