使用Env Groovy文件访问Jenkins凭证存储秘密

时间:2018-10-31 17:19:23

标签: jenkins groovy

我已经通过遵循此post来实现为env变量加载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 env变量文件时是否可以访问DB_PASS的Jenkins凭证存储?

注意:我知道我可以在Jenkinsfile的环境{}块中访问环境变量。但是由于我有太多的env变量,所以我想知道是否可以在单独的Groovy文件中引用它们。

1 个答案:

答案 0 :(得分:1)

暂时,尝试在jenkinsfile中这样做。

environment {
            DB_PASS = credentials('DB_PASS')
        }

但是,由于凭据类型变量保留了保密性,因此您仍然无法回显DB_PASS环境变量。另外请记住,变量在jenkinsfile中具有作用域。