我正在使用的TeamCity建立我的持续集成服务器,我有我的版本(.NET/VS2010/MSBUILD)团队市防止生成步骤从运行
- 使用的MSBuild建立我的解决方案三个步骤。
- 运行NUnit测试。
- 使用MSBUILD做我的项目的Web部署。
我试图解决的问题是防止步骤3运行,如果任何测试失败。这可能吗?
我正在使用的TeamCity建立我的持续集成服务器,我有我的版本(.NET/VS2010/MSBUILD)团队市防止生成步骤从运行
我试图解决的问题是防止步骤3运行,如果任何测试失败。这可能吗?
您可以通过处理输出参数“ExitCode”然后执行MSBuild Error Task取决于“ExitCode”或执行Deploy任务/目标取决于此条件来执行此操作,因此取决于您。
错误任务:
停止构建并记录基础上的评估条件语句错误。 的错误任务允许的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'"/ ... />
现在我正在TeamCity中使用多个构建步骤。因此,虽然构建可能失败,但该过程中的所有步骤都将被执行。我希望能够在MSBuild文件中完成所有工作,但是我找不到可以运行Web部署发布的构建任务的文档。我打算尝试使用Exec任务运行MSDeploy.exe。 –
如果测试失败,没有你的构建失败?如果不是,那就是我专注的地方。一旦你有了这个工作,你可以选择将Web部署推入一个独立的构建,这取决于你的实际构建。我更喜欢这个选项,因为我认为它们是独立的进程,并且应该单独成功/失败。 –
不幸的是,目前似乎没有可能使用teamcity http://youtrack.jetbrains.net/issue/TW-12194 – iamkrillin