簡體   English   中英

如何使用jenkins聲明式管道憑證並將其轉換為Powershell憑證?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM