使用ClearCase和长时间更新的快照视图进行持续集成

3

我需要建立一个持续集成系统。我们使用ClearCase版本控制,由于平台限制只使用快照视图。我尝试过设置Hudson和Luntbuild,它们都表现出相同的行为。在一个视图中,我们有很多用于构建的库,但是严格是只读的。CI系统执行cleartool lshistory并发现VCS中的更改。然后,它执行cleartool setcs,导致视图更新。这可能需要大约半个小时,这对于CI来说非常不可取。为什么它不只更新先前通过cleartool lshistory获取的更改元素?是否有一种可以做到这一点的CI系统?

2个回答

1

更新具有大量元素的快照视图可能需要一些时间。

这就是为什么我们在我们的Hudson CI中使用几个视图。

  • 一个包含最少元素的视图,由Hudson监控并在检测到VCS更改时进行更新。
  • 一个包含不经常更改的常见内容(如果更改了,我们将手动触发Hudson作业)

另一种解决方案是,特别是对于第一个视图,使用动态视图(跳过更新加载时间)


谢谢你的回答!我在考虑创建两个视图,但我不太确定如何保留项目中现有的目录结构。视图是在单独的目录中创建的,因此项目中所有只读包含和库的路径都必须更改。开发人员还必须使用包含新目录结构的项目。唯一的想法是使用符号链接来保留服务器上的旧目录结构,但我不确定在快照视图中是否是一个好主意。你是如何管理这个问题的? - Yulia Rogovaya
@Yulia:创建两个视图仅适用于CI设置。开发人员可以继续使用一个视图。但这种配置是确保项目设置中不使用绝对路径,只使用带有变量的路径的好机会,从而允许从变量值推断正确的路径。 - VonC
谢谢!在路径中使用变量确实是一种方法。我仍然想知道,为什么CI系统不仅更新已更改的元素(它们可以通过先前调用cleartool lshistory进行识别),而是整个视图。你认为呢? - Yulia Rogovaya
@Yulia:'cleartool setcs -stream' 命令总是会触发快照视图的完全更新。这就是为什么动态视图在这种配置(配置规范修改)方面更加实用的原因。 - VonC

0

Yulia,

您可以查看我们的Parabuild - 它可能更适合您。如果不行,我们很乐意与您合作解决任何性能问题。


ClearCase与Parabuild的集成水平如何?(快照和动态视图?UCM视图?) - VonC
Parabuild支持通过UCM快照视图来使用快照视图和UCM。动态视图对于CI来说并不是很好。它们速度很快,但您无法同步到特定的更改。 - Slava Imeshev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接