通过作业 DSL 插件创建扫描多分支管道时,不会为每个分支自动创建作业
When creating a scan multibranch pipeline via the job DSL plugin will not autocreate jobs for each branch
我正在使用作业 DSL 插件创建多分支管道作业,如 https://jenkinsci.github.io/job-dsl-plugin/#path/multibranchPipelineJob 中所述
多分支管道作业已创建,但它不会创建新管道,即使一个分支具有 Jenkinsfile。
每次触发扫描时,我都会看到以下输出:
Getting remote branches...
Seen branch in repository origin/branch1
Seen branch in repository origin/branch2
Seen branch in repository origin/master
Seen 3 remote branches
Checking branch master
Checking branch branch2
Checking branch branch1
Done.
[Tue Jun 20 11:49:46 GMT 2017] Finished branch indexing. Indexing took 2.2 sec
Finished: SUCCESS
如果我通过 Jenkins UI 和 运行 创建多分支管道,我看到的作业是
Getting remote branches...
Seen branch in repository origin/branch1
Seen branch in repository origin/branch2
Seen branch in repository origin/master
Seen 3 remote branches
Checking branch branch2
‘Jenkinsfile’ not found
Does not meet criteria
Checking branch branch1
‘Jenkinsfile’ found
Met criteria
Done.
[Tue Jun 20 11:52:58 GMT 2017] Finished branch indexing. Indexing took 2.7 sec
Finished: SUCCESS
如您所见,通过作业 DSL 插件生成作业时,找不到“Jenkinsfile”。我缺少什么?
我的工作 DSL 插件正在使用记录的示例代码:
multibranchPipelineJob('example') {
branchSources {
git {
remote('https://github.com/jenkinsci/job-dsl-plugin.git')
credentialsId('github-ci')
includes('JENKINS-*')
}
}
orphanedItemStrategy {
discardOldItems {
numToKeep(20)
}
}
}
该示例将检查的分支限制为以 JENKINS-
开头的分支。您的存储库不包含任何以 JENKINS-
开头的分支。从您的作业 DSL 脚本中删除 includes
调用:
multibranchPipelineJob('example') {
branchSources {
git {
remote('https://github.com/jenkinsci/job-dsl-plugin.git')
credentialsId('github-ci')
}
}
orphanedItemStrategy {
discardOldItems {
numToKeep(20)
}
}
}
我正在使用作业 DSL 插件创建多分支管道作业,如 https://jenkinsci.github.io/job-dsl-plugin/#path/multibranchPipelineJob 中所述 多分支管道作业已创建,但它不会创建新管道,即使一个分支具有 Jenkinsfile。 每次触发扫描时,我都会看到以下输出:
Getting remote branches...
Seen branch in repository origin/branch1
Seen branch in repository origin/branch2
Seen branch in repository origin/master
Seen 3 remote branches
Checking branch master
Checking branch branch2
Checking branch branch1
Done.
[Tue Jun 20 11:49:46 GMT 2017] Finished branch indexing. Indexing took 2.2 sec
Finished: SUCCESS
如果我通过 Jenkins UI 和 运行 创建多分支管道,我看到的作业是
Getting remote branches...
Seen branch in repository origin/branch1
Seen branch in repository origin/branch2
Seen branch in repository origin/master
Seen 3 remote branches
Checking branch branch2
‘Jenkinsfile’ not found
Does not meet criteria
Checking branch branch1
‘Jenkinsfile’ found
Met criteria
Done.
[Tue Jun 20 11:52:58 GMT 2017] Finished branch indexing. Indexing took 2.7 sec
Finished: SUCCESS
如您所见,通过作业 DSL 插件生成作业时,找不到“Jenkinsfile”。我缺少什么?
我的工作 DSL 插件正在使用记录的示例代码:
multibranchPipelineJob('example') {
branchSources {
git {
remote('https://github.com/jenkinsci/job-dsl-plugin.git')
credentialsId('github-ci')
includes('JENKINS-*')
}
}
orphanedItemStrategy {
discardOldItems {
numToKeep(20)
}
}
}
该示例将检查的分支限制为以 JENKINS-
开头的分支。您的存储库不包含任何以 JENKINS-
开头的分支。从您的作业 DSL 脚本中删除 includes
调用:
multibranchPipelineJob('example') {
branchSources {
git {
remote('https://github.com/jenkinsci/job-dsl-plugin.git')
credentialsId('github-ci')
}
}
orphanedItemStrategy {
discardOldItems {
numToKeep(20)
}
}
}