小型项目是否值得采用持续集成?

20

自从我5个月前加入公司以来,我一直在推动连续集成,但是在看到我们正在开发的应用程序类型之后,我开始认为为每个项目设置连续集成可能不值得这个努力。

如果你在一个开发部门工作,平均项目需要2-3周的时间,一旦部署后你很少或根本不必担心它,那么设置连续集成是否值得麻烦?

7个回答

12

这可能取决于您的流程。如果您有覆盖代码的单元测试,则持续集成非常值得。假设您们所有人都在单个工作模块上工作,因为项目持续2-3周。

我认为人们不会对每个提交运行每个测试,这时持续集成非常有帮助。

另一个原因是如果您的项目高度模块化。我曾在系统中工作过,在其中存在许多模块,开发人员在提交之前不会对整个网站进行功能测试。事情可能甚至无法正确编译,因为其他模块甚至无法构建,因为开发人员没有检出完整的代码。

无论如何,我建议使用持续集成。像Hudson和Cruisecontrol这样的设置不需要花费很多时间来设置,并且很快就可以回报。


我唯一添加持续集成的经验是迁移一个巨大的 .Net 应用程序,该应用程序是由 .Net 1.1 编写的,迁移到 .Net 2.0。为了实现持续集成,我需要对构建脚本进行巨大的修改。 - Omar Kooheji
我认为如果你一次性写下所有这些代码,会存在问题。如果你开始时先编写一个构建脚本,随着迁移的进行,更新它也不应该太困难。 - rajasaur

4

个人认为CI及其鼓励的各种流程总是有用的。一旦您设置好服务器,设置CI就相当简单了。您基本上只需从一个项目复制配置文件,进行编辑并创建新项目即可。我不会因为“为每个项目设置而付出的努力”而不使用CI。


2

持续集成不仅是工具问题,还涉及一系列流程(定期提交,使用版本控制系统等)。

对于I.C软件,您可以在不到10分钟的时间内安装、配置并开始使用Hudson!那么为什么要没有任何IC系统呢?


1

这真的取决于您能够多快地设置自动化构建,然后将其连接到CI服务器。

.NET

我曾经使用UppercuT,在几分钟内为项目创建了自动化构建,我们使用它和CruiseControl.NET(在配置中,我们为每个项目添加一行,因为我们利用预处理器)。

http://code.google.com/p/uppercut/

这里有一些好的解释:UppercuT

0

如果你的许多应用程序共享任何公共组件或模块,那么 CI 和测试很可能会帮助你注意到某些东西出了问题。如果它们真的都是一些小型且独立的脚本,那么你可能不需要 CI,但这是一个艰难的决定。


0

正如其他人所指出的那样,一旦设置了CI,添加新项目就变得微不足道了,所以我建议你去做。你将会看到一个好处是,如果你的任何项目发生了变化,你已经准备好了CI和希望你的单元测试,这样你就不会遇到任何不愉快的惊喜!


0

持续集成不仅可以确保功能正常,还可以让您记录和测试发布过程,就像新开发人员所做的那样。

这确保了客户获得经过测试的内容,而不是开发人员从硬盘中随意组合的内容。

这对于维护目的可能非常重要。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接