我已经按照此 post 实现了为环境变量加载 groovy 文件.
env.groovy:
env.DB_USER = 'testuser'
env.DB_PASS = credentials('DB_PASS')
Jenkinsfile:
stages {
stage ("print") {
steps {
load "${WORKSPACE}/env.groovy"
echo "${env.DB_USER}"
echo "${env.DB_PASS}"
}
}
}
输出:
[Pipeline] echo
testuser
[Pipeline] echo
@credentials(<anonymous>=DB_PASS)
加载 groovy 环境变量文件时,DB_PASS 是否可以访问 Jenkins 凭证存储?
注意:我知道我可以访问 Jenkinsfile 的environment { } block 中的环境变量。但由于我有这么多环境变量,我想知道是否可以在单独的 groovy 文件中引用它们。
最佳答案
暂时,尝试在你的 jenkinsfile 中这样做。
environment {
DB_PASS = credentials('DB_PASS')
}
但是,您仍然无法回显 DB_PASS 环境变量,因为凭据类型变量保留保密属性。还要记住变量在 jenkinsfile 中具有作用域。
关于jenkins - 使用 env groovy 文件访问 Jenkins 凭证存储 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53088903/