我为我的项目创建了一个作业DSL脚本以在jenkins上运行,该作业包含令牌和秘密。因此,我使用了一个 bitbucket 作为我的远程 SCM。并将令牌作为秘密存储。问题是当我通过 jenkins 运行它时如何使 jenkins 获取秘密值,或者是否有一种方法可以直接通过 bitbucket 管道运行?
另一种方法是将秘密作为凭据存储在詹金斯中,并在执行期间检索它们。但我真的不知道该怎么做 步骤如下:
def x = {“服务”:“服务令牌”,“服务”:“服务令牌”}
对于服务,x 中的令牌: 做x 你做吗
我尝试将它们作为纯文本添加到我的工作 DSL 的第一个版本中(在我将其包含在 SCM 中之前)并且成功了,但秘密在于如何以安全的方式执行此操作的方法
如果您想在管道中使用凭据,可以使用凭据绑定(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)
}
}
"""