У меня есть проект, размещенный на Github, который постоянно развертывается в Azure всякий раз, когда разработчик проверяет любой код. (это развертывание предназначено для сервера разработки, а не для продукта).
В случае сбоя развертывания, как я могу автоматически получить журнал сбоев по электронной почте? Похоже, что это не текущая функция в Azure.
Для развертывания мы используем файл Kudu 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 для получения файла журнала развертывания в случае сбоя. Получите код веб-сайта и отправьте этот файл журнала по электронной почте.
Кажется, много шагов, но нет причин, по которым это не сработает.