假设你正在做CI,标题真的说明了一切:你使用什么工具?
在我们的案例中,我们是一个.NET开发商店,正在使用
然而,我们遇到了Subversion的一些性能问题以及Cruise构建代理的数量和我们正在运行的管道,所以正在考虑在后端使用Git来缓解这种情况。然而,Windows版本的Git给我们带来了问题(似乎有些“测试版”),所以我们认为我们需要使用Linux版本。
这样做的缺点是它会进一步增加任何管理此设置的人所需的技能。
那么,您使用哪些工具进行版本控制和自动构建/部署?还请提及您的开发平台。
答案 0 :(得分:8)
我们使用开源工具Hudson。这是一个非常好的自动构建工具。不过,这不仅仅是为了建筑。您可以使用它来运行测试,提供代码覆盖率报告,发送电子邮件通知等。
(我们的开发平台主要是linux + java)
答案 1 :(得分:4)
Team City作为CI服务器 - 对于有限数量的项目是免费的。
没有令人讨厌的XML配置,而是一个不错的Web GUI。 Team City也可以配置不同的构建系统,NAnt,MSBuild等。其他工具也可以设置为与TC一起使用,例如通过跑步者运行单元测试。
答案 2 :(得分:2)
在我目前的工作(一家大公司的合同。大约90%的Microsoft / .NET开发人员)中,我的团队正在使用TeamCity在我们的新应用程序上自动构建和单元测试。
我设置了这个并开始使用TC上的MSBuild,但我正在努力推动Nant构建文件以及更多关于新项目的标准。 (使用VS2008中的模板在创建新项目时生成尽可能多的构建设置)
源控制在这里是可怕的。许多团队仍然使用VSS(包括我的,这并不好玩),今年企业推动TFS。我更喜欢去DVCS(git或其他东西),但在这种环境下不会发生。事实上,一旦公司转向TFS 100%,我不确定TeamCity会留下来。但是,我的想法是,到目前为止,我们将通过CI推进,TFS可能无法满足我们的需求。但回到TeamCity,它支持VSS就好了,而且已经成功了。
就部署而言,我正在搞乱微软的Web Deployment Project add-in以及Nant中的配置。 Nant方法显然更灵活,但是有时候尝试教会连接点开发人员Nant脚本有点多。
希望有所帮助。 TeamCity“demo”将免费为您提供20种构建配置。
我应该注意到我尝试过CruiseControl.net和Hudson。两者都是优秀的应用程序(和免费),但我知道在我的小组中的其他人需要在TeamCity中设置新构建的简单性。否则,一旦我离开,人们根本就不会做CI。
答案 3 :(得分:1)
我的商店是Java / Windows,使用IBM软件; ClearCase,WAS,WMB,WPS。我们和Hudson一起去了,它为生产力做了一些很棒的事情。
我们还使用一只小毛绒动物,在这种情况下,唱着一个大约12英寸高的雪人雪人。每当开发人员破坏建筑物时,正如哈德森所确定的那样,他们有15分钟来清理乱七八糟的东西,或者是霜冻在他们的桌子上蜷缩起来。在那里,他们会坚持不懈地等待其他人用同样的方式拧紧它。
我和Frosty一样,有过一次或两次Frosty;它有助于在精神上鼓励更好的编码实践,或者至少是编码实践,不会妨碍你的队友。
答案 4 :(得分:0)
我过去常常使用cruise control.net,nunit,fxcop,ncover,xmlpreprocess,nant和其他一些用户,然后转换到TFS,我正在做很多sharepoint开发。我没有投资于共享点开发的CI过程对我们项目的约束,但我已经开发了msbuild任务并订阅了TFS事件以使用TFS 2k5来模拟CI过程。我完全没有对TFS 2k8进行过调查,但它肯定是支持的。