1

为了实现持续集成,我想到了编写 Clearcase 触发器。

我知道后操作触发器 [在交付到集成流之后] 将对我有用。

我只是向我的架构师寻求有关触发器实施的建议。

他告诉我不要使用触发器在多站点环境中很麻烦。

这是神话还是真的?有没有人遇到过由于触发器而使他们的构建更烦人的问题?

请建议我在多站点环境中使用触发器是否安全?

4

1 回答 1

1

您的架构师可能参考了这个技术说明,它强调了以下事实:

按照设计,触发器类型必须在每个 VOB 中本地创建。

与其他元数据类型(标签、属性、分支、元素、超链接)不同,触发器类型不能在管理 VOB 中创建为全局资源,因为它们不能正确遍历超链接;这就是管理 VOB 连接到其客户端 VOB 的方式。

您可以尝试复制触发器:

( cptypecopy type) 命令创建一个新的类型对象,它是现有类型对象的副本。现有对象和新对象可以在同一个 VOB 中,也可以在不同的 VOB 中。仅当您在不同的 VOB 中制作副本时,副本才能与原件具有相同的名称。

但:

执行此命令后,原始和副本这两个对象不保留任何连接
它们只是两个具有相同属性的对象,甚至可能具有相同的名称。如果对触发器进行了任何更改,例如使用cleartool mktrtype -replace,则必须手动对触发器的每个副本进行这些更改,或者您必须使用-replace开关再次执行复制;有关更多信息,请参见cptype参考页


我建议使用外部系统来监控、触发和报告您的持续集成。

您可以:

  • 通过使用 CCRC 而不是多站点工作流程来简化您的 ClearCase 设置。
    在这种情况下,文章“与 IBM Rational ClearCase Remote Client 持续集成”可以提供帮助(您不必使用 CruiseControl:Jenkins 或 Hudson 或 TeamCity 在这种情况下同样出色)

带有 CCRC 的 CI

  • 更一般地,让 CI 工具(再次:CruiseControl:Jenkins 或 Hudson 或 TeamCity)监控一个特定的视图,该视图表示 CI 工具会定期更新,检测任何更改并触发构建。请参阅“实现持续集成”。

持续集成示例

于 2012-01-11T05:06:29.690 回答