UML软件工程组织

运用IBM Rational ClearCase 成功搭建分布式的配置管理环境
俞霁 中国软件开发中心软件工程师, IBM
  1本文向大家介绍了使用 IBM Rational ClearCase搭建成功的分布式的配置管理环境所需要考虑的事情和步骤。
  Rational ClearCase 是市场领先的软件配置管理(SCM)工具。它为 SCM 自动化提供了一种灵活的、经过验证的方法,可用于各种类型的软件项目。与其他的 SCM 工具一样,Rational ClearCase 提供了所有关键的 SCM 功能,例如保护并版本化软件工件的能力。同时,与其他的 SCM 工具不同的是,Rational ClearCase 还提供了几种高级功能:

 并行变更:当两位或多位开发人员开发同一软件时,可能对软件工件进行并行变更。Rational ClearCase 提供了图形化合并与冲突解决功能,以统一变更。

 环境与工作空间管理:ClearCase 允许您重新创建完整的项目开发环境,包括随需应变的完整开发工作空间。

 并行开发:ClearCase 提供了广泛的功能,允许您同时创建与开发多个项目版本。

 分布式开发:ClearCase 使团队在处于不同地点的情况下通过复制的知识库进行软件开发。

 统一变更管理(UCM):使用 Rational ClearCase,您可以按照任务、缺陷和增强请求来组织变更,从而在一个更高的抽象层次上工作。这种基于活动的开发方法流线化了您的整个变更/配置管理工作流。

 那么当我们购买了Rational ClearCase产品之后怎样才能搭建起ClearCase环境,并使他正常运转呢。本文就这个问题,介绍了部署的步骤及涉及到的问题,供大家参考。

 制定部署计划
在搭建之前至关重要的一步就是要制定一个详细周密的部署计划。我们主要要考虑以下几方面的问题:

1. ClearCase服务器的选择

2. ClearCase的用户管理

3. Infrastructure 的相关问题

4. 是否从原有的配置管理工具中导入ClearCase

5. 与集成开发环境的集成

6. 使用UCM还是Base ClearCase

7. 创建试验环境

 ClearCase服务器的选择
  在选择服务器之前首先要看一下,是只买了ClearCase,还是也买了ClearCase Multisite.假如只买了ClearCase,您可以不必关心这里关于multisite的介绍。

 ClearCase Multisite主要是用来支持跨区域的并行开发活动。比如一个开发项目由北京,上海共同完成。为了使两地的开发人员及时看到对方的代码改动,我们可以在上海和北京各搭建起一个ClearCase环境。再用ClearCase Mulisite,实现两边VOB的复制与同步。从而实现异地的并行开发。

 假如你使用ClearCase Multisite.那么就要考虑,选择哪个地方(Site)的ClearCase Server作为主要的ClearCase Site,也就是把VOB建立在哪个Site。而哪些Site是需要把在主Site 建立的VOB 复制过去的.

 就单个Site的ClearCase部署来说,ClearCase,和 ClearCase Multisite基本是一样的。下面我们的讨论主要集中在单个的Site.

 在ClearCase中主要有4种server:

 Register server
  License server
  Vob server
  View server
  他们可以被放在一台机器上,也可以分布在几台机器上。可以根据单位的具体情况来决定用几台机器。

 ClearCase支持很多的硬件及软件平台。请访问 : http://www-   1.ibm.com/support/docview.wss?rs=0&uid=swg21136950来确定使用什么样的软硬件平台。这里要强调的一点是,在选择的时候请根据要放进ClearCase的数据量大小,即,使用ClearCase的用户数,合理的选择服务器(CPU,内存及硬盘容量,操作系统是主要要考虑的因素)。

 ClearCase的用户管理
  在Windows 平台上,ClearCase的用户管理是倚赖于Windows域服务器的域用户管理。所有的ClearCase用户都必须是域用户,在使用ClearCase时也必须用相应的域用户登陆到域才行。

 所以首先我们必须有一台域服务器(他完全可以既做ClearCase服务器又做域服务器),然后ClearCase要求我们至少要在域里创建一个新的组-ClearCase特权组,和一个域用户-albd账户(这个账户属于域管理员组,本地管理员组,和Clearcase特权组),供ClearCase使用。同时ClearCase还推荐再建立一些其他的组-ClearCase用户组和组用户-ClearCase用户帐户(管理员及最终用户帐户), 供ClearCase的用户使用。

 在UNIX/LINUX 里我们是用组和组用户来进行用户管理的。组和组用户的建立规则与Windows上是一样的。 ClearCase的 albd账户是启动 ClearCase最重要服务-Atria Location Broker 的用户,要求他的账户密码永不过期。这和一些单位的security要求可能会有冲突。需要我们为ClearCase争取这个特权。

 Infrastructure 的相关问题
  有一些软件和ClearCase是有冲突的,例如:

 一些 VPN 客户端 ( Shiva 等)
  一些病毒扫描工具
  而且ClearCase是为局域网设计的,在广域网里,没有办法使用ClearCase.

 从原有的配置管理工具中导入ClearCase
  目前市场上的配置管理工具很多,在打算用ClearCase之前,公司里可能已经使用了别的工具,现在想转到 ClearCase 上。所以就要做一个移植的动作。ClearCase 为以下的配置管理工具提供了移植工具:

 ClearCase, RCS, SCCS, PVCS SourceSafe, CVS

 但是假如想从除此之外的其他配置管理工具里做移植,你就要自己想办法了。

 建议只将文件最新的版本移植到 ClearCase里,而不是所有的版本。移植的过程可以是,从CM系统导出到操作系统的文件系统中,再从文件系统导进ClearCase.

 与集成开发工具的集成
 ClearCase与一些集成开发工具紧密地集成在了一起,假如你想在这些集成开发工具里使用ClearCase将是非常方便的。

 它们包括:

.NET
WebSphere Studio Application Developer (WSAD)
Eclipse

 假如你想在其他的集成开发工具里配置ClearCase,将会是一件困难的事情。

 使用UCM还是Base ClearCase
部署ClearCase很重要的一点就是到底采用哪种ClearCase模式。在ClearCase里有两种使用模式。

 一般目的的 SCM ,通常称为 Base ClearCase。
  基于活动的 SCM ,称为 Unified Change Management(统一变更管理)或者简称 UCM.
Base ClearCase使开发人员工作在一个文件共享的并行开发环境中。项目经理可以定制一组配置规则,来明确开发人员如何在一起进行并行开发。

 UCM是IBM Rational所推崇的一种配置管理模式。他在Base ClearCase的基础上进行了一层封装。它已经订制好了一套配置管理的模式,规则,包括项目,开发活动,开发流,基线等。而Base ClearCase则为用户提供了空间,去定制适合自己项目的配置管理模式,规则。

 假如我们选定了使用UCM的话,我们需要考虑以下几方面的事:

 Project VOBs 的数量
  流(Stream)的结构
  构建(Component)的结构
  …

 假如我们选定了使用Base ClearCase的话,我们需要考虑以下几方面的事:

 Administrator VOBs 的数量
  Branch的结构
  …

 假如UCM不能够满足你的需求,Base ClearCase 很可能还会是一个不错的选择。

 建立一个测试部署的环境
  为ClearCase创建一个测试环境吧。因为搭建ClearCase环境确实是一项较为复杂的工作,这其中可能会遇到一些意想不到的问题。假如我们可以有一个环境,来测试部署,将会是一件非常好的事。需要测试的内容主要有:

 搭建服务器
  从其他配置管理工具中导入ClearCase
  在集成开发工具中配置ClearCase
  Multisite测试
  branch的结构
  UCM的结构

 部署
  当一切准备工作就绪,恭喜你,可以开始正式部署ClearCase 了。

 正式部署
  在正式部署之前,请将部署的时间表提前公布给用户,好让大家有个准备。最好在晚上或者周末进行工作,以免影响大家正常工作。另外在部署的时候,最好将原来的配置管理系统锁住,以避免发生冲突。

 还有一件必不可少的工作就是,制定对最终用户的培训计划。

 用户Getting Started
  想让用户们可以正常使用ClearCase,我们首先要为他们创建一份Getting Started的文档,告诉他们去哪里找安装程序,如何安装,如何察看自己机器上的ClearCase已正常运行,如何创建View, check out, check in 文件等。假如有可能的话,可以安排一次one on one的培训,对每个用户进行单独辅导。我们还可以在系统中创建一个测试VOB,让用户们在这里学习ClearCase的种种操作,以保证他们能尽快开始正常使用ClearCase.

 用户反映
  我们要关注用户们的反应。用户们一般都不喜欢变化。他们可能已经有了一种熟悉的配置管理工具,而它不是ClearCase。他们也许不想转到ClearCase, 很忙没有时间学习ClearCase,或者使用时遇到不少问题。

 结果就是在ClearCase部署之后,会有人抱怨由于ClearCase使他们没有办法按时完成工作了。

 要有心理准备。

 如何解决这个问题呢,培训是关键。

 培训
  对最终用户的培训
  这是绝对有必要的。最好在部署一完成,就对用户进行培训。为他们量身订造适合他们的培训教程,并把教程发给每个人。甚至在没有部署之前我们就可以对用户进行一个基本的培训,介绍ClearCase等.

 对ClearCase管理员的培训
  这当然也是绝对必要的。最好让ClearCase管理员在制定部署计划前就去IBM Rational 参加特别为他们设计的培训.

 ClearCase 管理员
  必备的素质
  learCase管理员是成功部署 ClearCase的关键。在挑选管理员时,我们先要看看他是否具备以下的素质:

 开发的经验
  使用其它配置管理工具的经验
  Windows 和UNIX操作系统的经验
  耐心,恒心
  创造力
  较强的解决问题能力

 同时他最好还能拥有下面的素质:
  深受同事爱戴
  曾经是其它配置管理工具的管理员
  较丰富的网络及操作系统知识
 。。。

 ClearCase管理员必须是ClearCase的坚定拥护者
  learCase使用之初,用户们可能会问管理员,ClearCase是否会让一切都工作的很好,他要能坚定地说是。他要懂得ClearCase的优点,为什么选择ClearCase而不是其他别的配置管理工具。

 预备管理员
  通常我们需要一个主要的ClearCase管理员,及一个预备管理员。以防主要ClearCase管理员不在的情况,或者有什么棘手的问题需要帮助的情况。要确保预备管理员受过和主要管理员一样的培训。当然有没有预备管理员还要根据单位的具体情况而定。

 管理员工作量曲线

 从曲线我们可以看出,ClearCase管理员在部署过程中工作量是满负荷的,但随着ClearCase 部署的完成,逐渐的问题会越来越少,管理员的工作量也会随之减小趋于稳定。

 影响曲线的因素主要有:

 ClearCase管理员的数量
  部署中遇到的问题数量
  是否从其他配置管理工具中导出并倒入ClearCase,从哪一种使用者的数量,及对ClearCase的经验

 管理员的工作
  作为一个ClearCase管理员到底有多少工作要做呢。这取决于:

 使用ClearCase 的人数
  用户对ClearCase的熟悉程度
  使用ClearCase模式的复杂度
  Infrastructure的情况,如网络环境,服务器性能等

 一般来说50至100个用户需要有一位管理员来支持。当ClearCase运转稳定后,ClearCase管理员,可以去承担一些其他的工作。

 解决问题
  假如有一天你的用户向你报告说,所有的 ClearCase操作都是那么的慢,checkin一个文件要等10分钟,几乎不能正常工作了。那我们就得去看看到底是出了什么问题。

 首先不要自然的就认为是ClearCase的问题。用户们总是一遇到问题就觉得是ClearCase出问题了,其实常常是其他原因,例如,网络的原因,客户端操作系统的问题等等。

 Rational ClearCase 的logs 和操作系统的logs 对分析问题是非常有帮助的。我们可以收集这些logs,通过以下途径,得到IBM Rational 的帮助:

 IBM Rational 有非常丰富的知识库,是前人经验的总结,进入下面网址,将你问题的关键字输入,就很有可能能找到答案:

 http://www-306.ibm.com/software/rational/support/probsub.html

 去Rational developerWorks论坛寻求帮助

 http://www-136.ibm.com/developerworks/rational/community/

 向IBM Rational 技术支持团队提交问题

 1) 访问IBM Rational的技术支持主页:http://www.ibm.com/software/rational/support/ 在左例的浏览条中选择"Submit & Track Problem"

 2) 所有的IBM Rational客户都属于"IBM Passport Advantage"计划,请选择ESR (Electronic Service Request - 电子服务请求) 。

 使用电话来获得技术支持

 中国地区的客户也可以使用免费电话10800-6100-349(北方)或10800-2610-349(南方)来请求IBM Rational的支持。

 总结
  其实部署,使用和维护ClearCase并不是一件非常痛苦的事情。关键是要把计划做好。为用户和管理员提供所需的培训。同时拥有一位非常优秀的ClearCase管理员也是至关重要的。

 

 

版权所有:UML软件工程组织