我在 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
我觉得这是一个将日志文件通过电子邮件发送给我的理想场所。但我不确定它会是什么样子。任何帮助或正确方向的指示都会很棒。
答案1
显然 Kudu 有一个我以前不知道的 Web 界面。如果您浏览到:
https://{mysitename}.scm.azurewebsites.net
您将进入 Kudu 的管理网站。从这里您可以做很多事情。其中之一就是浏览人们为 Kudu 编写的插件列表!
可悲的是,他们似乎都不会在部署失败时向您发送电子邮件。
但是,您可以做的另一件事是连接“webhook”。这是一个回调 URL,Kudu 会在部署后通知该 URL。
因此,这个问题的长答案是:创建另一个网站来监听来自 Kudu 的这些通知。如果出现故障,让该网站的代码使用 Kudu API 获取部署日志文件。获取该网站的代码,然后通过电子邮件发送该日志文件。
看起来步骤很多,但没有理由它不起作用。