【问题标题】:Continuum finding dependencies and building on chain-dependent projectsContinuum 查找依赖项并构建依赖链的项目
【发布时间】:2022-04-08 00:23:53
【问题描述】:

我是一家 IT 公司的配置经理。目前,我们正在使用 Anthill 构建管理服务器来实现与构建相关的所有目的。我们希望在我们的开发生命周期中实施持续集成。

目前构建过程是手动完成的。假设有 5 个项目 A、B、C、D、E,E 是父项目,依赖链是这样的: A->B->C->D->E

我们所做的是首先构建 A,将 B 的 project.xml 更新到 A 的最新版本,然后构建 B,依此类推,直到构建所有依赖项目,最后构建父项目。

我的想法是自动化整个过程,即自动找出依赖关系并首先构建它们,然后更新父项目的版本并再次将它们构建到新版本。

Continuum 会为我做这件事吗?如果没有,这里还有其他 CI 工具吗?

【问题讨论】:

    标签: continuous-integration continuum


    【解决方案1】:

    Hudson 做得很好,如果你使用 Maven,它甚至会在第一次构建后自动为你找出构建依赖关系,否则你可以手动定义构建依赖关系。即,它允许您配置系统以在成功构建项目 A 后构建项目 B。

    我不确定这对你是否重要,但 Hudson 也是开源的。

    【讨论】:

      【解决方案2】:

      如果没有,这里还有其他 CI 工具可以做到这一点吗?

      我喜欢TeamCity,它几乎可以满足您的所有需求。使用最新版本(以及来自 JetBrains 的插件),甚至还支持 Git。

      另一方面,任何持续集成系统都应该轻松处理依赖关系。

      【讨论】:

        【解决方案3】:

        我们使用Zed Builds and Bugs 进行类似的设置。我们有一个具有子项目依赖关系的主项目,并且构建系统以正确的顺序处理所有内容。

        我们还为子项目提供了非常小的、紧凑的构建,因此当开发人员致力于源代码控制时,它们中的每一个都可以构建。 Zed 服务器能够从这些小型构建中提取最新的工件并将它们组合成更大的构建,但我们尚未使用该功能。

        我们的签入会触发小型 CI 构建,然后每天两次整个应用程序都会按照依赖链从头开始重新构建。

        我同意 OregonGhost,不过,任何 CI 系统都应该能够建立这种类型的链。

        【讨论】:

          【解决方案4】:

          我认为您不需要 CI 工具。尝试使用构建脚本自动执行此操作,并使用 Continuum(或任何其他 CI 工具)来触发您首选的构建工具。

          【讨论】:

            猜你喜欢
            • 2013-01-30
            • 1970-01-01
            • 2020-07-24
            • 2016-05-24
            • 1970-01-01
            • 2014-03-19
            • 2015-11-30
            • 2014-06-23
            • 1970-01-01
            相关资源
            最近更新 更多