gpt4 book ai didi

jenkins - 如何屏蔽 Jenkins Pipeline 项目中的密码字段?

转载 作者:行者123 更新时间:2023-12-04 13:57:00 27 4
gpt4 key购买 nike

当在 Jenkinsfile 中定义密码属性时:

properties([
parameters([
password(name: 'KEY', description: 'Encryption key')
])
])

每次执行管道时,Jenkins 都会提示用户提供其值:

Build parameters

我希望这个参数被屏蔽,以便 echo ${KEY}不打印用户传递的实际值。但是,目前 echo 它会逐字打印提供的值:

properties([
parameters([
password(name: 'KEY', description: 'Encryption key')
])
])

node {
stage('Stage 1') {
# Will print the actual value of the KEY, verbatim
sh "echo ${KEY}"
}
}

此外,Mask Passwords 插件似乎不适用于 Jenkins 管道,因此不能选择使用它。

有没有办法在构建日志中屏蔽这些密码类型的参数?

最佳答案

您需要使用 mask passwords plugin .这是一个 Jenkinsfile示例取自 my shared pipeline library .

properties([
parameters([
password(name: 'KEY', description: 'Encryption key')
])
])

node {
stage('Stage 1') {
// Will print the masked value of the KEY, replaced with ****
wrap([$class: 'MaskPasswordsBuildWrapper', varPasswordPairs: [[var: 'KEY', password: KEY]], varMaskRegexes: []]) {
sh "echo ${KEY}"
}
}
}

除了关于 withCredentials 的现有建议之外,没有太多要补充的。但是,如果您通过模板自动生成作业并设置默认密码,那么您可能需要使用 hudson.util.Secret以保护您的模板。

关于jenkins - 如何屏蔽 Jenkins Pipeline 项目中的密码字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46659862/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com