【发布时间】:2017-07-25 08:55:14
【问题描述】:
如何使用 jenkins 声明式管道凭据并转换为 powershell 凭据?
使用
environment {
APPLICATION_SERVER_CRED = credentials('app-cred')
}
仅仅使用转换后的安全字符串似乎不能很好地工作,因为 PSCredential 构造函数需要不同的类型:String 和 SecureString
PSCredential(String, SecureString)
如何获取 jenkins 管道创建的环境变量
$ENV:APPLICATION_SERVER_CRED_USR
$ENV:APPLICATION_SERVER_CRED_PSW
并将它们转换为变量,然后我可以将其传递给 System.Management.Automation.PSCredential 的 PSCredential 构造函数?
powershell脚本内,运行时两个环境变量的类型
($ENV:APPLICATION_SERVER_CRED_USR).GetType()
是
System.String
这不会直接起作用,因为构造函数需要不同的类型。
如果 jenkins 没有将用户名转换为安全文本,我不会遇到这个问题,因为我会将密码转换为安全字符串并满足 PSCredential 的构造函数参数。但由于它们是安全文本(并键入 System.String),我不能。
如何转换变量以创建 PSCredential?
【问题讨论】:
-
也许我可以将屏蔽文本转换为安全字符串?
标签: powershell jenkins groovy continuous-integration continuous-deployment