我在詹金斯中设置了一个全局环境变量 -
flag
,它接受值on
和off
我在詹金斯中有多个声明性管道,其中一些是根据计时器触发的。
现在我不希望计时器在
flag
设置为 on
时触发预定的管道。
一种方法是在计时器触发的所有管道的所有阶段中使用
when {expression {env.flag == 'off' }}
。我什至无法立即将其应用于 stages
,而是必须将其单独应用于 stage
内的所有 stages
。有更好的办法吗?
我怎样才能做到这一点,最好不安装任何新插件?
一种解决方案可能是如果
flag = on
在管道开头,则抛出错误,但这意味着一旦标志为 on
,管道就会失败。但您可以通过一些 FAILURE
功能治疗来避免 post
。
否则,您可以尝试使用脚本化管道而不是声明式管道:
node('your node'){
if(!flag){
stage(){...}
}
}