Мне разместили проект в GitHub, который непрерывно развертывается на Azure каждый раз, когда разработчик регистрируется в любом коде. (это развертывание для dev сервера, не подталкивают).
В случае неудавшегося развертывания, как я мог послать журнал отказа по электронной почте мне автоматически? Это, кажется, не текущая функция в Azure.
Для развертывания мы используем Куду deploy.cmd файл, сгенерированный с
azure site deploymentscript
команда. В этом сценарии существует несколько тестов для ошибок после того, как команды закончатся. Такой как:
IF !ERRORLEVEL! NEQ 0 goto error
с ошибочной маркировкой, выполняющей эти команды:
:error
endlocal
echo An error has occurred during web site deployment.
call :exitSetErrorLevel
call :exitFromFunction 2>nul
Мне кажется, что это было бы идеальным местом, чтобы послать файл журнала по электронной почте мне. Но я не уверен, на что это было бы похоже. Любая справка или указатели в правильном направлении были бы большими.
Судя по всему, у Kudu есть веб-интерфейс, о котором я раньше не знал. Если вы перейдете по адресу:
https://{mysitename}.scm.azurewebsites.net
, вы попадете на сайт администратора Kudu. Отсюда вы можете многое сделать. Один из них просматривает список плагинов, которые люди написали для Kudu!
К сожалению, похоже, что ни один из них не отправит вам электронное письмо о неудачном развертывании.
Однако вы можете сделать еще одну вещь. подключите "вебхуки". Это URL-адрес обратного вызова, по которому Kudu будет уведомлять после любого развертывания.
Итак, длинный ответ на вопрос: создайте еще один веб-сайт, который будет прослушивать эти уведомления от Kudu. Пусть код этого веб-сайта использует Kudu API для получения файла журнала развертывания в случае сбоя. Получите код веб-сайта, затем отправьте этот файл журнала по электронной почте.
Кажется, требуется много шагов, но нет причин, по которым это не сработает.