2013-05-10 26 views
8

Chcę użyć PowerShell z Psake i TeamCity, aby skonfigurować moje CI. Kiedyś zwykłem biegaczem Msbuild, ale teraz napisałem swój własny skrypt do budowania rozwiązania, ale mam problem, gdy msbuild się nie powiódł.Jak wyświetlać błędy msbuild na stronie przeglądu z TeamCity

Kiedy używałam Msbuild, runner i kompilacja nie powiodły się, to na stronie Overview pojawiła się nowa sekcja "Build errors" i mam tam szczegóły z msbuild. Ale kiedy pisałem własne skrypty dostałem tylko komunikat "Proces zakończony z kodem 1" i nie wiem, jak "utworzyć" tę sekcję błędów kompilacji. Czy wiesz, jak to zrobić? Wiem, że mogę użyć service messages, ale nie mogę obsłużyć nieudanego dziennika z msbuild.

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

Czy masz dostęp do pliku dziennika budowy? –

+0

Archiwum budowania Msbuild - tak –

+1

Oto całkiem dobre rozwiązanie: [link] (http://blogs.lessthandot.com/index.php/EnterpriseDev/application-lifecycle-management/displaying-net-build-warnings-in) –

Odpowiedz

3

Można określić log for MSBuild

błąd Parse z dziennika lub dołączyć cały dziennik jako kompilacji artefaktem.

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

niepowodzenie kompilacji można użyć następujący komunikat

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

Możesz pobrać wszystkie wiadomości, które mogą być wykorzystane here