如何在部署到 azure 时收到通知?

Cle*_*ick 7 github azure

我有一个托管在 Github 中的项目,每当开发人员签入任何代码时,该项目就会持续部署到 Azure。(此部署适用于开发服务器,而不是生产服务器)。

在部署失败的情况下,如何自动将失败日志通过电子邮件发送给我?这似乎不是 Azure 中的当前功能。

对于部署,我们使用的是生成的 Kudu deploy.cmd 文件

azure site deploymentscript
Run Code Online (Sandbox Code Playgroud)

命令。在这个脚本中,命令完成后有几个错误测试。如:

IF !ERRORLEVEL! NEQ 0 goto error
Run Code Online (Sandbox Code Playgroud)

带有执行这些命令的错误标签:

:error
endlocal
echo An error has occurred during web site deployment.
call :exitSetErrorLevel
call :exitFromFunction 2>nul
Run Code Online (Sandbox Code Playgroud)

在我看来,这将是将日志文件通过电子邮件发送给我的理想场所。但我不确定那会是什么样子。任何正确方向的帮助或指示都会很棒。

Cle*_*ick 8

显然 Kudu 有一个我以前不知道的网络界面。如果您浏览到:

https://{mysitename}.scm.azurewebsites.net
Run Code Online (Sandbox Code Playgroud)

你会进入 Kudu 的管理站点。从这里你可以做很多事情。其中一个正在浏览人们为 Kudu 编写的插件列表!

可悲的是,他们似乎都不会向您发送有关部署失败的电子邮件。

但是,您可以做的另一件事是连接“网络钩子”。这是一个回调 url,Kudu 将在任何部署后通知。

所以这个问题的长答案是:创建另一个网站来监听来自 Kudu 的这些通知。如果出现故障,让该网站的代码使用 Kudu API 获取部署日志文件。拥有网站的代码,然后通过电子邮件发送该日志文件。

看起来像很多步骤,但没有理由它不起作用。

  • 显然,这里已经完成了 https://github.com/WCOMAB/KuduPostDeploymentSlackHook (2认同)