2013-05-10 15 views
8

Ich möchte PowerShell mit Psake und TeamCity verwenden, um mein CI zu konfigurieren. Ich verwendete Msbuild Runner Standard aber jetzt habe ich mein eigenes Skript zum Erstellen von Lösung geschrieben, aber ich habe ein Problem, wenn Msbuild fehlgeschlagen ist.Wie man msbuild Fehler auf der Übersichtsseite von TeamCity anzeigt

Als ich Msbuild Läufer und Build verwendet wurde fehlgeschlagen dann auf der Übersichtsseite neue Abschnitt "Build errors" erscheint und ich habe dort Detail von Msbuild. Aber als ich meine benutzerdefinierten Skripte geschrieben habe, bekam ich nur den Fehler "Prozess beendet mit Code 1" und ich weiß nicht, wie ich diesen Build-Fehler-Abschnitt erstellen soll. Weißt du wie das geht? Ich weiß, dass ich service messages verwenden kann, aber ich kann fehlgeschlagenes Protokoll von Msbuild nicht verarbeiten.

task compile { 
try { 
    exec { msbuild $code_dir\SampleSolution.sln /t:Build /p:Configuration=Release } 
} catch { 
    Write-Host $_ #only information that error occured, but without any msbui details 
} } 
+0

tun haben? –

+0

Msbuild build log - ja –

+1

Hier ist eine ziemlich gute Lösung: [link] (http://blogs.lessthandot.com/index.php/EnterpriseDev/application-lifecycle-management/displaying-net-build-warnings-in) –

Antwort

3

können Sie log for MSBuild

Einlesefehler von log angeben oder ganze Protokoll als Build Artefakt befestigen.

##teamcity[publishArtifacts '.\msbuild.log'] 

zum Scheitern verurteilt bauen Sie die folgende Meldung verwenden können

Write-Output "##teamcity[message text='MS Build failed' status='ERROR']" 

Sie alle Nachrichten erhalten können, die Sie Zugriff auf die Build-Protokolldatei verwendet werden können here