【发布时间】:2018-06-30 08:09:04
【问题描述】:
我们使用 VSTS 来部署 ARM 模板。 (Azure 部署任务版本:2)。 在这个任务中,我们可以配置输出变量。将在此变量中输出 ARM 模板的 json 输出。在我的例子中,它被称为 armOutputJson。
在下一个任务中,我有一个内联 powershell 脚本,它尝试将此值转换为 powershell 对象。
$outputObject = ConvertFrom-Json -InputObject @"
$(armOutputJson)
"@
Write-Host "##vso[task.setvariable variable=armOutput]"$outputObject
Write-Host $outputObject
输出似乎是这样写入主机的:
@{storageAccountName=; functionAppName=}
看起来设置没有正确解析? 此外,当尝试使用 $(armOutput).functionAppName.value 在我的部署任务中访问此变量时,我收到以下错误:
[错误]错误:资源'@{storageAccountName=; functionAppName=}.functionAppName.value' 不存在。资源在部署之前应该存在。
任何人都知道如何将输出 json 解析为 vsts 变量并将其用于其他任务?
【问题讨论】:
-
您是否通过调用 Format-Custom 来解决此问题?
-
看看这个答案中的脚本是否适合你:stackoverflow.com/a/49893304/470325
标签: azure-resource-manager azure-pipelines-release-pipeline