问题描述
我有一个基于Jenkinsfile
的参数化Jenkins管道.一些参数包含敏感密码,我不想出现在作业的构建日志中.
所以我的问题是:我可以在Jenkinsfile
内以某种方式注册一个字符串,然后在出现在日志输出中时将其替换为**********
吗?
我知道withCredentials
步骤,但是我不能使用它,因为凭据没有存储在Jenkins凭据存储中(而是在运行时作为参数提供).
我在 https://stackoverflow.com/a/42372859/1549950 中找到了这个答案,并尝试了这样的操作:
def secrets = [
[password: firstPassword, var: 'SECRET'],
[password: secondPassword, var: 'SECRET'],
[password: thirdPassword, var: 'SECRET']
]
node() {
wrap([$class: 'MaskPasswordsBuildWrapper', varPasswordPairs: secrets]) {
// my stages containing steps...
}
}
其中firstPassword
,secondPassword
,thirdPassword
是包含我的密码的变量.但是我仍然得到firstPassword
...的内容,在日志输出中显示为纯文本.
我在2.1.2.0版的Jenkins上安装了掩码密码插件. /p>
基本上,我正在搜索以下内容: https://issues.jenkins- ci.org/browse/JENKINS-27486 -票证已解决,但未提供最终实现的示例摘录.
我认为您正在寻找 JENKINS-36007 ?
I have a parametrized Jenkins pipeline based on a Jenkinsfile
. Some of the parameters contain sensitive passwords that I don't want to appear in the job's build logs.
So my question is: can I somehow register a String within the Jenkinsfile
that is then replaced - by let's say **********
- whenever it appears in the log output?
I am aware of the withCredentials
step, but I can't use it, since the credentials are not stored in the Jenkins credentials store (but provided as parameters at runtime).
I found this answer here https://stackoverflow.com/a/42372859/1549950 and tried it like this:
def secrets = [
[password: firstPassword, var: 'SECRET'],
[password: secondPassword, var: 'SECRET'],
[password: thirdPassword, var: 'SECRET']
]
node() {
wrap([$class: 'MaskPasswordsBuildWrapper', varPasswordPairs: secrets]) {
// my stages containing steps...
}
}
Where firstPassword
, secondPassword
, thirdPassword
are variables containing my passwords. But still I get the content of firstPassword
... displayed plain text in the log output.
I have the Mask Password plugin installed on my Jenkins in version 2.12.0.
Basically I am searching for something like this: https://issues.jenkins-ci.org/browse/JENKINS-27486 - ticket is resolved, but no sample snippet of final implementation is given.
I think you are looking for JENKINS-36007?
这篇关于在不使用WithCredentials的情况下将密码隐藏在Jenkins Pipeline日志输出中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!