【问题标题】:How to start a job from another job in a declarative pipeline?如何在声明式管道中从另一份工作开始工作?
【发布时间】:2017-04-12 16:44:03
【问题描述】:

假设有两个工作:

  1. 微服务存储库的工作
  2. 端到端测试的工作

在特定情况下,我希望从微服务作业开始端到端测试作业。例如,在引入更改后,即使通过了单元测试和集成测试,它仍需要进一步测试,可在端到端测试作业中使用。

我希望开发人员使用特定的短语进行提交。为此,我在微服务管道中实现了以下内容:

pipeline {
    ...
    ...
    stages {
        ...
    }    


    post {
        success {
            if (BRANCH_NAME == "develop") {
                result = sh (script: "git log -1 | grep '.*\\[e2e\\].*'", returnStatus: true) 
                if (result == 0) {
                    build job: '****', wait: false
                }
            }
        }
    ...
    ...
    }
}

这似乎有效,因为我在日志中看到以下内容:

git 日志 -1
grep '.[e2e].'
运行测试 [e2e] [Pipeline] build (Building ****)
调度项目:****

所以它找到了“[e2e]”,并且应该在端到端测试作业中安排了构建,但实际上什么也没发生 - 没有安排/运行作业。

【问题讨论】:

    标签: jenkins jenkins-pipeline declarative


    【解决方案1】:

    因为我使用的是多分支作业,所以我必须 - 当然 - 还要指定分支名称...哦。

    build job: '****/master', wait: false
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      • 2022-11-08
      • 2021-10-16
      相关资源
      最近更新 更多