由于我们的项目有些细分,因此在放弃我们的CI系统(Hudson FWIW)方面进行了一些讨论。在没有透露太多的情况下,您可以将每个项目视为与网站项目类似:它具有依赖关系,自己的单元测试等。
似乎CI的一个主要好处是确保项目的每个组件协同工作,但除了项目继承之外,我们的大多数项目都是独立的,并且单元测试相当好。
鉴于我在这里解释的内容(我们项目组织的奇怪之处);任何人都可以解释CI对分段\模块化\许多项目的任何好处吗?
据我所知,这是我找到的唯一理由:
“错误也是累积的。您拥有的错误越多,删除每个错误就越困难。这部分是因为你得到了bug交互,其中故障表现为多个故障的结果 - 使每个故障更难找到。这也是心理上的 - 当有很多错误时,人们找到并摆脱错误的能量就会减少 - 实用程序员称之为破碎的Windows综合症。“
从这里开始:http://martinfowler.com/articles/continuousIntegration.html#BenefitsOfContinuousIntegration
答案 0 :(得分:1)
在您的情况下,您可以(至少)以下两种方式从CI中受益:
您可以让CI服务器在每次subversion / ...签入后自动运行某些较大的测试套件。特别是测试不同模块的交互的那些,因此称为连续集成。当他们考虑办理登机手续时,这会消除开发人员的维护工作和等待时间。某些CI(例如Hudson)也可以配置为在构建依赖模块时自动构建模块。通过这种方式,您可以让它自动测试依赖模块是否与更改后的模块兼容。
您可以让CI服务器将新工件发布到依赖项解析程序的存储库(例如,Ivy,Maven)。这样,各种模块可以自动下载它们所依赖的模块的最新(稳定)版本。将这一点与前一点结合起来,想象可能性(!!!)。
答案 1 :(得分:1)
我会使用Hudson,原因如下:
如果项目数量稳步增加,您将发现需要能够有效地管理每个项目,特别是考虑到上述原因。