Jenkinsfile 访问现有环境变量

Jenkinsfile access existing environment variable

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

我想用一个新名称重新定义它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

使用这个:

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

您这样做是 string interpolation,然后将字符串值分配给新变量。
刚测试过,应该可以。