【问题标题】:ClearCase + integration from source + dependency managementClearCase + 源代码集成 + 依赖管理
【发布时间】:2017-10-12 10:52:03
【问题描述】:

在我工作的行业中,习惯于从源代码进行集成(即从头开始编译所有库)。这意味着必须将源代码树配置为显示适当的内容。

我知道,对于二进制集成,有很多针对编程语言(Maven、CMake、Gradle 等)量身定制的工具。

我们使用基本 ClearCase 作为源代码控制工具。从源代码集成时如何实现依赖管理?在 ClearCase 中,我想这需要设置配置规范来选择所有所需文件的所需版本。是否有任何工具可以实现这一点?

【问题讨论】:

    标签: clearcase dependency-management


    【解决方案1】:

    是否有任何工具可以实现这一点?

    是:ClearCase UCM,表示不是基本 ClearCase。

    从不同版本的“组件”(文件组)构建是您拥有以下概念的原因:

    • UCM 组件
    • 基线:应用于UCM组件中所有文件的标签)
    • stream,它列出了您的程序运行所需的确切基础基线,或者在您的情况下,您的 CI 发生。

    UCM 流上的任何 UCM 视图都会为您生成正确的配置规范。

    这就是像 Jenkins 这样的 CI 引擎将与 JENKINS ClearCase UCM Plugin 一起使用的东西。

    【讨论】:

    • 我期待这个答案。如前所述,我的组织反对从 Base ClearCase 迁移到 UCM :(
    • @TudorTimi 我明白了。话虽如此,对于源依赖... Git 也很不错 ;)
    • 由于菱形依赖问题,我听说了有关 Git 子模块的坏消息。 UCM 也有这个吗?
    • @TudorTimi 不适用于 Git 或 UCM:想法是让一个项目的所有依赖项扁平化为一个标签列表,因此没有菱形问题:您必须同意一个规范的标签列表.
    • 我想这适用于持续集成,但我们没有这样做。
    【解决方案2】:

    UCM 确实使这更容易。但是,如果您的组织在政治上不愿意尝试它,您可以使用 base clearcase 做很多相同的事情。

    流只不过是添加了额外元数据的分支(活动、及时性、基线链接等)

    基线本质上是带有更多元数据的标签。该元数据将基线连接到后代和同级基线,让您拥有一个跨组件映射基线的基线。它还将基线链接到流,因此您无法删除流使用的基线。

    你不需要 UCM 来做类似 UCM 的事情,它只是需要更多的时间并且没有被很好地封装。

    【讨论】:

    • 我假设没有任何资源详细说明这一点(要添加哪些属性等),对吧?
    • 抱歉拖了这么久。有几本关于 ClearCase 的 SCM 实践的旧书。例如:amazon.com/… SCM 确实没有太大变化,因为总是需要回答相同的问题:谁改变了什么?变化在哪里?为什么要制作它们?
    猜你喜欢
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 2015-05-11
    • 2016-10-25
    • 2012-07-04
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多