我想掩盖Jenkins作业中作为参数提供的密码,它使用了声明式管道语法。我不想保存任何凭证并使用它们。因为这将是运行特定于他们的作业的用户输入的凭据。
我已经尝试过MaskPasswordsBuildWrapper,但是它不起作用。如果有人可以提供有效的示例,我将不胜感激。
这是我使用MaskPasswordsBuildWrapper进行声明式管道的Jenkinsfile,它无效:
pipeline {
agent none
options {
skipDefaultCheckout()
skipStagesAfterUnstable()
}
parameters {
string(name: 'userid', defaultValue: 'master', description: 'Enter User ID')
password(name: 'passwd', defaultValue: 'secret', description: 'Enter Password')
}
stages {
stage('Test') {
agent {
label 'someLabel'
}
steps {
script {
wrap([$class: 'MaskPasswordsBuildWrapper', varPasswordPairs: [[var: 'PSWD', password: params.passwd]], varMaskRegexes: []]) {
sh "echo PSWD: ${PSWD}"
}
}
}
}
}
}
答案 0 :(得分:0)
我能够在控制台日志中屏蔽密码,以下是工作代码:
strftime