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?
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.
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.
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.
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.
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/