在我们进行LOB .NET / MSSQL开发的工作中,我们拥有的许多项目是2人甚至1人的项目,其开发生命周期为1-3个月.开发人员充当业务分析师/项目经理/ QA,因此在花费最少“BS时间”的情况下快速
我们正在努力让每个人都开始进行TDD(我最近的项目有完整的代码覆盖并且是单独开发的),我正在研究最大限度地利用它所需的架构.似乎大多数做TDD的人都在做CI,有一个构建服务器,正在进行自动构建,并拥有某种自动化客户端构建工具(FinalBuilder或nAnt)等.
所以我的问题 – 我看到不同的大型项目有明显的好处,你们有5个人同时在同一个代码库上工作 – 但是我们会看到在小型2人项目上做CI的好处多少?一个人的项目怎么样 – 对于那些人来说,这只是一个完全的浪费,因为你真的没有与任何人“整合”?而且,您如何将CI /自动构建/构建服务器推向管理?
拥有自动/可重复的构建过程,并且能够证明当前构建通过所有测试并在服务器环境中运行,这对于任何规模的项目恕我直言都是值得的.我会这样说:手动构建是手动的.即使是在小型项目上,事情也会变得混乱.自动构建解决了这个问题.设置构建脚本所花费的时间将在应用程序的生命周期中多次构成.
至于CI与测试运行等…:它是对代码库质量的持续健康检查.当一件事无意中打破另一件事时,很快就会知道.