Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins管道插件并行执行两条管道,并使下游管道等待_Jenkins_Continuous Integration_Jenkins Pipeline - Fatal编程技术网

Jenkins管道插件并行执行两条管道,并使下游管道等待

Jenkins管道插件并行执行两条管道,并使下游管道等待,jenkins,continuous-integration,jenkins-pipeline,Jenkins,Continuous Integration,Jenkins Pipeline,我们正在使用Jenkins和for CI/CD。我们有两条管道需要平行运行,还有一条下游管道,只有在两条上游管道都完成并成功运行的情况下才会触发 P1-- | -- P3 P2-- 基本上,P3应该只在P1和P2完成并成功运行时运行,而不仅仅依赖于其中一个 有没有办法做到这一点?我们使用的是2.5版本的插件。您可以尝试将管道作业包装为一个阶段中的两个作业,以实现您所需的逻辑。您可以尝试将管道作业包装为一个阶段中的两个作业,以实现您所需的逻辑。因为只有在前一个阶段运行时才运行阶段成功地

我们正在使用Jenkins和for CI/CD。我们有两条管道需要平行运行,还有一条下游管道,只有在两条上游管道都完成并成功运行的情况下才会触发

P1--
    | -- P3
P2-- 
基本上,P3应该只在P1和P2完成并成功运行时运行,而不仅仅依赖于其中一个


有没有办法做到这一点?我们使用的是2.5版本的插件。

您可以尝试将管道作业包装为一个阶段中的两个作业,以实现您所需的逻辑。

您可以尝试将管道作业包装为一个阶段中的两个作业,以实现您所需的逻辑。

因为只有在前一个阶段运行时才运行阶段成功地,并且由于您可以通过
构建
执行其他管道,并且由于有一条神奇的指令称为
并行
,我认为这可能会做到:

pipeline {
  agent { label 'docker' }
  stages {
    stage("build_p1_and_p2_in_parallel") {
      steps {
        parallel p1: {
          build 'p1'
        }, p2: {
          build 'p2'
        }
      }
    }
    stage("build_p3_if_p1_and_p2_succeeded") {
      steps {
        build 'p3'
      }
    }
  }
}

使用jenkins实例中嵌入的“代码片段生成器”来确定
build
的参数应该是什么。如果它是与顶级Jenkins文件处于同一级别的另一个管道,则可以通过作业名称引用它。警告:我使用了
并行
,但从未在
并行
中使用
构建
,但它似乎应该可以工作。

因为只有在前几个阶段成功运行的情况下,阶段才会运行,而且因为您可以通过
构建
执行其他管道,而且有一条神奇的指令称为
并行
,我认为这可能会做到:

pipeline {
  agent { label 'docker' }
  stages {
    stage("build_p1_and_p2_in_parallel") {
      steps {
        parallel p1: {
          build 'p1'
        }, p2: {
          build 'p2'
        }
      }
    }
    stage("build_p3_if_p1_and_p2_succeeded") {
      steps {
        build 'p3'
      }
    }
  }
}

使用jenkins实例中嵌入的“代码片段生成器”来确定
build
的参数应该是什么。如果它是与顶级Jenkins文件处于同一级别的另一个管道,则可以通过作业名称引用它。警告:我使用了
并行
,但从未在
并行
中使用
构建
,但它似乎应该可以工作。

多作业插件不运行管道,因为该功能尚不受支持。是的,我们知道。很快,我们将发布一个新插件,该插件与pipelinesMultijob插件相同,它不运行管道,因为该功能还不受支持。是的,我们知道。很快,我们将发布一个新的插件,它对管道也有同样的作用