即使ARM模板无效,VSTS生成也会成功

时间:2018-09-04 06:23:38

标签: azure kubernetes azure-pipelines azure-pipelines-release-pipeline arm-template

Am正在处理Azure资源管理器模板(ARM模板)和VSTS CI&CD。借助于ARM模板,我想部署AKS(Azure kubernete服务)。因此,在部署之前,我需要通过应用PowerShell任务在CI-Build中验证我的ARM模板。但是这里,在验证我的ARM模板时,“即使验证失败也不会停止CI-Build”。其给出的输出为“ Validation Completed”,如下图所示。是否有解决此问题的解决方案,即,如果任何验证失败,我想停止CI-Build运行。

enter image description here

2 个答案:

答案 0 :(得分:2)

不确定您的Powershell脚本是什么样子。但是根据屏幕截图,powershell脚本已成功执行,没有返回任何错误代码。您可以更新powershell脚本以检查验证结果,如果结果为“ InvalidTemplate”,则将退出代码设置为“ 1”。当模板有效时,这将使powershell任务失败。

答案 1 :(得分:0)

好像资源在模板中定义了多次。您可以从PowerShell脚本中删除它,并且始终将其作为一个好习惯,以使用Test-AzureRmResourceGroupDeployment并验证模板是否有效并获取了所有参数,然后使用New-AzureRmResourceGroupDeployment

进行部署

就像Eddie所说的那样,如果脚本失败,您可以在try{} catch块中尝试此操作,并返回异常或退出代码以使VSTS Build管道失败。