团队城市阻止从运行中构建步骤

时间:2011-11-18 03:15:18

标签: c# msbuild nunit continuous-integration teamcity

我正在使用Teamcity设置我的持续集成服务器,我的构建有三个步骤(.NET / VS2010 / MSBUILD)

  1. 使用MSBUILD构建我的解决方案。
  2. 运行NUnit测试。
  3. 使用MSBUILD对我的项目进行Web部署。
  4. 我试图解决的问题是如果任何测试失败,则阻止步骤3运行。这可能吗?

1 个答案:

答案 0 :(得分:2)

您可以通过处理输出参数“ExitCode”使用NUnit MsBuild Community task执行此操作,然后执行MSBuild Error Task取决于“ExitCode”或执行部署任务/目标取决于此条件,因此它取决于你。

  

错误任务:

     

停止构建并根据评估的条件语句记录错误。   Error任务允许MSBuild项目向记录器发出错误文本并停止构建执行

<!-- Build -->
<Build .... />

<!-- Run tests -->
<Nunit ....>
   <Output TaskParameter="ExitCode" 
           PropertyName="NUnitResult" />

<!-- Stop build in case of error whilst tests run -->    
<Error Text="Tests failed"
       Code="$(NUnitResult)"
       Condition="'$(NUnitResult)' != '0'"/>

<!-- Deploy -->    
<Deploy Condition="'$(NUnitResult)' != '0'"/ ... />