如何从声明性管道中的另一个工作开始工作?

时间:2017-04-12 16:44:04

标签: jenkins jenkins-pipeline declarative

让我们假设有两份工作:

  1. 微服务存储库的工作
  2. 端到端测试的工作
  3. 在特定情况下,我希望从微服务工作开始端到端测试工作。例如,在引入了即使通过单元测试和集成测试的更改之后,它还需要进行进一步的测试,可在端到端测试工作中使用。

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

    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]”并且据说计划在端到端测试工作中进行构建,但实际上没有任何事情发生 - 没有工作被安排/运行。

1 个答案:

答案 0 :(得分:1)

因为我正在使用多分支工作,所以我当然必须指定分支名称...... d'oh。

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