[英]Azure ARM Template - Create KeyVault Secrets in Keyvault in different Resource Group
[英]TFS\Team Services, Using Azure KeyVault secrets from a Variable Group in a Build Definition
我在Team Services中有一個簡單的構建設置。 該構建僅從Team Services托管的Git存儲庫下載源代碼,然后執行Powershell腳本。
Powershell腳本接收4個參數。
-SiteName "$(AppServiceName)" -AzureRMTenantID "$(AzureRMTenantID)" -AzureRMUN "$(AzureRMUN)" -AzureRMPW "$(AzureRMPW)"
在構建隊列中手動輸入AppServiceName。
3個AzureRM *參數應該來自我鏈接到構建定義的變量組;
變量組AzureDevOps配置為將Azure Key Vault的機密鏈接為變量;
根據我能夠找到的有關此模式的所有信息,似乎它應該可以工作。
作為臨時檢查,我將在Powershell腳本中打印出變量,以便可以確認它們已正確傳遞。
到目前為止,我尚未能夠正確打印任何AzureRM *變量的值,這使我認為它們沒有按預期傳遞。
Generating script.
Formatted command: . 'd:\a\1\s\AppServices\Create Canned App Service Application.ps1' -SiteName "Testers" -AzureRMTenantID "" -AzureRMUN "" -AzureRMPW ""
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -File "d:\a\_temp\23b9a27a-4b6d-4232-8e24-150173e08915.ps1"
Working Set of Variables:
SiteName: Testers
ResourceGroup: Applications
ASE Name: appservices-ase
Location: East US
Additional Variables:
AzureRMTenantID:
我不希望變量在此處的log命令中顯示;
Formatted command: . 'd:\a\1\s\AppServices\Create Canned App Service Application.ps1' -SiteName "Testers" -AzureRMTenantID "" -AzureRMUN "" -AzureRMPW ""
但我希望它們會在我明確寫出來的腳本中打印出來;
Write-Host "Working Set of Variables:`nSiteName: "$SiteName"`r`nResourceGroup: "$RG"`r`nASE Name: "$ASEName"`r`nLocation: "$Location
Write-Host "Additional Variables:`nAzureRMTenantID: "$AzureRMTenantID"`r`n"$AzureRMUN"`r`n"$AzureRMPW
如果我在本地運行PS腳本,則這些值確實會按預期打印;
PS C:\ashley\scm\AzureAutomation\AppServices> & '.\Create Canned App Service Application.ps1' -SiteName "tester" -AzureRMTenantID 12345 -AzureRMUN user -AzureRMPW 1234
Working Set of Variables:
SiteName: tester
ResourceGroup: Applications
ASE Name: appservices-ase
Location: East US
Additional Variables:
AzureRMTenantID: 12345
user
1234
有誰知道如何使這項工作? 我想知道問題是否與KeyVault權限有關,因為該請求來自Team Services中內置的“托管2017”代理隊列。
首先,您無法打印出秘密變量的值,可以將數據發送到服務(例如Web API)以在構建/發布期間獲取實際數據。
其次,Key Vault機密變量用於發布,它將在發布期間添加Azure Key Vault任務。 將Azure Key保管庫中的機密鏈接為變量
如果在構建中使用,則將獲得空值。 您可以將Key Vault Task添加到構建定義中,然后可以在以下任務中使用相關變量。 (不需要在構建定義中鏈接到該變量組)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.