脚本块中的 Jenkins 凭证

Dea*_*ing 1 groovy credentials environment-variables jenkins jenkins-pipeline

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

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

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

environment {
    CERT_CLIENT_TH = credentials("stored.cred.name")
}
Run Code Online (Sandbox Code Playgroud)

当我尝试在脚本块中执行相同的操作时,我无法检索凭据。

script {
  env.CERT_CLIENT_TH = credentials("stored.cred.name")
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

    @credentials(<anonymous>=stored.cred.name)
Run Code Online (Sandbox Code Playgroud)

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

Dib*_*tya 6

根据本文档,这credentials()是该指令支持的特殊帮助器方法environment。因此它不会\xe2\x80\x99t在script块内工作。这environment本身可以在管道的顶层或阶段内定义以限制其范围。

\n\n

您也可以使用此处withCredentials( \xe2\x80\xa6\xe2\x80\x8b ) { \xe2\x80\xa6\xe2\x80\x8b }描述的步骤来限制管道中凭据的范围。

\n