Continuous integration 与ClearCase和长时间更新快照视图的持续集成

Continuous integration 与ClearCase和长时间更新快照视图的持续集成,continuous-integration,hudson,clearcase,luntbuild,snapshot-view,Continuous Integration,Hudson,Clearcase,Luntbuild,Snapshot View,我需要建立一个持续集成系统。由于平台限制,我们使用ClearCase版本控制和快照视图。我试过建立哈德逊和伦特堡。他们都表现出相同的行为。从某种角度来看,我们有很多用于构建的库,但它们都是只读的。CI系统执行cleartool lshistory并在VCS中查找更改。之后,它执行cleartool setcs,这会导致视图的更新。这可能需要大约半个小时,这对于CI来说是非常不理想的。为什么它不只更新以前由ClearToolLSHistory获得的已更改元素?是否有CI系统可以做到这一点?使用大量

我需要建立一个持续集成系统。由于平台限制,我们使用ClearCase版本控制和快照视图。我试过建立哈德逊和伦特堡。他们都表现出相同的行为。从某种角度来看,我们有很多用于构建的库,但它们都是只读的。CI系统执行cleartool lshistory并在VCS中查找更改。之后,它执行cleartool setcs,这会导致视图的更新。这可能需要大约半个小时,这对于CI来说是非常不理想的。为什么它不只更新以前由ClearToolLSHistory获得的已更改元素?是否有CI系统可以做到这一点?

使用大量元素更新快照视图可能需要时间

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

  • 具有最少元素量的视图,该视图由Hudson监控,并在检测到VCS变化时更新
  • 一个是普通的东西,不会经常改变(如果它改变了,我们将手动取消哈德逊作业)
另一个解决方案是,特别是对于第一个视图,使用动态视图(并跳过更新加载时间)

Yulia


您可以查看我们的-它可能对您更有效。如果没有,我们将很高兴与您合作解决任何性能问题。

谢谢您的回答!我曾考虑创建两个视图,但我真的不太明白如何在项目中保留现有的目录结构。视图是在单独的目录中创建的,因此必须更改项目中只读包含和库的所有路径。开发人员还必须处理包含新目录结构的项目。在服务器上保留旧目录结构的唯一方法是使用符号链接,尽管我不确定使用快照视图是否合适。您是如何管理的?@Yulia:创建两个视图仅适用于CI设置。开发人员可以继续使用一个视图。但是这种配置是一个很好的机会,可以确保在项目设置中不使用绝对路径,只使用包含变量的路径,从而可以从变量值推断正确的路径。谢谢!在路径中使用变量当然是一种方法。我仍然想知道,为什么CI系统不仅更新更改的元素(之前调用cleartool lshistory就知道这些元素),而且更新整个视图。你怎么看?@Yulia:a'
cleartool setcs-stream
“总是会触发快照视图的完整更新。这就是为什么动态视图对于这种配置(配置规范修改)更实用的原因。ClearCase与Parabuild的集成级别是多少?(快照和动态视图?UCM视图?)Parabuild支持快照视图和UCM到UCM快照视图。动态视图对CI不是很好。它们很快,但您无法同步到特定更改。