Jenkinsfile получить доступ к существующей переменной среды
Как получить доступ к существующей переменной среды 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
1 ответ
Решение
Использовать этот:
environment {
NEW_VAR = "${env.SOME_VAR}"
}
Таким образом, вы выполняете интерполяцию строк, а затем присваиваете строковое значение новой переменной.
Только что проверил, это должно работать.