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 标签解决问题。所以,结束了:

  1. 在 Jenkins 中配置 foo-one 作业以在 foo-one[= 时启动 foo-two 28=] 成功完成
  2. 通过以下方式检索 foo-one 作业的 config.xml 文件:curl -O http://localhost:8080/job/foo-one/config.xml
  3. 从控制下游启动逻辑的 config.xml 文件中提取了相关的 XML。
  4. 使用 Jenkins Job Builder xmlpublisher 标签:

    - 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