在步骤失败之前运行后续步骤

时间:2012-03-15 12:56:34

标签: msbuild teamcity

我想知道是否有办法迫使TeamCity运行给定的构建步骤,即使前面的构建步骤失败也是如此。我想在构建之后清理并终止任何已启动的进程等。

4 个答案:

答案 0 :(得分:1)

在Msbuild中,您可以为许多任务设置属性ContinueOnError。我通常使用属性添加它,以便可以打开和关闭它:

<MSBuild Projects="my.csproj" ContinueOnError="$(ContinueOnError)"/>

然后你可以通过teamcity开启和关闭它。 因此,如果您为构建步骤执行此操作,则应继续通过其他步骤。

答案 1 :(得分:0)

我不知道你是否可以使用构建步骤来完成它,但我已经完成了两个构建。第二个使用指向第一个的完成构建触发器。即使第一次构建失败,也可以将完成的构建触发器配置为触发。

答案 2 :(得分:0)

我们通过构建NAnt脚本,然后使用TeamCity的NAnt runner来完成构建。 NAnt(嗯,实际上是NAntContrib,但仍然......)有一个try ... catch ... finally机制,可以完成任何程序员的期望 - 如果catch代码失败,运行try代码,并运行finally代码,无论发生什么。我们将它用于您想要的相同目的,以及收集我们希望构建发布的工件,即使出现故障(如测试日志)。

答案 3 :(得分:0)

较新版本的TeamCity内置了此功能。