来自远程 SCM 的 jenkins 作业 DSL

问题描述 投票:0回答:1

我为我的项目创建了一个作业DSL脚本以在jenkins上运行,该作业包含令牌和秘密。因此,我使用了一个 bitbucket 作为我的远程 SCM。并将令牌作为秘密存储。问题是当我通过 jenkins 运行它时如何使 jenkins 获取秘密值,或者是否有一种方法可以直接通过 bitbucket 管道运行?

另一种方法是将秘密作为凭据存储在詹金斯中,并在执行期间检索它们。但我真的不知道该怎么做 步骤如下:

def x = {“服务”:“服务令牌”,“服务”:“服务令牌”}

对于服务,x 中的令牌: 做x 你做吗

我尝试将它们作为纯文本添加到我的工作 DSL 的第一个版本中(在我将其包含在 SCM 中之前)并且成功了,但秘密在于如何以安全的方式执行此操作的方法

jenkins bitbucket jenkins-job-dsl
1个回答
0
投票

如果您想在管道中使用凭据,可以使用凭据绑定(https://www.jenkins.io/doc/pipeline/steps/credentials-binding/):

withCredentials([usernameColonPassword(credentialsId: 'mylogin', variable: 'USERPASS')]) { ... }

如果您想在 JobDSL 中使用它,请确保在 GStrings 中指定您的 JobDSL 代码(“-双引号)。

"""
job('example') {
  steps {
    batchFile(echo $USERPASS >secret.txt)
  }
}
"""
© www.soinside.com 2019 - 2024. All rights reserved.