CI是否值得为一个或两个人项目实施?

时间:2010-01-17 20:38:04

标签: tdd continuous-integration

在我们开展LOB .NET / MSSQL开发的工作中,我们拥有的许多项目是2人甚至1人项目,开发生命周期为1-3个月。开发人员充当业务分析师/项目经理/ QA,因此在花费最少“BS时间”的情况下快速完成工作。我们确实得到了可能需要6个月的大型项目,并拥有一个由5个开发人员组成的团队,但这些项目更为罕见。

我们正在努力让每个人都在开展TDD(我最近的项目有完整的代码覆盖并且是单独开发的),我正在研究最大限度地利用它所需的架构。似乎大多数做TDD的人都在做CI,有一个构建服务器,正在进行自动构建,并拥有某种自动化客户端构建工具(FinalBuilder或nAnt)等。

所以我的问题 - 我看到不同的大型项目有明显的好处,你们有5个人同时在同一个代码库上工作 - 但是我们会看到在小型2人项目上做CI会带来很多好处吗?一个人的项目怎么样 - 对于那些人来说,这只是一个完全的浪费,因为你真的没有与任何人“整合”?而且,如何将CI /自动构建/构建服务器推向管理层?

2 个答案:

答案 0 :(得分:10)

拥有自动/可重复的构建过程,并且能够证明当前构建通过所有测试并在服务器环境中运行,这对于任何规模的项目恕我直言都是值得的。

我会这样说:手动构建是手动的。即使是在小型项目上,事情也会变得混乱。自动构建解决了这个问题。设置构建脚本所花费的时间将在应用程序的生命周期中多次构成。

对于带有测试运行等的CI ...来说:这是对代码库质量的持续健康检查。当一件事无意中破坏了另一件事时,很快就会知道。

答案 1 :(得分:2)

在一个小项目中,您不需要大多数基础结构来执行CI,尤其是构建服务器。您所需要的是测试,构建自动化,版本控制和受控构建环境。您也可以将构建和测试服务器作为您在工作站上运行的虚拟机映像...只要图像处于版本控制之下,就像项目的其余部分一样。