在詹金斯管道并行阶段中,如果一个阶段失败,如何迅速杀死其他阶段?

nev*_*ves 2 jenkins jenkins-pipeline

如果工作失败,我不必等待所有人完成。是否可以中止仍在运行的并行阶段。它们必须显示为“已终止”,而不是带有红色十字图标,因为必须突出显示失败的图标。

mke*_*erz 5

将以下方法添加到您的选项中,如果任何(并行)阶段失败,则整个管道将停止。

pipeline {
  agent none
  options {
    parallelsAlwaysFailFast()
  }
}
Run Code Online (Sandbox Code Playgroud)

该选项突出显示失败的阶段。不幸的是,其他阶段没有显示,因为aborted它们只是获得通常的(未突出显示)红色。

  • 我添加了此选项,但验证失败并显示以下消息:`WorkflowScript:119:无效的选项类型“ parallelsAlwaysFailFast”。有效的选项类型:[authorizationMatrix,buildDiscarder,catchError,checkoutToSub目录,disableConcurrentBuilds,disableResume,耐久性提示,gitLabConnection,gitlabBuilds,gitlabCommitStatus,锁,newContainerPerStage,overrideIndexTriggers,preserveStashes,quietPeriod,rateLimitBuilds,重试,重试,跳过时间,重试,跳过时间,重试, ,withContext,withCredentials,withEnv,ws] (3认同)
  • 此选项必须在并行阶段本身完成:https://jenkins.io/doc/book/pipeline/syntax/ (2认同)