技术开发 频道

ClearCase迁移中的一些经验

    2.2.4 配置存储的逻辑视图与物理视图

    项目经理、架构师与配置管理工程师要一起确定项目配置的逻辑视图,配置管理工程师要根据情况确定配置的物理视图。ClearCase的UCM模式中的Component可以理解为配置的逻辑视图,而VOB的设置可以理解为配置的物理视图。

    2.2.4.1 配置存储的逻辑视图:Component

    Component可以从系统的架构导出,如果应用RUP或项目有Deploy View或Implementation View则可以从中导出Component。

    大多数从其他配置管理工具切换到ClearCase的项目将所有的代码作为一个Component,这样虽然简单,但是就失去了使用ClearCase的意义,可以按模块或3-Tier架构来分解代码,这样也利于项目组成员理解项目。Component的主要作用就是用于重用;设置Component的另一个目的是代码的权限控制,如果有外包或实习生一同工作,可以将核心代码设置为一批Component,将可以由外包或实习生接触的代码设置为一批Component,通过对Component的权限进行设置,可以防止恶意获取或修改代码的可能性。

    文档可以按以下两种方式进行管理:

    单独设置一个文档VOB,所有的文档都放在一起,优点是权限控制简单,可以将文档提供给其他人员而不用担心代码的泄漏,缺点是代码与文档分离,工作中可能会出现两者不一致的问题。

    根据架构,同一模块或Tier的代码与相应和文档一个Component中,优点是可以保证文档与代码的一致性,但是这时要保证代码与文档的安全性要繁琐一些。

    Rational公司给出了Component及目录的设置,可以参考。

 

 

    2.2.4.2 配置的物理视图

    Component只是ClearCase UCM模式的逻辑视图,而实际的存储与控制是由VOB实现的,通过对VOB的访问控制实现对Component的控制。从安全与实用的角度出发,建议每个项目的VOB独立,不要几个项目共用一个VOB。如果一个项目非常重要,对代码等软件资产的管理要求严格,建议将文档、核心代码、非核心代码分别设置为三个VOB,这样可能对Server的硬件资源较高,但是安全上带来的好处足以弥补硬件上额外的开支。Component可以是VOB或VOB的一个子目录,需要注意的是VOB只有第一级子目录才可以设置为Component。

    在不同的PVOB中可以Import同一个VOB或其子目录作为Component,但是这时一定要注意,并规划好各分支的关系。

    2.2.5 配置库安全设置

    配置模式、项目配置的逻辑视图与物理视图确定之后,配置管理工程师要和项目经理一起确定配置库及配置项的安全设置。ClearCase的安全设置和Winodws、Unix系统相关,在本文只介绍Windows下的设置。

    ClearCase中Windows域中有一个特殊用户clearcase_albd,Clearcase系统要求对所有的VOB与View共享目录,该用户均有完全控制权限,所以该用户的安全非常重要;而且由于在每个客户端中设置了Atria Location Broker服务,该服务是以域用户clearcase_albd启动,所以如果修改clearcase_albd用户的密码,需要变更每个客户端的密码(见图)。建议该用户密码至少12位,要为无意义的字符串,要包含数字、大小写字母与特殊字符。

 

 

    ClearCase的安全设置有三个部分:

    配置库存储目录的安全设置

    配置库的安全设置

    配置项的安全设置

    以上的所有安全设置都是基于windows域的安全组,项目经理要根据项目的人员分布与代码保密的原则确定人员的分组,明确不同组的人员的代码权限,配置管理工程师负责与域管理员联系建立用户与组。

    从工作的方便性与软件资产的保护原则出发,建议每个项目设置一个quality组,项目经理、配置管理工程师与质量经理是该组的成员。

    在ClearCase的VOB服务器上需要建立一个共享目录用于存放用户共同访问的VOB的物理实体。

    该共享目录的权限设置为所有的开发人员都有读写权限。为了保证VOB实体的安全性,在该共享目录之下要设立另一个目录用于直接存放VOB的物理实体,对所有的开发人员是读写权限,对配置管理工程师、clearcase_albd需要设置为完全控制权限,该部分设置一般不需要进行,在create VOB及应用命令cleartool protectvob时,ClearCase会自动设置。

    VOB实体的属性中包括owner,group与additional group,owner表示谁拥有该VOB,group表明该owner是哪个组的,additional group描述了还有哪些组对该VOB具有操作的权限。如果在配置项中设置了其他组可读,但是如果用户的组没有在group或additional group中则用户无法获得配置项,这样可以保护一些核心代码等,所以建议核心代码单独设置为一个VOB。VOB的权限设置可以通过命令行来进行设置:

0
相关文章