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