![](/img/trans.png)
[英]how do i get a variable out of powershell in jenkins declarative pipeline?
[英]How do I use a jenkins declarative pipeline credential and convert to a powershell credential?
如何使用jenkins聲明式管道憑證並將其轉換為powershell憑證?
使用
environment {
APPLICATION_SERVER_CRED = credentials('app-cred')
}
由於PSCredential構造函數期望使用不同的類型,因此僅使用轉換后的安全字符串似乎不能很好地工作:String和SecureString
PSCredential(String, SecureString)
如何獲取由詹金斯管道創建的環境變量
$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的contructor參數。 但是由於它們是安全文本(並鍵入System.String),所以我不能。
如何轉換變量以創建PSCredential?
哦,是的,比我想象的要容易。 我想掩蓋的文字實際上只是掩蓋了它在UI中不可見。 這可行。
$backendServerPass = ConvertTo-SecureString $ENV:APPLICATION_SERVER_CRED_PSW -AsPlainText -Force
$backendServerCredential = New-Object System.Management.Automation.PSCredential ($ENV:APPLICATION_SERVER_CRED_USR, $backendServerPass) -Verbose
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.