使用jenkins凭据插件清除日志文件

时间:2019-07-25 17:29:02

标签: ansible jenkins-pipeline jenkins-plugins

使用jenkins的凭据插件时,如何清除密码的日志和输出文件?

credentialsPlugin可从控制台隐藏机密,但不会将其排除在其他工具生成的日志/输出文件之外。例如, 接下来,将使用junit输出回调运行ansible,该回调将输出存储为junit xml文件,并在此文件中公开USER / PASSWORD机密。

 withCredentials([usernamePassword(credentialsId: 'my-test-user',
            passwordVariable: 'USER',
            usernameVariable: 'PASSWORD')]) {
        withEnv([
                "ANSIBLE_STDOUT_CALLBACK=junit",
                "JUNIT_OUTPUT_DIR=${env.WORKSPACE}"
        ]) {
                ansiblePlaybook(
                        playbook:"ansible/playbooks/steps.yml",
                        extraVars: [
                                user: USER,
                                password: PASSWORD
                                ]
                )           
        }
}

很显然,凭据插件无法神奇地到达工具链并有选择地隐藏秘密。 ansiblePlaybook插件也不可能做到这一点。但是,对于certificatePlugin具有名为obscureCredentialsInFile(file: 'mylog.xml')的端点/方法将是很好的。可以在插件外部实现此功能,但似乎是意外泄漏的良方。

有人知道这个的标准詹金斯模式吗?我怀疑答案很简单:“不要那样做”,但我想我会问

0 个答案:

没有答案