Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
504 views
in Technique[技术] by (71.8m points)

Set global variable in jenkins pipeline with Prepare an environment for the run

I'm trying to set environment variables in a jenkins pipeline script. I want to use the section "Prepare an environment for the run" in configure. So, in this section, I put the following groovy script:

instance = Jenkins.getInstance()
def globalNodeProperties = instance.getGlobalNodeProperties()
def envVarsNodePropertyList = globalNodeProperties.getAll(hudson.slaves.EnvironmentVariablesNodeProperty.class)
def newEnvVarsNodeProperty = null
def envVars = null

if ( envVarsNodePropertyList == null || envVarsNodePropertyList.size() == 0 ) {
  newEnvVarsNodeProperty = new hudson.slaves.EnvironmentVariablesNodeProperty();
  globalNodeProperties.add(newEnvVarsNodeProperty)
  envVars = newEnvVarsNodeProperty.getEnvVars()
} else {
  envVars = envVarsNodePropertyList.get(0).getEnvVars()

}
envVars.put("DEFCONFIG", "Name_of_Defconfig")

instance.save()

And, the pipeline script is shown below :

def get_name() {
    return env.DEFCONFIG
}

pipeline {
  agent {
    node {
        label 'BSP'
    }
  }
  environment {
     defconfig_name = get_name()
  }
  stages {
    stage('test var') {
      steps {
        sh '''
        echo ${defconfig_name}
        echo "Hello word"
           '''
      }
    }
  }
}

But, instead of reading the value of DEFCONFIG I find "null" in the console:

[Pipeline] sh
+ echo null
null

Probably I am missing something but I cannot find what.

Any idea please?

question from:https://stackoverflow.com/questions/65952643/set-global-variable-in-jenkins-pipeline-with-prepare-an-environment-for-the-run

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...