Continuous integration 使用持续集成服务器进行家庭开发

Continuous integration 使用持续集成服务器进行家庭开发,continuous-integration,cruisecontrol.net,build-automation,Continuous Integration,Cruisecontrol.net,Build Automation,作为我之前一篇文章“”的后续,我现在询问关于在pet项目中使用构建服务器的意见 最近,我一直在阅读有关“构建服务器”概念的文章,并研究了Maven和CruiseControl.Net等应用程序 因此我问,在我的家庭宠物项目中使用CruiseControl.Net这样的东西有多可行? 我问这个问题的原因是,我认为这些构建服务器主要是针对团队项目的……但再说一次,我对这个自动化构建过程还是非常陌生的 请记住,大多数时候,这些宠物项目只由一个人处理,而不是一个团队 因此,我是应该为了在家里使用而更多地

作为我之前一篇文章“”的后续,我现在询问关于在pet项目中使用构建服务器的意见

最近,我一直在阅读有关“构建服务器”概念的文章,并研究了Maven和CruiseControl.Net等应用程序

因此我问,在我的家庭宠物项目中使用CruiseControl.Net这样的东西有多可行?

我问这个问题的原因是,我认为这些构建服务器主要是针对团队项目的……但再说一次,我对这个自动化构建过程还是非常陌生的

请记住,大多数时候,这些宠物项目只由一个人处理,而不是一个团队

因此,我是应该为了在家里使用而更多地研究这个概念,还是应该为了经验而进行一些实践呢

[编辑]


尽管我感谢大家对CC.Net等替代方案的回答,还没有人真正解决为家庭开发实施构建系统是否可行的问题?

我在几个月前安装了CC.net,花了整整一个晚上对其进行配置并创建xml配置,对此我毫不遗憾,它与SVN、Nunit、Nant或Msbuild顺利集成。只有在获得经验的情况下,你才应该尝试一下。看看哈德逊河,这很容易。您只需要在Tomcat或您使用的任何其他servlet容器中部署。一旦启动,每个配置都可以使用浏览器完成。Hudson支持maven、ant等,并支持所有主要的SCM。在过去的一年中,我一直在使用hudson,没有遇到任何问题。

作为CC.Net的替代品,我建议您查看一下它的安装和运行非常简单

相关问题:


CC.NET是非常可行的,事实上它具有免费的成本和广泛的支持操作。更不用说,既然你可以得到源代码,你可以根据你的需要修改它,我想没有比这更好的了。我阅读了其他合规人员关于设置有多困难的文章,但老实说,我在一个小时内完成了我的第一个简单的TFS/VS2005项目。只要记住,如果你遇到任何问题或障碍,CC.NET有一个非常活跃的谷歌小组,面向愿意帮助你解决任何问题的用户和开发人员。

为你的家庭项目实施构建服务器是完全可行的。我自己已经为我的家庭项目实现了CC.Net,而且实现起来非常容易,即使是第一次。我想说,学习曲线(取决于你的经验)不到一天就可以完成你的第一个项目,尽管当你深入研究一些更有趣的细节时,曲线上总是有更长的尾巴

对我来说,问题更多的是这些项目持续集成的动机之一。如果您使用的是“家庭项目”和“一次性项目”,那么,除非您将其专门用作CI学习练习,否则可能没有多大意义

然而,假设这些不是您正在谈论的一次性项目,我发现(除了自动化更明显的好处之外),实施CI有助于减少回到您已经离开一段时间的项目所涉及的开销。当然,在这方面,单元测试是最有价值的资产,但是单元测试与自动化构建/部署过程的结合确实允许您在设置了一段时间后回到项目时,将重点放在新的和更改的需求上

此外,正如mghie在对该答案的评论中指出的那样,“如果家庭项目相互构建,CI将为家庭项目带来更大的好处,因此一个项目中的更改可能会导致其他项目中的构建中断。”

我的建议是,只需做一次,这样你就可以更清楚地了解所涉及的内容,以及你可能获得的好处和可能带来的缺点。然后自己决定是否值得继续做下去。正如我所说的,学习曲线相当低,所以你在尝试时所做的投资不应该成为你不去做的理由


简言之:可行-是的,适合家庭项目-很可能,值得进一步调查-肯定,投资-相对较低

我喜欢CC.NET,我是CI的忠实粉丝,但我必须问:项目上只有一个开发人员,存在什么集成场景?您是否可以在Visual Studio中构建整个项目,从而消除对CI的需求?

我同意CC.NET是本地/家庭开发的一个很好的选择。我想补充一点,它不需要SCM工具就能工作。有一个文件系统监视程序,它只监视文件更改。这样,您就不必为了执行它而进行签入。此外,您不必等待CI周期完成,这与每次运行F6非常相似,除了IDE没有使用它的所有资源外,您可以继续编写代码。如果它坏了,你可以选择调查或者忽略它。没有一种方法可以实现CI

如果您确实创建了单元测试,那么在每次保存时不断对代码执行单元测试在早期问题中肯定有一些优势。使用CCTray可以让您看到它,但不会被打扰。我的2美分


最后,第一次设置它可能有点困难,但您可以调整Visual Studio C#模板或任何您想要的工具,以使用用户所需的最少信息自动配置CI设置

+1,一个非常好的答案,因为你可以回答OP的问题。我可能会补充说,如果家庭项目相互构建,CI将为家庭项目带来更大的好处,因此一个项目中的更改可能会导致其他项目中的构建中断。CI不仅仅意味着编译。你也可以1。删除