根据实际经验,我想问你哪个自动构建环境更好.我打算做一些.Net和一些Java开发,所以我想有一个支持这两个平台的工具.
我一直在阅读并了解CruiseControl.NET,用于stackoverflow开发,以及TeamCity,它支持在不同操作系统平台上构建代理并基于不同的编程语言.所以,如果你对这两者都有一些实际经验,你更喜欢哪一个?为什么?
目前,我最感兴趣的是该工具的易用性和管理,更不用说CC是开源的,而且当你有很多项目要运行时,TC在某些时候需要获得许可(因为,我需要它用于少量项目).
此外,如果有其他工具满足上述要求并且您认为值得推荐 - 请随意将其纳入讨论.
自从产生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不断改进并且仍然易于使用.
我是/我是CC.NET的忠实粉丝.我们目前在CruiseControl中有5个项目,效果很好.用手写配置文件可能很痛苦,但没关系.
但是.
在Kona:持续集成和更好的单元测试截屏之后(关于TeamCity的前1/3),我也将检查TeamCity.我喜欢集成的单元测试仪表板和配置界面.
我想在选择CC.NET或TeamCity之前,每个人都应该观看这个视频.
ps:我希望网上还有一个有价值的CC.NET视频.
到目前为止,我最喜欢的CI服务器是Hudson.易于设置和维护,许多漂亮的图表可以向开发人员和非开发人员展示趋势,并且免费.
我目前在一个项目上使用TeamCity,我对它很满意,但它生成的许多图形并不是特别有用,配置比Hudson更复杂.
也就是说,TeamCity功能强大,可以免费使用,并且有一个杀手功能:远程运行.您可以直接从IDEA或Eclipse"预先提交"您的检查,在TeamCity服务器上运行一个或多个构建配置,并且只有在构建成功时才提交更改(例如,编译并通过所有测试).
鉴于您可以在几个小时内启动并运行TeamCity和Hudson,可能值得同时抓住并同时运行它们以及您能想到的任何其他(例如CruiseControl).如果您无法快速站起CI服务器进行并排比较,那么至少您有一个数据点,便于安装和/或配置.
我已经成功地在不同的项目中使用它们.从设置和管理角度来看,Team City更容易处理.您不必像使用CC那样使用.config文件进行破解,并且设置轻而易举.由于你没有很多项目我会推荐Team City而不是CC,直到你达到Team City的成本为$$.
我使用过CC.net和TeamCity.我的任务是为我的组织(5个开发人员)设置和安装TeamCity.我们的组织使用一些不常见的实践和工具(至少,对于我们规模的组织),例如Perforce用于源代码控制和在异构操作系统上运行的多个构建代理,这导致一些初始设置问题.但是,通过电子邮件提供的支持在设置所有内容方面绝对是一流的.我几分钟就收到了我愚蠢问题的答案.
界面直观,反应灵敏,并且功能丰富.该产品感觉非常昂贵.配置很简单,并且Web界面足够智能,无需重新启动代理或服务器服务,甚至刷新页面即可自行更新.
我觉得我们正在使用该产品的所有高级功能,并且到目前为止没有发现任何错误.Ndepend集成,嵌套的NAnt脚本,Perforce版本标签,您可以命名,我们正在这样做.
我强烈推荐TeamCity给任何寻找持续集成服务器或任何构建服务器的人.