我正在使用工作DSL插件创建一个Jenkins多分支管道作业。
生成的作业将不匹配我的git repo的任何分支:
Checking branches...
Checking branch feature/xyz
Does not meet criteria
Checking branch main
Does not meet criteria
Checking branch release/1.0.0
Does not meet criteria
当我打开生成的作业的配置,然后点击“保存”(不做任何更改),repo再次被扫描,这一次分支将匹配:
Checking branches...
Checking branch feature/xyz
Met criteria
Checking branch main
Met criteria
Checking branch release/1.0.0
Met criteria
当我查看原始作业与“保存”作业的 * config.xml * 文件时,差异如下:
原始的 * config.xml *(通过工作目录)
<sources class="jenkins.branch.MultiBranchProject$BranchSourceList">
更新 * config.xml *(保存未修改的配置后)
<sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="[email protected]_8ea_8a_724">
也就是说,最初通过job DSL插件创建的 config.xml 没有“plugin”属性,但“保存”未修改的配置被jenkins重写并添加了“plugin”属性。
我不确定为什么重写作业配置(没有任何实际更改)会修复分支扫描问题。这里有插件问题吗?我需要调整我的工作DSL来指定一个特定的插件吗?如果是的话,是怎么做到的?
使用:
- Jenkins2.422
- Jenkins Job DSL plugin 1.84
- Jenkins分支API插件2.1122.v09cb_8ea_8a_724
1条答案
按热度按时间mzmfm0qo1#
找到解决办法了。
DSL包括以下内容:
我没有为这个远程SCM指定Jenkinsfile的路径,因为文档中提到了以下内容:
关于默认值的那一点是不正确的。我必须手动指定路径,即使我使用的是默认值:
现在,DSL生成的作业将识别分支。万岁!