如何在声明式流水线中从另一个作业开始工作?

3
假设有两个工作:
  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 log -1 grep '.[e2e].' Run tests [e2e] [Pipeline] build (Building ****) Scheduling item: ****
所以它找到了“[e2e]”,并据称在端到端测试作业中安排了一次构建,但实际上没有发生任何事情-没有安排/运行作业。
1个回答

2

因为我正在使用多分支作业,所以我必须 - 当然 - 也要指定分支名称... 噢。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接