运行 即使上一个作业在 Jenkins 构建流程中失败,也会按顺序执行下一个作业

Run next job in sequence even if the previous job fails in a Jenkins Build flow

我有一个构建流程,它按顺序构建 4 个作业

例如;

build(Job 1)
build(Job 2)
build(Job 3)
build(Job 4)

我想 运行 作业 4,即使之前的任何作业也失败了。我怎样才能在构建流程中做到这一点?

您可以将传播设置为 false,这将确保您的工作流程在特定作业失败时继续:

build job: '<job_name>', propagate: false

您可以按如下方式使用Jenkins Workflow Plugin

try {
  build 'A'
} catch(e) {
  echo 'Build for job A failed'
}
try {
  build 'B'
} catch(e) {
  echo 'Build for job B failed'
}

您可以将此习语扩展到任意数量的作业或您想要的 success/failure 流程的任意组合(例如,如果您想构建 catches,则添加 build 步骤一些工作以防另一个失败。

对我来说,propagate: false 没有用,所以我在我的 BuildFlow 中使用了 ignore(FAILURE),以确保流程中的所有作业都执行,即使出现故障也是如此。 (Ref)

  ignore(FAILURE) {
        build("JobToCall",  Param1: "param1Val", Param2: "param2Val")
    }