Continuous integration 使用ClearCase进行持续集成的私有构建

Continuous integration 使用ClearCase进行持续集成的私有构建,continuous-integration,clearcase,Continuous Integration,Clearcase,我目前使用以下工具设置了CI环境: VCS-ClearCase(启用UCM) CI服务器-詹金斯 生成引擎-MSBuild 基本上,Jenkins每2分钟轮询一次我的UCM项目的集成流,并通过我编写的msbuild脚本进行构建 而好词。除此之外,理想情况下,我会有原子提交,ClearCase仅以交付到流的形式提供原子提交 目前,我们直接在集成流上工作,有时我们的构建会失败,因为Jenkins在开发人员完成签入之前就开始构建 我的问题是,我如何在ClearCase上拥有一个私有工作区(沙箱)和原子

我目前使用以下工具设置了CI环境:

VCS-ClearCase(启用UCM)
CI服务器-詹金斯
生成引擎-MSBuild

基本上,Jenkins每2分钟轮询一次我的UCM项目的集成流,并通过我编写的msbuild脚本进行构建

而好词。除此之外,理想情况下,我会有原子提交,ClearCase仅以交付到流的形式提供原子提交

目前,我们直接在集成流上工作,有时我们的构建会失败,因为Jenkins在开发人员完成签入之前就开始构建

我的问题是,我如何在ClearCase上拥有一个私有工作区(沙箱)和原子提交,而不为每个开发人员创建一个流?我错过什么了吗

目前,我们直接在集成流上工作,有时我们的构建会失败,因为Jenkins在开发人员完成签入之前就开始构建

您可以编写构建脚本以检测是否正在进行交付。
交付的特点是一个名为
deliver.xxx
的活动:您可以列出其内容,并查看其中是否有任何版本正在签出。如果是,则交付正在进行。
如果最新交付的版本只有签入版本,则可以安全地启动构建


或:

我如何在ClearCase上拥有一个私有工作区(沙箱)和原子提交,而不为每个开发人员创建一个流


Jenkins使用的私有区域是每个开发人员流上的快照视图。
顾名思义,快照视图将获取代码的快照,但您需要定义一个标准,建议Jenkins可以构建快照视图已更新的内容

我看到使用的是一个“
BUILD
”移位标签(您在新更新的代码上重新应用的标签,Jenkins在他的快照视图中使用了一个基于该标签的选择规则):

当开发人员认为当前代码已准备好构建时,他/她会移动标签,Jenkins jobs会根据所述移动标签“
build
”引用的版本更新其在开发人员流上的快照视图。

关于此的第一个问题,欢迎:)很高兴我没有通过twitter消息回答它。当涉及ClearCase时,140个字符很少是足够的…谢谢!我总是在这里毫无疑问地找到我的答案…^你是对的,ClearCase的答案总是充满细节。“Jenkins使用的私有区域是每个开发人员流上的快照视图。”-为什么我要让Jenkins在开发人员流上工作?当然,我可以这样做,但如果我作为一名开发人员,自己在命令行上运行构建脚本也是一样的。。。你的意思是我必须为每个开发人员提供一个流,即使这不是一个最佳实践?@MarcosBrigante如果你真的想为每个开发人员提供隐私,你需要使用ClearCase为每个开发人员提供一个流(与RTC相反,在RTC中,你可以使用存储库工作区)。每个开发人员只有一个流允许真正的隔离。但是,正如我之前提到的,这是疯狂的(就交付/重新基础操作而言)。@MarcosBrigante我会将私有构建保留为开发人员在其自己的快照视图中启动的脚本(这提供了一种半隔离,只要他/她不根据公共流更新所述快照视图)@MarcosBrigante:最新的ClearCase版本支持原子提交:@MarcosBrigante不重要(15个代表就可以了)。只要你能从这个答案中找到一些解决方案,它就会很好。