这篇短文主要介绍maskPasswords在jenkins pipeline的使用。
使用场景
需要在console out里面隐藏密码,使其变成星号。
示例代码
pipeline {
agent any
stages {
stage('Build') {
steps {
script {
// 定义敏感信息列表
def secretList = ["abc", "def", "ghi"]
// 遍历列表并应用maskPasswords函数
for (def secret in secretList) {
maskPasswords(varPasswordPairs: [[password: secret]]) {
echo "Secret String: " + secret
}
}
// 在控制台输出进行验证
for (def secret in secretList) {
echo "Password: ${secret}"
}
}
}
}
}
}
输出效果
09:31:25 Secret String: ********
09:31:25 [Pipeline] }
09:31:25 [Pipeline] // maskPasswords
09:31:25 [Pipeline] maskPasswords
09:31:25 [Pipeline] {
09:31:25 [Pipeline] echo
09:31:25 Secret String: ********
09:31:25 [Pipeline] }
09:31:25 [Pipeline] // maskPasswords
09:31:25 [Pipeline] maskPasswords
09:31:25 [Pipeline] {
09:31:25 [Pipeline] echo
09:31:25 Secret String: ********
09:31:25 [Pipeline] }
09:31:25 [Pipeline] // maskPasswords
09:31:25 [Pipeline] echo
09:31:25 Password: abc
09:31:25 [Pipeline] echo
09:31:25 Password: def
09:31:25 [Pipeline] echo
09:31:25 Password: ghi
注意事项
1,需要提前安装maskPasswords插件。
2,看代码输出结果可知,密码隐藏效果只能在maskPasswords函数体内实现,在函数体外面是不能实现隐藏。