我想在Jenkins声明性流水线语法中定义多个阶段,可以继续执行即使其中任何一个失败。我找不到现有的重复问题,因为它们都假设或允许脚本语法。
pipeline {
agent any
stages {
stage('stage 1') {
steps {
echo "I need to run every time"
}
}
stage('stage 2') {
steps {
echo "I need to run every time, even if stage 1 fails"
}
}
stage('stage 3') {
steps {
echo "Bonus points if the solution is robust enough to allow me to continue *or* be halted based on previous stage status"
}
}
}
}
澄清一下,我不是在寻找如何使用脚本语法完成这个任务。我试图了解是否支持并规范化此类流程控制的声明性语法。为此,我将尝试明确定义我正在寻找的内容:
必需的
- 无try/catch。我不想降到脚本模式下,也不想在另一个共享库或脚本块中“包装”我的声明性管道。
- 没有后续步骤的花招。我想要真正的多个阶段,而不是一个包含所有其他逻辑的
post always
步骤的阶段。
可选的
- 失败的阶段应该被识别为已失败;我不希望因“跳过”或“继续”而将失败的阶段显示为绿色。
- 有任何失败阶段的构建应标记为红色(或黄色,或任何不是绿色的颜色)。
try/catch
,否则不会通过断点。2)考虑到 Maven 和其声明性 POM,如果一个阶段(阶段)失败了,整个构建就会失败,除非消除原因并重试,否则没有机会克服这个问题。[待续] - Gerold Broser