gpt4 book ai didi

azure - 如何使用 ARM 'outputs' 值另一个释放任务?

转载 作者:行者123 更新时间:2023-12-03 07:36:18 25 4
gpt4 key购买 nike

我有一个 ARM 模板,其输出部分如下所示:

"outputs": {
"sqlServerFqdn": {
"type": "string",
"value": "[reference(concat('Microsoft.Sql/servers/', variables('sqlserverName'))).fullyQualifiedDomainName]"
},
"primaryConnectionString": {
"type": "string",
"value": "[concat('Data Source=tcp:', reference(concat('Microsoft.Sql/servers/', variables('sqlserverName'))).fullyQualifiedDomainName, ',1433;Initial Catalog=', variables('databaseName'), ';User Id=', parameters('administratorLogin'), '@', variables('sqlserverName'), ';Password=', parameters('administratorLoginPassword'), ';')]"
},
"envResourceGroup": {
"type": "string",
"value": "[parameters('hostingPlanName')]"
}
}

我有一个使用该模板的 Azure 资源组部署任务。然后我想在下一个任务中使用变量 $(sqlServerFqdn) 进行配置。该变量似乎不仅仅填充,而且我找不到任何地方告诉我如何在发布时使用“输出”值。

在此 ARM 模板运行后,我需要做什么才能填充变量以用于配置任务? Powershell 脚本任务或另一个 ARM 模板的参数就是一个示例。

最佳答案

VSTS Azure 资源组部署 任务有 outputs section现在(从 January 2018 开始)。因此,您可以将Azure 资源组部署任务的部署输出中的变量名称设置为ResourceGroupDeploymentOutputs,并添加PowerShell 脚本 具有以下内联脚本的任务:

# Make outputs from resource group deployment available to subsequent tasks

$outputs = ConvertFrom-Json $($env:ResourceGroupDeploymentOutputs)
foreach ($output in $outputs.PSObject.Properties) {
Write-Host "##vso[task.setvariable variable=RGDO_$($output.Name)]$($output.Value.value)"
}

在后续任务中,您可以使用模板变量。因此,例如,如果您的模板中有 sqlServerFqdn 变量,则在 PowerShell 脚本任务完成后,它将以 $(RGDO_sqlServerFqdn) 形式提供。

关于azure - 如何使用 ARM 'outputs' 值另一个释放任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36948549/

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