自从产生 Cruise Control(java 版本)以来,我一直在使用持续集成工具。我在某个时候几乎尝试了所有这些。在 TeamCity 中,我从未像现在这样快乐。它的设置非常简单,并且仍然提供强大的功能。显示构建时间、单元测试计数、通过率等的构建统计页面非常好。TeamCity 的项目主页也很有价值。对于简单的 .NET 项目,您只需告诉 TeamCity 解决方案在哪里以及哪些程序集有测试,这就是它所需要的(源代码控制位置除外)。我们还使用了一些复杂的 MSBuild 脚本并完成了构建链接。我还经历了两次 TeamCity 升级,而且它们都很轻松。
CruiseControl.NET 也运行良好。设置起来比较棘手,但它的历史更长,因此很容易在网上找到解决方案。由于 CruiseControl.NET 是开源的,您还可以选择添加或更改任何您喜欢的内容。自 CruiseControl.NET 发布以来,我一直在使用它,并为 cc.tray 编写了一些早期代码(幸好由更了解的人重新编写)。
来自 ThoughtWorks 的 Cruise 看起来也很不错,但我没有看到一个令人信服的理由让我转换。如果我要开始一个新项目,我可能会尝试一下,但是 TeamCity 做得很好,让简单的事情变得简单,同时让复杂的事情变得轻松。
编辑:几周前我们刚刚升级到 TeamCity 5.0,这是另一个轻松的升级。它让我们可以利用改进的代码覆盖能力和 GIT 支持。我们现在也在使用已经存在一段时间的个人构建和预测试提交功能。我只是想我应该更新答案以表明 TeamCity 不断改进并且仍然易于使用。