gpt4 book ai didi

azure - TFS\Team Services,在生成定义中使用变量组中的 Azure KeyVault secret

转载 作者:行者123 更新时间:2023-12-03 05:52:30 24 4
gpt4 key购买 nike

我在 Team Services 中有一个简单的build设置。该构建只需从 Team Services 托管的 Git 存储库下载源代码,然后执行 Powershell 脚本。

Powershell脚本接收4个参数;

-SiteName "$(AppServiceName)" -AzureRMTenantID "$(AzureRMTenantID)" -AzureRMUN "$(AzureRMUN)" -AzureRMPW "$(AzureRMPW)"

AppServiceName 是在构建排队时手动输入的。

3 个 AzureRM* 参数应该来 self 已链接到构建定义的变量组;

variable configuration within the Build Job变量组 AzureDevOps 配置为将 Azure Key Vault 中的 secret 链接为变量;

Variable Group configured in the Library

根据我能找到的有关此模式的所有信息,它似乎应该有效。

作为临时健全性检查,我在 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:

我不希望在此处的日志命令中打印变量;

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 权限有关,因为请求来自团队服务内置的“Hosted 2017”代理队列。

最佳答案

首先,您无法打印出秘​​密变量的值,您可以将数据发送到服务(例如 Web API)以在构建/发布期间获取实际数据。

其次,Key Vault secret 变量用于发布,在发布过程中会添加 Azure Key Vault 任务。 Link secrets from an Azure Key vault as variables

如果您在构建中使用,您将得到空值。您可以添加Key Vault Task到构建定义,然后您可以在以下任务中使用相关变量。 (不需要在构建定义中链接到该变量组)

关于azure - TFS\Team Services,在生成定义中使用变量组中的 Azure KeyVault secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45983834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com