2013-05-10 42 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