Wie werde ich über eine fehlgeschlagene Bereitstellung in Azure benachrichtigt?

7

Ich habe ein in Github gehostetes Projekt, das kontinuierlich in Azure bereitgestellt wird, wenn ein Entwickler Code eincheckt. (Diese Bereitstellung ist für einen Entwicklungsserver, nicht für Produkte).

Wie kann ich im Falle einer fehlgeschlagenen Bereitstellung das Fehlerprotokoll automatisch per E-Mail erhalten? Dies scheint keine aktuelle Funktion in Azure zu sein.

Für die Bereitstellung verwenden wir eine Kudu deploy.cmd-Datei, die mit dem generiert wurde

azure site deploymentscript

Befehl. In diesem Skript gibt es mehrere Tests auf Fehler, nachdem die Befehle beendet wurden. Sowie:

IF !ERRORLEVEL! NEQ 0 goto error

mit der Fehlerbezeichnung, die diese Befehle ausführt:

:error
endlocal
echo An error has occurred during web site deployment.
call :exitSetErrorLevel
call :exitFromFunction 2>nul

Es scheint mir, dass dies ein idealer Ort wäre, um die Protokolldatei per E-Mail an mich zu senden. Aber ich bin mir nicht sicher, wie das aussehen würde. Jede Hilfe oder Hinweise in die richtige Richtung wäre großartig.

CleverPatrick
quelle

Antworten:

8

Anscheinend hat Kudu ein Webinterface, von dem ich vorher nichts wusste. Wenn Sie navigieren zu:

https://{mysitename}.scm.azurewebsites.net

Sie werden auf Kudus Admin-Site abgelegt. Von hier aus können Sie viele Dinge tun. Einer von ihnen durchsucht eine Liste von Plugins, die Leute für Kudu geschrieben haben!

Leider wird Ihnen anscheinend keiner von ihnen eine E-Mail über eine fehlgeschlagene Bereitstellung senden.

Eines der anderen Dinge, die Sie tun können, ist, "Webhooks" zu verkabeln. Dies ist eine Rückruf-URL, über die Kudu nach jeder Bereitstellung benachrichtigt wird.

Die lange Antwort auf die Frage lautet also: Erstellen Sie eine andere Website, die auf diese Benachrichtigungen von Kudu wartet. Lassen Sie den Code dieser Website die Kudu-API verwenden, um die Bereitstellungsprotokolldatei abzurufen, wenn ein Fehler auftritt. Haben Sie den Code der Website und senden Sie diese Protokolldatei per E-Mail.

Scheint wie viele Schritte, aber es gibt keinen Grund, warum es nicht funktioniert.

CleverPatrick
quelle
2
Offenbar hat es sich hier getan github.com/WCOMAB/KuduPostDeploymentSlackHook bereits
Bolein95