我有一个基于的参数化Jenkins管道Jenkinsfile。一些参数包含敏感的密码,我不想出现在作业的构建日志中。
Jenkinsfile
所以我的问题是:我可以在其中以某种方式注册一个String Jenkinsfile,然后**********每当它出现在日志输出中时,由它代替吗?
**********
我知道此withCredentials步骤,但是我不能使用它,因为凭据没有存储在Jenkins凭据存储中(而是在运行时作为参数提供)。
withCredentials
我在这里找到了这个答案,并像这样尝试:
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在日志输出中得到…显示的纯文本的内容。
firstPassword
secondPassword
thirdPassword
我在Jenkins的2.12.0版中安装了Mask Password插件。
基本上,我正在搜索以下内容:https : //issues.jenkins-ci.org/browse/JENKINS-27486-票证已解决,但未提供最终实现的示例摘录。
我认为您正在寻找JENKINS-36007吗?