如果上游作业中止,则下游jenkins作业不会中止

如果上游作业中止,则下游jenkins作业不会中止,jenkins,jenkins-pipeline,pipeline,abort,Jenkins,Jenkins Pipeline,Pipeline,Abort,两个jenkins作业连接为:上游作业是一个管道,触发一个自由式作业 在Jenkins中是否可能出现以下情况: 如果中止下游作业,则中止上游作业。 但是如果上游作业被中止,则下游作业不应中止,而应继续运行 Upstream job : node('upstream_node'){ build job: 'downstream_job', wait:true, propagate:false } 我已经尝试了所有可能的组合,包括“等待”和“传播”选项,但没有一个能起作用

两个jenkins作业连接为:上游作业是一个管道,触发一个自由式作业

在Jenkins中是否可能出现以下情况:

如果中止下游作业,则中止上游作业。 但是如果上游作业被中止,则下游作业不应中止,而应继续运行

Upstream job :
    node('upstream_node'){
    build job: 'downstream_job', wait:true, propagate:false
    }

我已经尝试了所有可能的组合,包括“等待”和“传播”选项,但没有一个能起作用

使用
propagate:true
而不是
false

这是来自:

  • 传播(可选)
    如果设置了,那么如果下游构建是什么 但是成功了(蓝球),这一步失败了。如果禁用,则此 即使下游构建不稳定、失败等,步骤也会成功。; 根据需要使用返回值的result属性
找到了解决办法

在Jenkins中使用锁插件


propagate:true满足一个条件。1-如果下游作业中止,则上游作业中止。但它也可以:2-如果上游作业被中止,则下游作业被中止。而我想要的是NR1。3-如果上游作业被中止,下游作业将继续,我认为这是由于
等待:false
。有一个选项可以使用阻止下游作业,但我不确定它是否与
wait
相同。您应该尝试等待:false不满足条件1。无论下游作业发生什么情况,上游作业都不会受到影响,因为上游作业不会等待。已经尝试了所有的组合。虽然“参数化触发器插件”中的选项不能用于管道,但只能用于自由式作业。但无论如何,谢谢你的回复。的确,但现在我不明白你的目的,如果你已经取消了上游的工作,你为什么还要继续下游的工作?因为上游的工作是这样一个过程,如果它已经开始,它应该结束,不管发生什么。它不应该停止,否则会破坏其他东西。但其结果并不总是被考虑在内。重要的是,一旦开始,直到结束。听起来你应该有2份工作,而不是1份。