我无法在powershell中访问jenkins全局密码作为环境变量.我做了以下事情.不确定我还缺少什么.
已安装的凭据绑定插件,环境注入器插件,掩码密码插件,Hudson PowerShell插件
在管理凭据中创建全局密码条目作为gluser
在我的构建中,我有一个powershell调用,其中定义了构建环境,用于将构建密码作为环境变量注入并检查全局密码.
以下所有内容都不允许我在powershell脚本中引用全局密码
$env:gluser
$gluser
他们似乎都没有让我在Jenkins的powershell调用中访问全局密码.有人可以帮忙吗?
不要混淆EnvInject插件和Credentials Binding插件.这两者做了很多不同的事情,但两者都允许全局管理密码,但不同.
管理Jenkins - > 配置系统
在全局密码下
点击Add.
输入名称(环境变量)和密码.
工作 - > 配置
在构建环境下
check 将构建密码作为环境变量注入.
检查全局密码.
检查掩码密码参数.
管理Jenkins - > 管理凭证
单击Add Credentials(不带域).
选择用户名密码或密文.
输入用户名和密码或密码.
工作 - > 配置
在构建环境下
选中使用秘密文本或文件.
在" 绑定"下,单击"确定" Add.
选择用户名和密码或密文.
输入要保存凭据值的变量名称.
选择特定凭据单选按钮.
从下拉列表中选择已配置的凭据
像访问任何其他环境变量一样访问它们:环境变量名称
$env:VAR_NAME
在哪里VAR_NAME
(即EnvInject方式的第2步,或Credentials Binding方式的第4步)
EnvInject vs Credentials Binding
EnvInject密码将在环境变量列表中显示加密.
EnvInject密码将在控制台输出中显示已加星标(*****).
EnvInject密码使用与全局配置相同的变量名称,因此您必须记住该全局变量名称.
|
CB密码在环境变量列表中以纯文本显示.
CB密码不会在控制台输出中加星标.
CB密码可以从下拉列表绑定到您在作业中所需的任何变量名称,因此您不必记住该全局变量名称.
|
凭证绑定实际上更适用于签名凭证文件,如证书和密钥,而不是密码值.
密码与秘密文本的用户名.
前者以表格形式提供username:password
.
后者只是secret
.