Jenkins 掩码密码插件仍在控制台输出中显示密码
我们需要屏蔽来自管道作业的密码,我们使用了掩码密码2.10.1,凭证和凭证绑定插件。但我们仍然看到密码在作业控制台输出中被公开 代码:Jenkins 掩码密码插件仍在控制台输出中显示密码,jenkins,passwords,jenkins-pipeline,credentials,masking,Jenkins,Passwords,Jenkins Pipeline,Credentials,Masking,我们需要屏蔽来自管道作业的密码,我们使用了掩码密码2.10.1,凭证和凭证绑定插件。但我们仍然看到密码在作业控制台输出中被公开 代码: node { { withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'c6989249-6a8d-4618-9fd7-012720791e12', usernameVariable: 'artifact_id', passwordVariable: 'arti
node {
{
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'c6989249-6a8d-4618-9fd7-012720791e12', usernameVariable: 'artifact_id', passwordVariable: 'artifact_pwd']]){
echo "password masking"
sh "echo $artifact_id $artifact_pwd "
}}
[Pipeline] {
[Pipeline] withCredentials
[Pipeline] {
[Pipeline] echo
password masking
[Pipeline] sh
[workspace] Running shell script
+ echo **** 'Test!123'
**** Test!123
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
输出:
node {
{
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'c6989249-6a8d-4618-9fd7-012720791e12', usernameVariable: 'artifact_id', passwordVariable: 'artifact_pwd']]){
echo "password masking"
sh "echo $artifact_id $artifact_pwd "
}}
[Pipeline] {
[Pipeline] withCredentials
[Pipeline] {
[Pipeline] echo
password masking
[Pipeline] sh
[workspace] Running shell script
+ echo **** 'Test!123'
**** Test!123
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
请帮助解决此问题在管道运行期间,应在整个管道脚本中定义/创建Groovy变量
工件
此外,您使用“
包装行中的字符串:sh”echo$artifact\u id$artifact\u pwd“
,这将导致Groovy首先进行变量替换,因此$artifact\u pwd
将替换为同名Groovy变量的值
如果您不希望对字符串进行变量替换,则可以使用'
或'
包装字符串,如下所示:sh 'echo $artifact_id $artifact_pwd'
//or
sh '''echo $artifact_id $artifact_pwd'''
您可以替换
sh“echo$artifact\u id$artifact\u pwd”“
到sh'echo$artifact\u id$artifact\u pwd'
,然后再次运行以查看将输出什么。您使用的是什么版本的Jenkins和插件?他们在积压工作中提到了很多关于屏蔽pwd的内容。Jenkins是2.89.3,插件是掩码密码2.10,凭证插件2.1.16,凭证绑定插件1.15btw,你检查过了吗:?有点奇怪,$artifact_id被屏蔽了,但$artifact_pwd被屏蔽了。如果jenkins或plugin有问题,那么两者都应该被屏蔽或不屏蔽。请仔细检查您是否在整个管道脚本的某个地方将artifact\u pwd
定义为Groovy变量。或者在sh'echo$artifact\u id$artifact\u pwd'
上将“
更改为”
,以查看将输出什么,