| 

.NET C# Java Javascript Exception

3
Hallo,

ich möchte gerne eine Email absenden mit der Fehlermeldung mit der das MSBuild Skript fehlgeschlagen ist. Es gibt eine Möglichkeit das mit dem Email Task zu erledigen oder muss es da eine Instanz außerhalb der Skriptes geben wie CruiseControl?
Aufgerufen wird das Skript bisher aus einer Batchdatei. Bekommt man einen Exitcode den man da weiter nutzen kann oder welche Lösung schlagt ihr vor?

Danke
News:
24.02.2011
KCT 937 1 8
4 Antworten
1
Hi, falls Du es noch nicht gelöst haben solltest.
Du kannst am Ende eines jeden Build Targets:
<OnError ExecuteTargets="ErrorHandler" />

einfügen. Diese Zeile muss aber als letzte Zeile im Target stehen. Dann wird dein Error Handler aufgerufen und du kannst die Mail versenden.
Das mit der Fehlermeldung ist nicht so einfach, glaube ich.
Du kannst aber beim Aufruf des BuildScriptes die Ausgaben in ein File schreiben lassen.
Vor dem Mailen liest du mit einem Task den Inhalt dieser Datei und schickst diesen als Mail, oder du hängst die Datei an die Mail an.
MSBuild hat hier aber die Datei noch im Zugriff. Ggf. musst Du vorher die Datei kopieren und dann die Kopie versenden.
Bis zum letzten Fehler steht alles in der Mail.

Grüße Ralf
23.04.2011
ralf.hientzsch 637 1 7
Danke, ich probiere das mal aus. Das sieht nach dem aus was ich gesucht habe. Mir reicht schon wenn ich überhaupt mitbekomme ob es geklappt hat. Wenn es klappt markiere ich die Antwort noch.
KCT 09.05.2011
0
Wird das BuildScript nur lokal auf dem Entwicklungsrechner ausgeführt oder auch im TFS?

Beim TFS geht das sozusagen "automatisch", wenn man ein Flag einstellt.
(Eigenschaften vom TeamProject und dort "Alerts").

Ansonsten gibt es ein SendMail-Task in den MS Buid Community Tasks

Das Mailen geht dann afaik über SMTP.

Nachtrag zum Versenden der Mail:
* Emailtarget einrichten und
<OnError ExecuteTarget="DeinMailTarget;" />


Send mail on Build Failure?
24.02.2011
KHoffmann 939 7
Das Skript wird ohne TFS oder sonstigen CC Server ausgeführt.
Genau den Email Task meine ich. Doch wie logge bzw. sende ich die Meldung wenn ein andere Task fehlschlägt? Ich weiß nicht wie ich das mitbekomme.
KCT 24.02.2011
0
TeamCity von Jetbrains kann das auch. Ansonsten würde ich mich meinem Vorredner anschliessen.
24.02.2011
phlow666 922 1 9
Ja, aber ich möchte derzeit das ohne CC Server erledigen. Es wird derzeit nicht darein investiert und in CruiseControl muss ich mich erst noch einarbeiten.
KCT 24.02.2011
1
TeamCity ist bis 20 Projekte gratis. Nur so nebenbei. Ansonsten sendmail....
phlow666 25.02.2011
0
Hi,
in den MSBuild Community Tasks von Tigris.org ist ein Mail Target drin.
Damit kannst Du aus dem Build Script heraus eine Mail versenden.
http://msbuildtasks.tigris.org/

Gruß Ralf
27.02.2011
ralf.hientzsch 637 1 7
Hi, ja hab ich gesehen. Aber kann ich nur senden wenn ich zu dem Task komme. Ich möchte den senden wenn etwas fehlschlägt. Oder wie geht das?
KCT 31.03.2011

Stelle deine Error-Frage jetzt!