【问题标题】:How to use Jenkins JobDSL to set 'Check out to specific local branch' in Git Plugin?如何使用 Jenkins JobDSL 在 Git 插件中设置“签出到特定本地分支”?
【发布时间】:2020-03-04 04:28:45
【问题描述】:
【问题讨论】:
标签:
jenkins
jenkins-job-dsl
【解决方案1】:
自从编写了接受的答案以来,已添加对“签出到特定本地分支”的支持:
job {
scm {
git {
remote {
url(GIT_URL)
}
branch('master')
extensions {
localBranch 'master'
}
}
}
}
【解决方案2】:
Job DSL 目前不支持该选项,但您可以使用configure block 修改生成的配置 XML:
job {
scm {
git {
remote {
url(GIT_URL)
}
branch('master')
configure { node ->
node / 'extensions' << 'hudson.plugins.git.extensions.impl.LocalBranch' {
localBranch('master')
}
}
}
}
}
【解决方案3】:
还有另一种方式来做命名的本地分支:
multibranchPipelineJob(pathToJob) {
branchSources { ... }
configure {
def traits = it / sources / data / 'jenkins.branch.BranchSource' / source / traits
traits << 'jenkins.plugins.git.traits.LocalBranchTrait' {
localBranch('**')
}
}
}