仅在设置了全局环境变量时才允许计时器启动 jenkins 管道

问题描述 投票:0回答:1

我在詹金斯中设置了一个全局环境变量 -

flag
,它接受值
on
off

我在詹金斯中有多个声明性管道,其中一些是根据计时器触发的。

现在我不希望计时器在

flag
设置为
on
时触发预定的管道。

一种方法是在计时器触发的所有管道的所有阶段中使用

when {expression {env.flag == 'off' }}
。我什至无法立即将其应用于
stages
,而是必须将其单独应用于
stage
内的所有
stages
。有更好的办法吗?

我怎样才能做到这一点,最好不安装任何新插件?

windows jenkins global-variables flags jenkins-declarative-pipeline
1个回答
0
投票

一种解决方案可能是如果

flag = on
在管道开头,则抛出错误,但这意味着一旦标志为
on
,管道就会失败。但您可以通过一些
FAILURE
功能治疗来避免
post

否则,您可以尝试使用脚本化管道而不是声明式管道:

node('your node'){
 if(!flag){
  stage(){...}
 }
}
© www.soinside.com 2019 - 2024. All rights reserved.