仅当设置了全局环境变量时才允许timer启动jenkins管道

3z6pesqy  于 2023-10-17  发布在  Jenkins
关注(0)|答案(1)|浏览(150)

我在jenkins中设置了一个全局环境变量-flag,它接受值onoff
我在jenkins中有多个声明性管道,其中一些是基于计时器触发的。
现在,我不想让定时器在flag设置为on时触发计划的管道。
一种方法是在所有由定时器触发的管道中的所有阶段中使用when {expression {env.flag == 'off' }}。我甚至不能一次将它应用于stages,而是必须将它单独应用于stages中的所有stage。有更好的办法吗?
我如何才能做到这一点,最好不安装任何新的插件?

amrnrhlw

amrnrhlw1#

一种解决方案是在管道的开始处抛出一个错误if flag = on,但这意味着一旦标志为on,管道就会失败。但是你可以通过一些post函数处理来避免FAILURE
否则,你可以尝试使用脚本管道而不是声明式管道:

node('your node'){
 if(!flag){
  stage(){...}
 }
}

相关问题