6

作为我之前的一篇文章“使用版本控制进行家庭开发”的后续工作,我现在询问有关将构建服务器用于宠物项目的意见。

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

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

我问的原因是我认为这些构建服务器主要针对团队项目......但话又说回来,我对这个自动构建过程仍然很陌生。

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

那么我应该更多地研究这个概念以便在家中使用,还是应该为了经验而对其进行一些练习?

[编辑]

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

4

7 回答 7

6

为您的家庭项目实施构建服务器是完全可行的。我自己为我的家庭项目实施了 CC.Net,即使是第一次这样做也很容易。我会说学习曲线(取决于你的经验)不到一天就可以开始和构建你的第一个项目,尽管当你深入研究一些更有趣的细节时,这条曲线上总是有更长的尾巴。

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

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

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

我的建议是,只做一次,这样您就可以更清楚地了解所涉及的内容以及您可能获得的好处和可能产生的缺点。然后自己决定是否值得继续做。就像我说的那样,学习曲线相当低,所以你必须进行的投资只是尝试一下不应该成为不这样做的理由。

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

于 2009-01-30T16:46:35.167 回答
2

作为 CC.Net 的替代品,我建议您看看TeamCity,它真的很容易设置并启动和运行。

相关问题:

于 2009-01-30T06:01:04.627 回答
1

我几个月前安装了 CC.net,我花了整整一夜来配置它并创建 xml 配置,我对此并不后悔,它与 SVN、Nunit、Nant 或 Msbuild 顺利集成。只有在获得经验时才应尝试

于 2009-01-30T05:55:32.500 回答
1

看看哈德森,它很容易。您只需在 Tomcat 或您使用容器的任何其他 servlet 中进行部署。一旦启动,每个配置都可以使用浏览器完成。Hudson 支持 maven、ant 等,并支持所有主要的 SCM。过去一年我一直在使用 hudson,没有遇到任何麻烦。

于 2009-01-30T06:00:01.477 回答
0

CC.NET 非常可行,实际上具有免费成本和广泛支持的操作。更不用说因为您可以获得源代码,您可以根据您的需要对其进行修改,我无法想象有更好的选择。我阅读了其他关于设置有多困难的合规性文件,但老实说,我在一个小时内完成了我的第一个简单的 TFS/VS2005 项目。请记住,如果您遇到任何问题或障碍,CC.NET 有一个非常活跃的 google 组供用户和开发人员使用,他们愿意帮助您解决任何问题。

于 2009-01-30T12:34:38.280 回答
0

我喜欢 CC.NET,我是 CI 的忠实拥护者,但我不得不问:项目只有一个开发人员,存在哪些集成场景?难道你不只是在 Visual Studio 中构建整个项目,而不需要 CI 吗?

于 2009-01-30T20:22:37.853 回答
0

我同意 CC.NET 是本地/家庭开发的绝佳选择。我想补充一点,它不需要 SCM 工具即可使其工作。有一个文件系统观察插件,它将只监视文件更改。这样您就不必为了执行它而进行签入。此外,您不必等待 CI 周期完成,就像每次都运行 F6 一样,除了 IDE 不会使用它的所有资源,您可以继续编码。如果它坏了,您可以选择调查或忽略。没有一种方法可以进行 CI。

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

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

于 2012-01-05T21:22:55.787 回答