Я пытаюсь создать настройку, в которой я развертываю веб-приложение для контейнеров, но хочу встроить некоторые проверки через Azure Monitor. Моя идея состоит в том, чтобы развернуть веб-приложение, а затем иметь шлюз, который проверяет набор предупреждений Azure Monitor с учетом доступности. Если проверка доступности не удалась, следует выполнить откат.
В документации указано Когда конвейер выпуска обнаруживает предупреждение Application Insights, конвейер может блокировать или откатывать развертывание до тех пор, пока предупреждение не будет разрешено, но я не знаю, как настроить это в azure DevOps.
У меня есть план AppService и запущено веб-приложение. Я также создал экземпляр Application Insights и включил непрерывный мониторинг с помощью задачи Управление службой приложений Azure. Созданное мной предупреждение:
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. Я также включил автоматическое повторное развертывание для развертывания последнего успешного развертывания, но это ничего не дает, потому что фактическая задача развертывания была успешно завершена ... только выход из строя и сбой этапа.