一尘不染

在不使用WithCredentials的情况下将密码隐藏在Jenkins Pipeline日志输出中

jenkins

我有一个基于的参数化Jenkins管道Jenkinsfile。一些参数包含敏感的密码,我不想出现在作业的构建日志中。

所以我的问题是:我可以在其中以某种方式注册一个String Jenkinsfile,然后**********每当它出现在日志输出中时,由它代替吗?

我知道此withCredentials步骤,但是我不能使用它,因为凭据没有存储在Jenkins凭据存储中(而是在运行时作为参数提供)。

我在这里找到了这个答案,并像这样尝试:

def secrets = [
    [password: firstPassword, var: 'SECRET'],
    [password: secondPassword, var: 'SECRET'],
    [password: thirdPassword, var: 'SECRET']
]

node() {
    wrap([$class: 'MaskPasswordsBuildWrapper', varPasswordPairs: secrets]) {
        // my stages containing steps...
    }
}

其中firstPasswordsecondPasswordthirdPassword是包含我的密码变量。但是我仍然firstPassword在日志输出中得到…显示的纯文本的内容。

我在Jenkins的2.12.0版中安装了Mask Password插件

基本上,我正在搜索以下内容:https :
//issues.jenkins-ci.org/browse/JENKINS-27486-票证已解决,但未提供最终实现的示例摘录。


阅读 679

收藏
2020-07-25

共1个答案

一尘不染

我认为您正在寻找JENKINS-36007吗?

2020-07-25