Jenkins声明性:触发另一个管道并将阶段结果传递给当前管道

Jenkins声明性:触发另一个管道并将阶段结果传递给当前管道,jenkins,jenkins-pipeline,jenkins-declarative-pipeline,Jenkins,Jenkins Pipeline,Jenkins Declarative Pipeline,我在Jenkins中有两个声明性管道。我想在管道A内运行的阶段的参数内触发pipelineB,并检查pipelineB的生成/阶段结果,以决定pipelineA是继续还是中止。 如果pipelineB构建/阶段结果成功,则pipelineA应继续进行阶段C,除非中止 stage('A'){ steps{ script{ //Do something }

我在Jenkins中有两个声明性管道。我想在管道A内运行的阶段的参数内触发pipelineB,并检查pipelineB的生成/阶段结果,以决定pipelineA是继续还是中止。 如果pipelineB构建/阶段结果成功,则pipelineA应继续进行阶段C,除非中止

       stage('A'){
            steps{
                script{
                     //Do something
        }  


        stage ('B'){
            steps {
                script {
                        // Trigger another pipeline and check result of this
                        build job: 'pipelineB', parameters: [
                        string(name: 'param1', value: "value1")
                      ]
                }
            }
        }


        stage('C'){
            steps{
                script{
                   //Do something
        }

获取下游作业生成结果并分配给上游作业生成结果

script {
  // Trigger another pipeline and check result of this
  ret = build(job: 'pipelineB', 
                  parameters: [
                      string(name: 'param1', value: "value1")
                  ],
                  propagate: true,
                  wait: true)

  echo ret.result
  currentBuild.result = ret.result
}

阅读详细信息

获取下游作业构建结果并分配给上游作业构建结果

script {
  // Trigger another pipeline and check result of this
  ret = build(job: 'pipelineB', 
                  parameters: [
                      string(name: 'param1', value: "value1")
                  ],
                  propagate: true,
                  wait: true)

  echo ret.result
  currentBuild.result = ret.result
}

详细信息请阅读

您要实现的目标需要分为两个独立的工作流。我们有几个微服务。。我们希望在使用UI部署其他微服务时运行selenium测试。。Selenium只是在我们部署uımicroservices时运行。您试图实现的目标需要分为两个单独的工作流。。我们希望在使用UI部署其他微服务时运行selenium测试。。Selenium只是在我们部署uımicroservices时运行,
propagate
wait
的默认值已经是
true
,如果下游作业失败而不需要做任何事情,他的阶段不应该失败吗?@yong,如何添加要触发的分支名称?如何在pipelineB中再添加一个参数以接受分支,并在pipelineB的第一阶段运行sh“git checkout${params.branch}”以切换到所需的分支。然后在上面的代码片段中向下传递分支参数的值。
propagate
wait
的默认值已经是
true
,如果下游作业失败而不需要做任何事情,他的阶段不应该失败吗?@yong,如何添加要触发的分支名称?如何在pipelineB中再添加一个参数以接受分支,并在pipelineB的第一阶段运行sh“git checkout${params.branch}”以切换到所需的分支。然后在上面的代码段中传递分支参数的值。