jenkins - 使用 env groovy 文件访问 Jenkins 凭证存储 secret

标签 jenkins groovy

我已经按照此 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/

相关文章:

groovy - 灯泡:g.scripts.update():TypeError:序列项 2:预期字符串或 Unicode,未找到 NoneType

gradle - 如何更改Gradle 6的内部Groovy版本?

groovy - 使用GroovyShell作为 "expression evaluator/engine"(或: How to reuse GroovyShell))

grails - 有没有办法让Grails中的 Controller 之间可以访问功能?

linux - 在 Ubuntu 18.04.4 上安装 Jenkins。 Jenkins 没有开始

javascript - 从 jenkins 作业加载到 PHP

java - Gradle maven插件: uploadArchives cannot find/tmp/gradle_empty_settings xml

java - App Engine 的 Maven Central Google 镜像 settings.xml

tomcat - Jenkins 运行 tomcat8 sudo : no tty present and no askpass program specified with NOPASSWD

ubuntu - 如何将一些输出打印到终端以及文件