Azure 即使ARM模板无效,VSTS生成也成功
我正在使用Azure资源管理器模板(ARM模板)和VSTS CI&CD。在ARM模板的帮助下,我想部署AKS(Azure kubernete服务)。因此,在部署之前,我需要通过应用PowerShell任务在CI构建中验证我的ARM模板。但在这里,在验证我的ARM模板时,“即使验证失败,它也不会停止CI构建”。其输出为“验证完成”,如下图所示。是否有任何解决方案可以解决此问题,例如,如果任何验证失败,我希望停止我的CI构建运行Azure 即使ARM模板无效,VSTS生成也成功,azure,kubernetes,azure-pipelines,azure-pipelines-release-pipeline,arm-template,Azure,Kubernetes,Azure Pipelines,Azure Pipelines Release Pipeline,Arm Template,我正在使用Azure资源管理器模板(ARM模板)和VSTS CI&CD。在ARM模板的帮助下,我想部署AKS(Azure kubernete服务)。因此,在部署之前,我需要通过应用PowerShell任务在CI构建中验证我的ARM模板。但在这里,在验证我的ARM模板时,“即使验证失败,它也不会停止CI构建”。其输出为“验证完成”,如下图所示。是否有任何解决方案可以解决此问题,例如,如果任何验证失败,我希望停止我的CI构建运行 不确定您的powershell脚本是什么样子。但根据屏幕截图,powe
不确定您的powershell脚本是什么样子。但根据屏幕截图,powershell脚本已成功执行,没有返回任何错误代码。您可以更新powershell脚本以检查验证结果,如果结果为“InvalidTemplate”,则将退出代码设置为“1”。当模板有效时,这将使powershell任务失败。看起来该资源在模板中定义了多次。您可以从PowerShell脚本中删除该模板,并使用
测试AzureRmResourceGroupDeployment
验证该模板是否有效,是否已获取其所有参数,然后使用新AzureRmResourceGroupDeployment
进行部署,这始终是一个很好的做法
正如Eddie所说,如果脚本失败,您可以在try{}catch
块中尝试此操作,并返回异常或退出代码以使VSTS构建管道失败