我正在与C#项目上的一个小型(4人)开发团队合作.我已经提议建立一个构建机器,它将对项目进行夜间构建和测试,因为我知道这是一件好事.麻烦的是,我们这里没有足够的预算,所以我必须证明费用是合理的.所以我想知道:
我意识到这是一个非常大的话题,我刚刚开始.我在这里找不到这个问题的副本,如果那里有一本书我应该得到,请告诉我.
编辑:我终于开始工作了!Hudson非常棒,FxCop表明我们认为实现的一些功能实际上是不完整的.我们还必须将安装程序类型从Old-And-Busted vdproj更改为New Hotness WiX.
基本上,对于那些正在关注的人,如果你可以从命令行运行你的构建,那么你可以把它放到哈德森.通过MSBuild从命令行运行构建本身就是一个很有用的练习,因为它会强制你的工具是最新的.
我正在寻找不同的 持续集成(CI)服务器(特别是关注.NET)的比较,但找不到任何.
因此,我想知道您对可用的不同解决方案的看法,优缺点是什么,托管要求是什么以及为什么CI Server XY是您选择的服务器.
我对你的想法很感兴趣(随意评论别人):
兴趣点是:
我认为标题总结了它.我只是想知道为什么一个或另一个对于Svn的Java项目的连续集成构建更好.
我们是一家从事.NET LOB开发工作的MS商店.我们还为我们的CRM应用程序使用MS Dynamics ...所有开发人员目前都在使用VS/SQL Server 2008.我们也使用VSS,但是每个人都讨厌它在工作中并且很快就会出局.
我们正在开始整个团队的TDD实施计划(〜十几个人).我已经获得TeamCity设置并使用2008 sln构建器成功运行我的第一个自动构建,并使用同事已设置的SVN进行源代码控制分析.在演示管理时,我认为他们开始购买我的蛇油,并提出了调查TFS的建议.
这让我对TDD架构的计划产生了不小的影响.尽管如此,因为我一直认为TFS太昂贵而且对我们的团队来说不值得(而且我在其他商店也看到了相同的情况).我觉得MS在TDD/CI领域已落后多年,第三方产品可能更好,更成熟......我还需要做很多研究,但我想我会来这里看看如果有人实际使用过两个系统.
我意识到TFS包含的内容远远多于构建服务器......但我不想至少故意将这个问题过于宽泛.使用TFS/TFB代替TeamCity的实际利弊是什么 - 例如,我们会失去/获得哪些好处?有没有人在这里实际使用过这两个系统(TFS for TDD/CI和TeamCity/SVN)并且可以从实际的角度说话?
我已经对这个主题做了一些搜索,我在SO上找到的一篇帖子提到TFB的缺点是它只支持MSBuild.我打算在TeamCity上使用FinalBuilder; 看来它也支持TFS ......
谢谢你的建议
编辑:有没有人使用TFS作为他们的Build/CI服务器,可以告诉成功/失败的故事?
有谁知道在哪里可以找到一个很好的教程来指导我如何设置TeamCity CI服务器?我是单元测试和敏捷开发理念的新手,所以我可以用一些帮助让我的脚湿透.我正在使用NUnit进行Asp.NET代码进行单元测试,并且更喜欢TeamCity服务器的Windows环境.请注意,我不知道如何为构建或连续构建所需的任何其他内容配置NANT.我只是有单元测试的.NET代码.
是真的有形的差异还是仅仅是品味问题?
我们的源代码存储在Kiln/Mercurial存储库中; 我们使用MSBuild来构建我们的产品,并且我们有使用MSTest(Visual Studio单元测试)的单元测试.
实现连续集成机器(即构建机器)存在哪些解决方案.
对此的要求是:
理想情况下,这个系统可以在一个盒子上运行(我们的产品不是那么大),没有任何服务器组件.
目前有哪些解决方案?他们的利弊是什么?从上面的列表中,可以做什么和不能做什么?
谢谢
我是持续集成的新手.我想要一个关于我应该开始处理什么工具的建议.我发现这是目前最大的工具:CruiseControl.NET,TeamCity和Visual Studio Team System.
我正在使用这些工具:Visual Studio 2010,Mercurial,NAnt,NUnit.
从我的角度来看,我们在内部构建了我们自己的"味道"NAnt/Ivy/CruiseControl.Net并且不禁让人觉得其他开发商店正在做同样的工作,但后来每个人都在发现同样的问题和陷阱.
我并不是在抱怨NAnt,Ivy或CruiseControl,因为他们在帮助我们的开发团队更加确定他们的代码质量方面做得非常出色,但这些工具非常受欢迎似乎很奇怪,但我们所有人都重新发明了CI轮.
是否有使用上述工具构建.Net应用程序的预制解决方案?
cruisecontrol.net nant continuous-integration build-process ivy
原始CruiseControl和.NET端口之间有什么区别吗?我比较了2,但除了它已经开发的语言之外找不到任何重大差异.我想使用其中一个用于(自动)测试Web应用程序,使用Selenium和Subversion,甚至Groovy但是不知道选哪个.
[编辑]在看了CC和Hudson之后,我选择了Hudson,因为它很简单,它已经有了运行Groovy脚本和Selenium的插件
testing cruisecontrol.net continuous-integration cruisecontrol
我将用CC.NET实现CI过程,所以我正在寻找CC.net实现的最佳实践.
我使用SVN作为源代码控制,使用JIRA作为问题跟踪器(如果它是一个有用的提示).
任何建议或文章建议将不胜感激.
注意:我读过Martin Fowler的这篇文章.
我们有很多单元测试,但它们不是每晚都运行.我已经设置了一些批处理文件来编译SVN存储库中的所有代码,我想运行NUnit.这不是一个大问题,因为我可以在编译后从批处理文件中调用它,但输出存储在网络驱动器中,我需要每天早上打开它来检查错误是否发生.这就是问题所在.
您是否有更好的方法来执行相同的操作,从存储库中获取代码,执行测试并在出现错误时以"更快捷方便"的方式告诉我?
更新 我安装了Team City 4.0,它就像魅力一样.也许Cruise Control .Net本来可以这样做,但Team City网站/文档/功能看起来更好.
我们正在使用CruiseControl.net,我们正在考虑迁移到团队城市,但我只是注意到,Thoughtworks还有另一个名为Cruise的产品
http://studios.thoughtworks.com/cruise-continuous-integration
是否有人在生产环境中使用此产品,如果有,他们对此产品与团队城市有意见