Jenkinsfile访问现有的环境变量

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

如何访问SOME_VAR块内的现有环境变量environment

我想用一个新名字NEW_VAR重新定义它?

pipeline {
    agent {
        label any
    }
    environment {
        SECRET = credentials('secret-credential') // works as expected
        NEW_VAR = ? // get from different env variable
    }
    stages {
        stage('Test') {
            steps {
                echo "SECRET=${env.SECRET}"
                echo "NEW_VAR=${env.NEW_VAR}"
            }
        }
    }
}

到目前为止我尝试了什么:

NEW_VAR = SOME_VAR        // fails build
NEW_VAR = env.SOME_VAR    // fails build
NEW_VAR = ${env.SOME_VAR} // fails build
NEW_VAR = env('SOME_VAR') // does not fail, but NEW_VAR is null
NEW_VAR = env(SOME_VAR)   // does not fail, but NEW_VAR is null
jenkins environment-variables jenkins-pipeline jenkins-groovy jenkins-declarative-pipeline
1个回答
2
投票

用这个:

environment {
    NEW_VAR = "${env.SOME_VAR}"
}

这样你就可以使用string interpolation,然后将字符串值赋给新的var。 刚刚测试过,这应该可行。

© www.soinside.com 2019 - 2024. All rights reserved.