代码之家  ›  专栏  ›  技术社区  ›  javamonkey79

CI对高度模块化项目的好处

  •  0
  • javamonkey79  · 技术社区  · 14 年前

    由于我们的项目有一定的分段性,因此在放弃CI系统(Hudson-FWIW)方面有一些讨论。在不透露太多内容的情况下,您可以将每个项目视为类似于web站点项目:它有依赖项、自己的单元测试等。

    看起来,CI的主要好处之一是确保项目的每个组件协同工作,但是除了项目继承之外,我们的大多数项目都是独立的,单元测试也相当好。

    鉴于我在这里所解释的(我们项目组织中的奇怪之处);有谁能解释CI对分段/模块化/多个项目的任何好处?

    据我所知,这是我找到的唯一好理由:

    错误也是累积的。你有越多的错误,就越难删除每一个。这在一定程度上是因为你得到了bug交互,其中的失败显示为多个错误的结果-使得每个错误都很难找到。这也是心理上的问题——当有很多bug时,人们就没有那么多精力去发现和消除它们——这是一种实用主义程序员称之为“破窗综合症”的现象。

    从这里开始: http://martinfowler.com/articles/continuousIntegration.html#BenefitsOfContinuousIntegration

    2 回复  |  直到 12 年前
        1
  •  1
  •   Bernard    14 年前

    我使用哈德逊有以下原因:

    • 建立工作依赖于其他工作的建立成功。
    • 确保您的代码遵循商定的编码标准。
    • 将发现的任何问题通知开发团队。

    如果项目数量稳步增加,你会发现需要能够有效地管理每一个项目,特别是考虑到上述原因。

        2
  •  1
  •   Wolfgang    14 年前

    在您的情况下,您可以(至少)通过以下两种方式受益于CI:

    • 您可以让CI服务器在每次subversion/之后自动运行某些较大的测试套件。。。登记入住。尤其是那些测试不同模块之间的交互的模块,因此名称是continuous 整合

    • 您可以让CI服务器将新工件发布到依赖解析程序(例如Ivy、Maven)的存储库中。这样,各个模块可以自动下载它们所依赖的模块的最新(稳定)版本。把这一点和前一点结合起来,想象一下可能性(!!!)。