【问题标题】:Jenkins credentials in script block脚本块中的 Jenkins 凭据
【发布时间】:2020-02-12 17:28:15
【问题描述】:

我正在尝试在 Jenkins 文件脚本块中检索存储在 Jenkins 凭据中的值,但无法检索该值

我的詹金斯文件中的以下块有效

我有一个 Jenkins 文件,它使用存储在 jenkins 凭据中的凭据值设置环境变量:

environment {
    CERT_CLIENT_TH = credentials("stored.cred.name")
}

当我尝试在脚本块中做同样的事情时,我无法检索凭据。

script {
  env.CERT_CLIENT_TH = credentials("stored.cred.name")
}

当我使用这两种方法检查输出时,使用 echo "${env.CERT_CLIENT_TH}"

进入环境块时,输出如预期的那样是“****”,因为它是一个加密的凭证值。

当我尝试在脚本块中获取凭据时,回显输出为

    @credentials(<anonymous>=stored.cred.name)

如何在 Jenkins 文件的脚本块中获取凭据?

【问题讨论】:

    标签: jenkins groovy environment-variables jenkins-pipeline credentials


    【解决方案1】:

    根据这个documentationcredentials()environment 指令支持的特殊辅助方法。因此,它在 script 块中不起作用。 environment 指令本身可以定义在管道的顶层或在一个阶段内以限制其范围。

    您也可以使用here 所述的withCredentials( …​ ) { …​ } 步骤来限制管道中凭据的范围。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多