大概熟悉了UCM的各个概念。再搞起别的就顺畅多了。准备按照别人培训的内容一一扩展,深圳的一家培训机构,这里是链接培训目录 。 学 费: 原价5000元,网上优惠价4500元。看来Clearcase还是比较值钱的。
前几篇文章大概包含了管理目录的第一部分。就差一个UCM实例。就做个实例吧。
- 1:创建PVOB
- 启动Create VOB("C:/Program Files/Rational/ClearCase/bin/clearvobtool.exe")
有4个框需要输入或者选择
1:VOB的tag,VOB的注册标识符,以后可以靠这个定位VOB,必选
2:VOB的comment,VOB的批准,可以详细描述下VOB的用途等,便于理解之类。可选
3:定义VOB的类型,如果勾选就创建出一个vob下包含组件的。可以包含多个组件。组件可以是定义好的 也可以在后期创建,可选
(目前我还没搞明白。我实际中应用的少)
4:定义VOB的类型,如果勾选就直接创建为PVOB,可选
创建一般的VOB,3和4都不勾选
创建UCM的PVOB,3不勾选,4勾选
下一步,选择VOB存放的位置
有2个框需要输入或者选择
1:VOB保存在服务器上面(VOB或者PVOB一般直接保存在服务器上面比较好。方便维护管理)
2:VOB保存在本机
下一步
有3个框需要输入或者选择
1:定义VOB关联的administrative VOB,可选
2:定义是否每次登陆的时候自动mount挂载VOB,可选
3:定义VOB是否public开放,可选
1:创建PVOB的时候,这个不需要勾选。创建VOB的时候,这个可选可不选,看实际情况具体原因以后单独分析。administrative VOB这东西还算一个知识点
2:最好勾选,不然每次都要自己手工去mount。(具体细节见帮助文档。因为还要分什么Base VOB,VOB with UCM component等)
3:最好勾选,VOB设置成public后,会自动mount挂载。勾选后需要填一个密码,(密码重置不需要以前密码,所以放心大胆设)密码设置过程如下。
cmd打开C:/Program Files/Rational/ClearCase/bin/rgy_passwd.exe
报错说不是一台registry server。官方解决文档,链接 。我做实验的服务器确实不是registry server。换到registry server后再设置
输入后,enter 成功后
官方所有ClearCase Registry文档集合,链接 。(IBM的官方文档有个特点,会收集整理成TOC,,比如TOC: ClearCase Registry,就是所有关于ClearCase Registry的文章,比如新特性,缺陷啊,一些技术文档等。抽个时间看看TOC里面所有的文章。会受益非常多。)
PVOB当前页面最终效果
然后完成。。。一个PVOB创建成功。
在管理员控制台哪里可以看到新创建成功的PVOB:lab_pvob
- 创建VOB
创建3个VOB,tag依次是lab_src ,lab_doc,lab_release(分别用来保存源代码,项目文档,发布版本)
后面选择,服务器上保存,自动reconnect,public VOB
最后创建完成,一个PVOB,三个VOB
最后扩展下PVOB的知识点
官方2010-1-4出了个文档,文档地址 ,(这里小小鄙视下IBM。UCM都出来10年了,才发出这个文档。。当然也有可能是我没找到别的)
官方2008-12-16出了个Admin VOB在UCM中应用的文档,文档地址 ,
先贴2个图出来
图1:PVOB和component VOB的联系图
图2:PVOB和component VOB的联系图
从上图和文档中可以得到以下信息:
1:PVOB和Component VOB之间有一个Admin VOB Hlink,UCM规定PVOB和Component VOB之间必须有一个连接connection。这样间接说明PVOB和Admin VOB神似。两者具体差别目前我未知。 不过UCM中PVOB确实admin了其他VOB。
2:文件和目录等elment data元素数据会产生在Component VOB中。
3:在Component VOB中产生的每个version版本和一个UCM activity活动关联。通过change hlink关联。
4:每个version版本的产生必须和一个Clearcase的bracnch type分支类型关联,也就是要和PVOB关联。
5:PVOB库存了开发中需要的所有branch type分支类型的一整套拷贝。这样便于统一各个VOB。
6:当一个版本version被创建,在Component VOB中生成一个全局分支的本地拷贝,为以后在分支上面创建新版本做准备。
7:每个分支关联了一个库存在PVOB中的UCM流。这样间接说明branch分支和UCM流神似。两者具体差别目前我未知。
8:流被用来允许或者禁止Component VOB在关联的全局分支类型上面创建版本version
9:在PVOB中创建的项目project,被用来针对一系列的流,组织和应用规则,每个流可以定义不同的规则。
10: 当开发流程到达了项目周期里面的关键点,一个UCM基线被当做标记而创建,是在PVOB中创建的。
11:UCM基线是PVOB中创建的一个对象,他和Component VOB钟创建的一般label标签类型关联,这样间接说明label标签和UCM基线似。两者具体差别目前我未知。
12:标签类型被用来标记到,规则选择的所有元素一个单一的最近的版本。
13:一般,这个规则是由基线创建的那个流决定。也就是config spec自动由流创建。
最后再回顾下在完全攻略(三)最后的那个图,Base下面的概念和UCM的概念类比
UCM是在Base的基础上面自定义了一些东西。Base的一些概念在UCM中只是重新定义成新的东西。但是两者确实不能够说成同样一个东西。
update:2010-07-08:上图中说的神似的几对概念,从实现的功能角度确实差不多。不过具体的实现机制等还是有很多不同。
这个在后面的文章中有讨论