我想知道是否有办法迫使TeamCity运行给定的构建步骤,即使前面的构建步骤失败也是如此。我想在构建之后清理并终止任何已启动的进程等。
答案 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内置了此功能。