控制台日志中的 Jenkins 声明性管道掩码参数密码
Jenkins declarative pipeline mask parameter password in console logs
我想屏蔽在 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}"
}
}
}
}
}
}
我能够在控制台日志中屏蔽密码,下面是工作代码:
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: [[password: "${passwd}", var: 'PSWD']]]) {
sh '''echo PSWD: ${passwd}'''
}
}
}
}
}
}
我想屏蔽在 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}"
}
}
}
}
}
}
我能够在控制台日志中屏蔽密码,下面是工作代码:
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: [[password: "${passwd}", var: 'PSWD']]]) {
sh '''echo PSWD: ${passwd}'''
}
}
}
}
}
}