Jenkins Job Builder - 自动管道作业
Jenkins Job Builder - Automatic Pipeline Job
目前,在 Jenkins Job Builder 中,我可以通过 publishers 选项指定下游作业,如下所示:
- job-template:
name: foo-one
project-type: freestyle
disabled: false
...
publishers:
- pipeline:
project: foo-two
创建foo-one作业时,下游连接存在于Jenkins中,但Build other projects条目是'Build other projects (Manual Step)'.如何通过 Jenkins Job Builder 指示与作业 foo-two 的下游连接需要自动化?
无法弄清楚如何使用 Jenkins Job Builder publisher/pipeline 标签解决问题。所以,结束了:
- 在 Jenkins 中配置 foo-one 作业以在 foo-one[= 时启动 foo-two 28=] 成功完成
- 通过以下方式检索 foo-one 作业的 config.xml 文件:curl -O http://localhost:8080/job/foo-one/config.xml
- 从控制下游启动逻辑的 config.xml 文件中提取了相关的 XML。
使用 Jenkins Job Builder xml 和 publisher 标签:
- job-template:
name: foo-one
project-type: freestyle
disabled: false
...
publishers:
- raw:
xml: |
<hudson.tasks.BuildTrigger>
<childProjects>foo-two</childProjects>
<threshold>
<name>SUCCESS</name>
<ordinal>0</ordinal>
<completeBuild>true</completeBuild>
</threshold>
</hudson.tasks.BuildTrigger>
尝试使用 trigger-parameterized-builds
触发下游作业。
- job-template:
name: foo-one
project-type: freestyle
disabled: false
...
publishers:
- trigger-parameterized-builds:
- project: 'foo-two'
condition: UNSTABLE_OR_BETTER
fail-on-missing: true
目前,在 Jenkins Job Builder 中,我可以通过 publishers 选项指定下游作业,如下所示:
- job-template:
name: foo-one
project-type: freestyle
disabled: false
...
publishers:
- pipeline:
project: foo-two
创建foo-one作业时,下游连接存在于Jenkins中,但Build other projects条目是'Build other projects (Manual Step)'.如何通过 Jenkins Job Builder 指示与作业 foo-two 的下游连接需要自动化?
无法弄清楚如何使用 Jenkins Job Builder publisher/pipeline 标签解决问题。所以,结束了:
- 在 Jenkins 中配置 foo-one 作业以在 foo-one[= 时启动 foo-two 28=] 成功完成
- 通过以下方式检索 foo-one 作业的 config.xml 文件:curl -O http://localhost:8080/job/foo-one/config.xml
- 从控制下游启动逻辑的 config.xml 文件中提取了相关的 XML。
使用 Jenkins Job Builder xml 和 publisher 标签:
- job-template: name: foo-one project-type: freestyle disabled: false ... publishers: - raw: xml: | <hudson.tasks.BuildTrigger> <childProjects>foo-two</childProjects> <threshold> <name>SUCCESS</name> <ordinal>0</ordinal> <completeBuild>true</completeBuild> </threshold> </hudson.tasks.BuildTrigger>
尝试使用 trigger-parameterized-builds
触发下游作业。
- job-template:
name: foo-one
project-type: freestyle
disabled: false
...
publishers:
- trigger-parameterized-builds:
- project: 'foo-two'
condition: UNSTABLE_OR_BETTER
fail-on-missing: true