Jenkins“Pipeline Stage View”插件不会屏蔽密码

问题描述

我使用 Jenkins 管道进行部署。在安装过程中,您需要传递凭据。我能够使用以下方法在 Jenkins 控制台日志中成功屏蔽密码:

wrap([$class: 'MaskPasswordsBuildWrapper',varPasswordPairs: [[password: userElabPassword.toString(),var: 'userElabPassword'],[password: userJumpServerPassword.toString(),var: 'userJumpServerPassword']]]) {

不幸的是,我不知道如何将屏蔽应用于仍然显示屏蔽密码的舞台视图:

enter image description here

enter image description here

这是一个错误吗?或者我应该以某种方式配置它?

使用的版本:

管道:舞台视图插件:2.19 掩码密码插件:2.13 詹金斯:2.263

解决方法

如果您使用如下所示的字符串插值

sh "password ${PASS}"

尝试将其替换为

sh 'password $PASS'

https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#string-interpolation

但是,这仅适用于环境变量。在我上面的例子中通过。

,

我通过使用带有 -e 标志的 sshpass 并通过环境变量传递凭据来解决它。这样我就完全避免在命令行中使用密码,因此它在 Pipeline Stage View 插件日志框中不可见。不过,在此插件中无法使用密码屏蔽仍然是一个问题。

,

Jenkins Jira 中有一张票,其中包含如何处理此问题的更多示例。 https://issues.jenkins.io/browse/JENKINS-59214

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...