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,然后将字符串值分配给新变量。
刚测试过,应该可以。
如何访问 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,然后将字符串值分配给新变量。
刚测试过,应该可以。