【问题标题】:Continuous monitoring Azure DevOps Release持续监控 Azure DevOps 版本
【发布时间】:2021-04-02 18:44:18
【问题描述】:

我正在尝试创建一个设置,在其中部署“容器的 Web 应用程序”,但我想通过 Azure Monitor 进行一些检查。我的想法是部署 web 应用程序,然后有一个门来检查 azure 监视器警报集的可用性。当可用性检查失败时,它应该回滚。

documentation 声明 “当发布管道检测到 Application Insights 警报时,管道可以控制或回滚部署,直到警报得到解决”,但我不知道如何在 azure devops 中配置它。

我有一个 AppService 计划和一个正在运行的 Web 应用程序。我还创建了一个 Application Insights 实例,并通过 “Azure App Service manage” 任务启用了持续监控。 我创建的警报是:

az monitor metrics alert create -n 'Availability' -g ${RG_NAME} --scopes "${APP_INSIGHTS_PROD}" \
--condition 'avg availabilityResults/availabilityPercentage < 90' \
--description "created from Azure DevOps"

作为部署后条件,我启用了 Gates,并将其配置为检查可用性警报,该警报有效。当我故意调整某些东西以使应用程序失败时,Gate 工作并最终使 Stage 失败。 我还启用了自动重新部署以部署最后一次成功的部署,但这并没有做任何事情,因为实际的部署任务已成功完成..只是门失败和阶段失败。

【问题讨论】:

  • 我找不到通过 UI 在舞台级别配置自定义条件的选项。如果我想通过 azure 管道 (yaml) 来实现,那么我没有通过 yaml 配置门的选项。

标签: azure-devops azure-application-insights azure-monitoring azure-web-app-for-containers azure-monitor


【解决方案1】:

我通过 UI 构建发布版本,为了使其正常工作,我必须通过 yaml 创建管道。通过部署作业,我可以使用环境,在 Azure DevOps UI 中,您可以配置环境以添加检查。查询 Azure Monitor 警报是为环境添加的可用检查之一。 检查是在作业开始时完成的,因此我创建了一个单独的部署作业,该作业使用 Query Azure Monitor Alert 检查来引用环境。 之后,我创建了另一个具有依赖和条件的作业,只有在查询警报作业失败时才会运行。该作业将交换插槽。

【讨论】:

  • 太棒了!感谢您在此处分享您的解决方案,您可以接受它作为答案,这样它可以帮助遇到相同问题的其他社区成员,我们可以存档此线程,谢谢。
猜你喜欢
  • 2020-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-11
  • 2019-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多