【IT168 技术文章】 ClearCase Remote Client可以实现大部分ClearCase客户端的功能,在本文第一部分中,您可以了解到UCM ClearCase与ClearQuest集成环境的配置以及为下一篇要谈到的在该集成环境下CCRC为用户提供的简单的操作程序和高效的管理流程做了环境上的准备;第二部分表述了CCRC中ClearCase版本树的应用,用户如何通过CCRC来查看ClearCase的版本树并进行简单的ClearCase操作。
1.配置管理工具ClearCase与缺陷管理工具ClearQuest的集成
1.1 集成概述
使用ClearQuest作为缺陷管理工具,并将ClearCase和ClearQuest进行集成,从而将变更请求和配置管理对象有机的联系到一起。这样所有的Activity可以通过ClearQuest获得。用户可直接管理需修改的程序模块,掌握软件变更状况。CC与CQ集成后,可以提供给用户软件某一版本曾经完成哪些变更的信息;某一个的功能增加共修改了哪些模块;在变更频繁的环境下,可以管理、跟踪及恢复任何的变更;查询变更需求实际修改了哪些程序模块。
1.2 集成分类
ClearQuest和ClearCase集成,主要的集成方式有以下两种:
(1) ClearQuest与Base ClearCase集成
集成是通过将ClearCase的版本对象库(VOB)与ClearQuest的数据库相关联来实现的,集成后开发人员在修改代码(Check Out)时会自动弹出ClearQuest的变更请求列表,并强制开发人员将此次修改与特定的变更请求相关联。这样一来,开发人员在代码提交时可以清楚的知道哪些修改过的代码是对应哪些任务的,集成人员可以准确的了解到某次建立到底集成进来哪些变更请求。项目经理可以轻松的定位变更请求和哪些改动相关。
(2) ClearQuest与UCM ClearCase集成
此种集成方式与上一种集成方式从实现机制上没有本质的区别,但从功能上二者的集成更加紧密,且很多功能更加自动化。如开发人员在提交代码时系统会自动检测出此次需要提交的变更请求,待开发人员确认后系统会自动对代码进行归并。总而言之,UCM对于开发人员来讲使用非常简便且不要出错,对于集成人员来讲,由于UCM采用组建式管理,使得系统架构更加清晰,集成工作更加快捷。对于项目经理来讲UCM为团队提供了一套完整且高效的变更管理流程。
2.CCRC对ClearQuest与UCM ClearCase集成的支持
2.1 ClearCase远程客户端软件增强性的功能概述
新版本的CCRC对集成了ClearQuest的环境支持程度大大提高,本文介绍的特点与功能都是针对最新ClearCase版本上,ClearCase远程客户端所能实现的所有功能而言。读者可能因为自己的ClearCase版本的不够新而与本文所述部分内容不符。希望本文对ClearCase这些新特点,新功能的介绍,对您将来的工作与应用起到一点帮助。
一个关联了CQ的CCRC服务器,表示该服务器上有一个或多个项目,建立了与ClearQuest之间的关联关系。当一个CCRC客户端连接到该服务器上并加入该关联项目,那么有关于该项目的所有活动与变更将被ClearQuest来进行存储和管理。
2.2 CCRC Server的两种配置模式及其模式特点
2.2.1 集成了ClearQuest的服务器(非Web)
该集成模式是CCRC较早些版本中能够实现的功能。在这种模式下,ClearQuest主要通过以下行为来管理所有的活动和变更请求。
- 在客户端进行检入,检出或加入资源管理的动作时,用户点击了Browser按钮,随之显示的是属于该用户的所有ClearQuest活动记录列表。
- 在用户选择了其中一个活动作为当前工作活动,则该活动在ClearQuest的状态自动转化为"Active"状态;同时,该活动与ClearCase的一个UCM活动建立关联关系。
- 在ClearQuest中活动的转化过程,如果有某些必须的域内容缺失,那么自动转换过程不会成功结束,用户会收到错误提示,并且该转化过程被中断;为了完成该转化,用户需要从ClearQuest客户端登陆进CQ,找到该活动记录,补上所缺域内容并保存修改记录。再次进行活动转化,此时可以成功完成。
- 对于建立了与CQ关联的项目,用户可以定制该项目的集成规则,如下图所示:如果选择了"Transition to Complete after Delivery",那么在用户结束"交付"动作时,CQ会自动将与该"交付"动作关联的CQ活动状态标志为"完成"。
- 如果用户定制了"Transitioned to COMPLETE after Changing Activity",显然,用户在完成一个活动后,会在CQ中被标志为"完成"状态"。
CQ配置项,如下图所示:
图1
非Web集成模式的图示如下:
图2
2.2.2 集成了ClearQuest Web的服务器
CCRC新版本增加了对CQ Web的支持,使得CCRC客户端更具有易用性和灵活性。对于用户来说,更能方便的操作和使用ClearCase。
与集成非Web模式相比而言最大的区别就是:在非Web模式的某些活动因为某些强制填充域内容缺失,而被终止的情况下,换作Web模式,该活动可以继续。解决方法就是,在自动转换过程中,调用系统的浏览器,用当前的用户登陆到服务器的cqweb上,以Web形式打开CQ管理的,与当前行为关联的那个活动记录;为用户提供这样一个便捷的方法来补足那些缺失内容的域,进而完成当前行为。特别的,缺失内容的域名称会用鲜明的红色来标示,指引用户能够快速而准确的补充所需内容。
Web集成模式的图示如下:
图3
3. 集成了CQ的CCRC服务器的配置
根据实际的不同情况,CCRC客户端,CCRC服务器,CQ服务器,CQWeb和CQ Web Application在各个机器上的部署情况是多种多样的,关于CCRC服务器的部署,在本文中暂不作详细介绍。在这个例子中,我们以Web模式的一个配置为例:
CCRC 服务器/ CQ服务器:Linux
CCRC 客户端:Windows
准备工作:
- 在Linux平台上安装CC、CQ产品,其中需要强调的必须安装的组件:CC Web组件;因为要配置集成CQ Web的模式,还需要再安装CQ Web Application。
- 在Windows平台安装CCRC客户端,另外需要安装ClearQuest。这是因为Linux平台不支持cq maintenance和cq designer工具的GUI界面。当用户需要定制自己的defect表单,需要一台安装了CQ的Windows平台来做这些工作。
- 在CQ后台数据库中创建至少2个数据库实例,用作CQ的用户数据库和模式数据库。
3.1 配置Web参数
Web模式的关键在于CCRC服务器上ccweb.conf文件,该文件体现了CCRC和CQWeb之间的集成关系。在CCRC服务器<CCHome>\config\ccweb\目录下,将ccweb.conf文件拷贝至<CCHome>\var\config (Windows) 或/var/adm/rational/clearcase/config (Unix),所做的编辑工作都在这个拷贝副本上进行。
-cqweb_url参数。 该参数是否设置决定了集成是Web还是非Web模式。该参数指向的地址为CQWeb App所在位置。具体形式:http://<cqweb server>/cqweb
-cqweb_browser_timeout: 该参数表示客户端如果一直不关掉浏览器窗口,CCRC服务器的等待时间。该参数的默认值为30分钟。
-cqweb_autologin: 表示每次打开CQ Web是否为用户自动登录。默认值为true,会自动为用户登录CQ,用户也可以改为false,以增强安全级别。
3.2 在Windows平台创建CQ模式库和用户数据库
打开CQ Maintenance工具,选择"模式库-〉创建",为该模式库命名;
选择数据库类型,依次填入服务器,数据库,用户名,密码,连接选项;这些项目的具体含义这里就不赘述,可以参考CQ用户使用手册来获得相关信息。
模式库成功创建后,如图所示:
图4
接着,打开CQ Designer工具,来编辑模式文档。举例来说,我们选择"记录类型-〉Defect-〉字段",添加一个SHORT_STRING类型的字段,命名为"SQUIDWARD"。在"记录类型-〉Defect->状态和操作-〉行为"中,将该字段的"opened"属性设置为"Mandatory"参数。打开"表单-〉Defect_Base"一项,通过添加选项卡,将我们创建的"SQUIDWARD"域拖入该选项卡。至此,模式的简单编辑就算完成了。将该模式检入并基于此模式,生成一个用户数据库。
3.3 在CQ 服务器上创建连接到该模式库的数据库集和连接
执行此步骤的意义在于,令ClearCase服务器上的项目能够找到所要集成的ClearQuest数据库信息。
在Linux平台上,ClearQuest的安装目录下,执行clearquest命令,启动clearquest GUI。
打开"文件-〉数据库-〉管理连接",选择"添加数据库集",相当于把在windows上创建模式库的过程重复了一遍,模式库的名字可以重新命名,它只是一个在CCRC上对CQ 数据库注册的一个标示。添加成功后的数据库集显示在"可用的数据库集"一栏中,这还不够,还需要创建一个连接来登录该数据库,选"添加连接…"按钮。在弹出的对话框中,输入一个登录该数据库的用户名,该名称将被用于以后在集成环境中,再次登陆CQ数据库的登录名称。下图表示在Linux服务器上创建好了的数据库集与连接列表。可以创建多个数据库集,每个数据库集可以对应多个以不同用户登录的连接。
图5
3.4 在CCRC 服务器上实现CQ与UCM ClearCase的集成设置
前面的环境都搭建成功的话,这一步可以说水到渠成,非常容易。将CC的项目与CQ集成,既可以在创建项目初期,也可以对一个既有项目进行集成配置。
新建项目时,与CQ进行集成。创建项目的最后一步,将默认选项改为yes,在CCRC服务器上注册的CQ数据库信息将被搜索到并显示在下拉列表中。该信息的物理存储位置在<CQ_Home>/CQDB_rgys/目录下,当在CCRC服务器上生成一个数据库模式,就会在该目录下添加一条记录信息。
图6
对一个已有项目进行与CQ的集成打开CC Projects Explorer,选择要集成的项目,右键单击,选择"属性",打开ClearQuest页,勾上"Project is ClearQuest-enabled"选项,选择需要的CQ连接就可以了。
图7
到这里,Web集成模式环境搭建已经完成。在下一篇,我们将详细介绍CCRC客户端在集成环境下如何进行版本控制;如何通过CQ的定制来实现活动状态自动转化;如何真正实现高效的变更管理流程。