控制台日志中的Jenkins声明性管道掩码参数密码

时间:2019-05-16 14:28:10

标签: jenkins jenkins-pipeline password-encryption

我想掩盖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}"
                    }
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我能够在控制台日志中屏蔽密码,以下是工作代码:

strftime