Am正在处理Azure资源管理器模板(ARM模板)和VSTS CI&CD。借助于ARM模板,我想部署AKS(Azure kubernete服务)。因此,在部署之前,我需要通过应用PowerShell任务在CI-Build中验证我的ARM模板。但是这里,在验证我的ARM模板时,“即使验证失败也不会停止CI-Build”。其给出的输出为“ Validation Completed”,如下图所示。是否有解决此问题的解决方案,即,如果任何验证失败,我想停止CI-Build运行。
答案 0 :(得分:2)
不确定您的Powershell脚本是什么样子。但是根据屏幕截图,powershell脚本已成功执行,没有返回任何错误代码。您可以更新powershell脚本以检查验证结果,如果结果为“ InvalidTemplate”,则将退出代码设置为“ 1”。当模板有效时,这将使powershell任务失败。
答案 1 :(得分:0)
好像资源在模板中定义了多次。您可以从PowerShell脚本中删除它,并且始终将其作为一个好习惯,以使用Test-AzureRmResourceGroupDeployment
并验证模板是否有效并获取了所有参数,然后使用New-AzureRmResourceGroupDeployment
就像Eddie所说的那样,如果脚本失败,您可以在try{} catch
块中尝试此操作,并返回异常或退出代码以使VSTS Build管道失败。