让我们假设有两份工作:
在特定情况下,我希望从微服务工作开始端到端测试工作。例如,在引入了即使通过单元测试和集成测试的更改之后,它还需要进行进一步的测试,可在端到端测试工作中使用。
我希望开发人员使用特定的短语进行提交。为此,我在微服务管道中实现了以下内容:
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]。'
运行测试[e2e] [Pipeline] build(Building ****)
计划项目:****
所以它找到了“[e2e]”并且据说计划在端到端测试工作中进行构建,但实际上没有任何事情发生 - 没有工作被安排/运行。
答案 0 :(得分:1)
因为我正在使用多分支工作,所以我当然必须指定分支名称...... d'oh。
build job: '****/master', wait: false