2013-05-10 39 views
8

我想用Psake和TeamCity的PowerShell來配置我的CI。我曾經使用標準的Msbuild runner,但現在我編寫了自己的腳本來構建解決方案,但是當msbuild失敗時我遇到了問題。如何在TeamCity的概述頁面上顯示msbuild錯誤

當我使用Msbuild runner和生成失敗,然後在Overview頁面上出現新的「生成錯誤」部分,我從那裏得到了msbuild的詳細信息。但是當我編寫我的自定義腳本時,我得到的只是「使用代碼1退出進程」的錯誤,而我不知道如何「創建」此構建錯誤部分。你知道如何做到這一點?我知道我可以使用service messages,但我無法處理來自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

所有消息你可以訪問生成日誌文件? – 2013-06-02 19:05:17

+0

Msbuild構建日誌 - 是 – 2013-06-03 05:14:11

+1

這裏是相當好的解決方案:[link](http://blogs.lessthandot.com/index.php/EnterpriseDev/application-lifecycle-management/displaying-net-build-warnings-in) – 2013-06-03 08:41:27

回答

3

您可以從日誌指定log for MSBuild

解析錯誤或附上整個日誌爲構建神器。

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

要失敗的構建,您可以使用下面的消息

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

你可以得到可用於here