为JenkinsJob定义自己的全局变量(不适用于所有作业!!)

时间:2018-06-17 06:28:47

标签: jenkins

我有Jen Jenkins的作业,它在我的Jenkins作业中有make命令的构建标志的字符串输入参数。我的问题是,当我们有一个发布分支时,有些用户忘记更改参数值。所以我想覆盖当作业是发布作业时应该使用的现有字符串输入参数(或创建一个新参数)。

这是我要添加的声明:

如果分支“ release ”则$ {params.build_flag} ='DEBUGSKIP = TRUE'

并且无效的代码是:

pipeline {
agent none


parameters {
    string(name: 'build_flag', defaultValue: 'DEBUGSKIP=TRUE', description: 'Flags to pass to build')   

    If {
       allOf {
            branch "*release*"
            expression {
                ${params.build_flag} = 'DEBUGSKIP=TRUE'
            }
        }
    }else{
    ${params.build_flag} = 'DEBUGSKIP=FALSE'
    }
}

上面的代码解释了我想要做什么,但我不知道这样做。

1 个答案:

答案 0 :(得分:0)

如果可以,请使用JENKINS EnvInject Plugin查看您是否可以使用管道使用the supported use-case

  

注入" Properties Content"中定义的EnvVars工作属性的字段

     

这些EnvVars正在注入脚本环境,并且无法通过" env"管道全局变量(为in here

或者在文件中写入正确的值,并将该文件内容用作" Properties Content"下游工作(shown there)。