在Jenkins管道脚本中隐藏密码
我正在尝试在我的Jenkins版本中屏蔽密码。
我一直在尝试mask-passwords插件。
但是,这似乎不适用于我的Jenkins管道脚本,因为如果定义了密码PASSWD1
,然后在这样的脚本中使用它,则会${PASSWD1}
得到:
No such DSL method '$' found among steps [addToClasspath, ansiColor, ansiblePlaybook, ....]
如果使用env.PASSWD1
,则其值将解析为null
。
那么,如何在Jenkins管道脚本中屏蔽密码?
回答:
最简单的方法是使用Credentials插件。
您可以在此处定义不同类型的凭据,无论是单个密码(“秘密文本”),文件还是用户名/密码组合。再加上其他插件可以贡献其他类型的凭据。
创建凭证时(通过Jenkins主页上的“凭证”链接),请确保设置了“ ID”。在下面的示例中,我将其称为my-
pass。如果您不设置它,它将仍然有效,Jenkins将为您分配一个不透明的UUID。
无论如何,您都可以使用snippet generator轻松生成所需的语法。
withCredentials([string(credentialsId: 'my-pass', variable: 'PW1')]) { echo "My password is '${PW1}'!"
}
这将使密码仅在此块内的给定变量中可用。如果您像我在这里一样尝试打印密码,它将被屏蔽。
以上是 在Jenkins管道脚本中隐藏密码 的全部内容, 来源链接: utcz.com/qa/410197.html