签入或不签入哪个在clearcase UCM中首选?

时间:2012-01-04 13:40:22

标签: build-process build-automation clearcase clearcase-ucm

在我们的构建系统中,一旦构建结束,程序集也将被签入。但是当我们搬到UCM时,建筑师在这个意见中分歧了。很少有人支持登记已编译的程序集和msi,很少有人反对它。

当我们办理登机手续时,我们只是做符号链接,它给了我们很大的优势。此外,在办理登机手续时,它将从bin和release文件夹中删除条目,而不是复制。它帮助了我们很多。每天,人们都可以通过夜间建筑来处理最新的组件登记。现在他们无法做到这一点。他们希望我将Nightly build dll复制到一些常见的地方。

另一方面,由于每天办理登机手续,我们的存储库变得有意义。

我不知道什么是最好的选择。

您能否分享一下您对哪种方法更好的想法?是否更好地在UCM / Clearcase中签入程序集?

2 个答案:

答案 0 :(得分:2)

作为一种惯例,所有构建输出都不应保持在源代码管理之下。但是,你必须将它们放在一个共同的地方,直到它们过期。这种做法背后的哲学是:

  1. 向其添加二进制文件时,存储库大小会变大。
  2. 在夜间制作(属于2年前)制作的旧版本的装配是没用的。另一方面,旧版本的源代码及其历史始终有用。
  3. 除了构建结果外,软件产品通常依赖于第三方组件。这些第三方组件通常是进化的,并且通常会发布其新版本。保持构建结果在源代码控制中,您必须在其他位置保留正确版本的第三方组件。

答案 1 :(得分:1)

在ClearCase中反对签入程序集的另一个原因是缺少清理功能:如果没有可能损害Vob存储库,您可能无法轻松rmver某些版本。

在UCM中尤其如此,其中元数据和超链接被添加到版本中,根据它来删除其他对象(如UCM基线)的完整性非常危险。

对于版本化二进制文件的其他更一般原因,请参阅“Is it good practice to store framework runtimes under source control?”和hsalimianswer