我可以在jenkins声明性管道中使用when条件成功跳过一个阶段,但如果一组条件不满足,我想提前中止构建。我尝试将when块放在阶段内部和阶段外部的顶层,但它给出语法错误,分别为“预期阶段”和“未定义的部分when”。有人能建议我如何使其工作吗?
when {
anyOf {
not {
equals expected: true, actual: params.boolean_parameter
}
not{
equals expected: '', actual: params.string_parameter
}
}
}
1条答案
按热度按时间js4nwp541#
在声明性管道中,
when
指令只能用于阶段。要解决您的问题,您可以创建一个虚拟阶段,用于在条件不存在时中止管道,在该步骤中,您可以使用常规when
指令,在阶段的步骤中,只需使用error
关键字中止生成并显示相关消息(请参阅错误文档)。比如:
这样,如果不满足条件,构建将被中止,但是post部分仍将执行,允许您发送通知,如果需要的话。