问题描述
我正在尝试使用 ARM TTK 工具包运行 ARM 模板的测试。 我使用 YAML 管道作为代码。 我正在关注此链接 https://azurehangout.com/infrastructure-as-code-security-for-azure-part-2-arm-template-test-toolkit-arm-ttk/
但不知何故我的管道在任务中失败了:从 ARM 模板测试器工具包运行 deploymentTemplate 测试
请查看任务的输出,我没有看到带有绿色复选标记的 Publish Artifacts 阶段
[+] DependsOn Best Practices (74 ms)
[+] Deployment Resources Must Not Be Debug (27 ms)
[+] DeploymentTemplate Must Not Contain Hardcoded Uri (23 ms)
[+] DeploymentTemplate Schema Is Correct (9 ms)
[+] Dynamic Variable References Should Not Use Concat (10 ms)
D:\a\1\s\arm-template-toolkit\arm-ttk\testcases\deploymentTemplate\IDs-Should-Be-Derived-From-ResourceIDs.test.ps1 : Property: "id" must use one of the following expressions for an resourceId property:
extensionResourceId,resourceId,subscriptionResourceId,tenantResourceId,if,parameters,reference,variables,subscription,guid
At D:\a\1\s\arm-template-toolkit\arm-ttk\Test-AzTemplate.ps1:246 char:21
+ . $myModule $TheTest @testInput 2>&1 3>&1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (@{id=[variables('su…NetworkRules[0].id}:PSObject) [Write-Error],WriteErrorException
+ FullyQualifiedErrorId : ResourceId.Should.Contain.Proper.Expression,IDs-Should-Be-Derived-From-ResourceIDs.test.ps1
##[debug]Exit code: 1
##[debug]Leaving Invoke-VstsTool.
##[error]PowerShell exited with code '1'.
##[debug]Processed: ##vso[task.logissue type=error]PowerShell exited with code '1'.
##[debug]Processed: ##vso[task.complete result=Failed]Error detected
##[debug]Leaving D:\a\_tasks\PowerShell_e213ff0f-5d5c-4791-802d-52ea3e7be1f1\2.186.0\powershell.ps1.
Finishing: Run deploymentTemplate tests from ARM Template Tester Toolkit
解决方法
不确定你用来运行它的任务,但你想确保你继续出错 - 否则你从 TTK 中遇到的第一次失败将是最后一次,因为任务将停止。
这是我们用于设置的内容(我们使用 json):
并且只是在一个通用的 PowerShell 核心任务中运行它。