https://github.com/zytc2009/BigTeam_learning
分类: WINDOWS
2009-10-31 12:10:36
Rational ClearCase是一个业界领先的软件配置管理工具,Rational ClearQuest则是IBM Rational在变更管理和缺陷跟踪方面的软件。业界对于变更管理软件和配置管理软件的集成有着强烈的需求,因此IBM Rational也提供了ClearCase和ClearQuest集成的功能。
Rational ClearCase是一个业界领先的软件配置管理工具,Rational ClearQuest则是IBM Rational在变更管理和缺陷跟踪方面的软件。业界对于变更管理软件和配置管理软件的集成有着强烈的需求,因此IBM Rational也提供了ClearCase和ClearQuest集成的功能。
所谓Base ClearCase和ClearQuest的集成,就是将ClearQuest中的变更请求(Change Requeset)关联到一个或多个ClearCase中元素(Element)的版本(Version)上。一个变更请求可以被关联到一个或多个版本上,实施变更的这些版本的集合被称作变更请求的变更集(Change Set)。一个版本可以被关联到一个或多个变更请求,这些变更请求的集合被称作版本的请求集(Request Set)。
集成对于不同的角色,有以下不同的功能:
一个项目经理指定在什么情况下需要让用户关联版本到变更请求。也可以指定关联变更请求的VOBs,branches,以及element types。
ClearQuest的管理员添加ClearCase的定义到ClearQuest的schema中。这使得变更请求可以显示与它关联的变更集。
使用ClearCase进行开发的人员,可以在Check Out或者Check In一个版本的时候,将这个版本关联到一个或者更多的变更请求上。也可以查看一个变更请求的变更集。
在这篇文章中,我们将对Base ClearCase与ClearQuest集成的设计原理和运行环境的搭建与设置进行介绍,最后再提供一些操作范例。
|
所谓的Central Server就是将所有的脚本文件及配置文件放在一个目录,当进行集成的时候,ClearCase就会在这个目录中寻找配置文件(config.pl)、cqcc_launch脚本以及其他的代码,而不是使用本地默认目录的相应文件,因此提高了安全性和可维护性。与之对应的本地方式(Local Server)则是使用本地ClearCase目录中的配置文件、脚本以及其他代码。
就是将一个ClearCase操作中的所有与ClearQuest相关的操作,记录到一个批处理文件中,ClearCase操作完成之后,再将这些操作一次性写入到ClearQuest中。从而降低了登陆ClearQuest和在查询ClearQuest的次数,大大的提高了性能。
批处理序列是将批处理的概念进一步扩展的产物。ClearCase认为所有进行的ClearCase都是在一个批处理当中,它记录所有与ClearQuest相关的操作到批处理文件当中,以便在以后的某个时间完成与ClearQuest相关的操作。
就是在ClearCase的Check in完成之后,再进行ClearQuest的操作。一般的情况下,在ClearCase的Check in操作完成之后,才进行与ClearQuest相关的操作。这样在Check in操作失败的情况下,会造成ClearCase和ClearQuest的数据不一致。启用此功能则可以避免这种错误。
就是在将变更请求关联到某个版本的时候,不需要手工选择,而是靠预先设置的请求ID或者根据ClearCase操作的注释自动提取请求ID,来决定关联的请求。
2.6 使用CQWeb方式的集成
在本地没有安装ClearQuest,或者不愿意使用本地的ClearQuest的情况下,可以使用CQWeb的方式使用CQWeb Server上的ClearQuest来实现ClearCase和ClearQuest的集成。
|
我们知道UCM是一种对版本控制的配制管理流程,而UCM是基于Base ClearCase的管理流程演变而来的。因此掌握并了解Base ClearCase的管理就显得至关重要。Base ClearCase包含了一系列功能,它们能够使开发人员做到并行开发,项目管理者也能通过制定相关的规则来使开发工作有序的进行。
在开发过程中,Base ClearCase应用"分支(Branch)"的方法来允许开发人员进行并行开发。任何在配制管理下的元素(Element),例如:文本文件,程序原代码等,都会生成一个主分支,而主分支下还可以有多个下属分支,它们的作用是用来支持在主分支上的开发。Base ClearCase 允许创建复杂的分支体系。在开发过程中,通过视图(View)可以访问特定元素集的特定版本,而这通过修改视图的规则(Config Specification)就可以实现。UCM也使用"分支"的方法,但是这些分支不需要用手工来操作,而是通过"流(Stream)"来实现,通常情况下,一个项目存在一个集成流和多个开发流。
在项目管理方面,我们通过对项目的源文件打基线(Baseline)来呈现项目早期较稳定版本的雏形,并且基线可以用来连接一系列相关的源文件,比如像源代码,测试计划等等。UCM自动完成基线的创建,而Base ClearCase则通过对元素(Elements)的版本打标签来创建基线。
通过以上对UCM和Base ClearCase的比较,因此在一个项目不是很大,并且业务流程相对简单的情况下适合用Base ClearCase。
|
在Base CCCQ集成的过程中,运行环境的搭建尤为重要。
首先,需要在ClearCase客户端和ClearCase注册服务器安装ClearCase。在ClearQuest Unix服务器和ClearQuest Windows服务器安装ClearQuest。准备数据库服务器。在ClearQuest Unix服务器上配置好DBSet,并添加User DB。之后就可以配置集成了。
集成的配置需要在ClearCase和ClearQuest上分别进行配置,才能完成。在ClearCase侧,需要对VOB配置。当对一个VOB配置了集成之后,针对与这个VOB的ClearCase相关操作(例如CheckOut, CheckIn)都会激发脚本对ClearQuest数据库的访问,进而完成Base CC和CQ的集成。
在ClearQuest侧,需要在数据库中添加ClearCase的定义,只有加入了定义之后,数据库中的请求的变更集才能够显示出来。
下面具体介绍配置过程。
4.2.1 将ClearCase package加入到一个ClearQuest DBset
由于ClearQuest schema包含了一些与多个ClearQuest user databases相关联的特性,例如数据记录的类型,区域,和形式。在开发人员将ClearCase中文件的版本与ClearQuest用户数据库中的变更请求相联系的时候,必须将ClearCase的特性也加入到ClearQuest schema,此过程要在Windows端完成且过程如下所述:
4.2.2 在ClearCase VOBs上安装触发器(Triggers)
CCCQ的集成应用到了针对cleartool checkin, checkout和uncheckout操作的触发器,触发器的安装与配制需要在Windows端配制,该Windows的Registry Server必须与UNIX上建VOBs的那台Server指向同一台Registry Server。具体配置过程如下所述:
4.2.2.1 同步UNIX与Windows上的ClearCase Regions
1) 在Windows上新建一个Region,名称与需要同步的UNIX上的Region名称相同,这时UNIX上的Region就在Registry Server上注册了。
2) 运行 -> cleartool -> mkregion -tag
3) 开始 -> 程序 -> Rational Software ->
4) Rational ClearCase'Administration'Region Synchronizer
5) 选择需要同步的Windows Region和UNIX Region, 在Import Type一项上选择"VOB Tags"并且选中"Show full storage directory paths.
6) 在"Unix VOB tags not found in the Windows region"列表中选择需要引入的VOB,点击"Import",这时"Create VOB Tag"对话框会显示出来。在"Global Storage"一项中输入在UNIX服务器上的VOB的网络存储路径,并且在"Hostname"一项中输入在Region内能够解析的主机名。
4.2.2.2 将一个VOB安装上Trigger
当一个VOB被引入(Import)后,我们可以对其安装Trigger 在ClearCase中,点击开始 -> 程序 -> Rational Software'Rational ClearCase'Administration'Integrations'ClearQuest Integration Configuration. 这时出现如下图所示的对话框。
在"ClearCase - ClearQuest Integration Configuration"对话框中,我们可以看到所有在UNIX服务器端建立好的VOBs,并且可以对其中任何一个VOB安装trigger。在这里,我们对VOB int4安装Checkout和Checkin的trigger。Trigger的配制文件在config.pl中有详细说明,关于trigger选择的详细内容可以参看上一章节。
提示:
4.2.3 核心文件config.pl的配置
config.pl文件的配置在Base ClearCase与ClearQuest集成的操作中起到重要的作用。config.pl文件中包含了一系列变量及参数的设置,设置的描述,以及在哪里可以配制这些参数(是在config.pl文件本身中设置还是在系统环境变量中设置)。
config.pl文件在不同操作系统上的存储路径:
Windows:C:\Program Files\Rational\Clearcase\lib\perl5\CQCCTrigger\CQCC\config.pl
UNIX: /usr/atria/sun5/lib/perl/CQCCTrigger/CQCC/config.pl
下面就一些重要的参数配置进行详细的说明:
4.2.3.1 定义用户数据库
&SetConfigParm("CQCC_DATABASE_ENTITY_LIST","SAMPL: defect");
CQCC_DATABASE_ENTITY_LIST参数定义了一个或多个数据库和数据库所支持的数据纪录类型。当定义多个数据库时,参数的使用格式为:dbname1: entity1,entity2; dbname2: entity3,entity4。值得注意的是数据纪录类型必须为在schema中已定义好的内容。
4.2.3.2 定义DBsets
&SetConfigParm("CQCC_DATABASE_SET", "
在ClearQuest中,当建立有多个DBsets时,即有多个schema存储空间时,CQCC_DATABASE_SET参数用来指定一个当前可以使用的schema存储空间。
4.2.3.3 选择集成模式: 文本模式或图形模式
&SetConfigParm("CQCC_GUI_ENABLE", "OFF");
此参数是一个开启Perl/TK GUI图形界面的开关。如果设置为"ON"(默认情况下),那么图形界面会在需要的情况下显示,例如,在运行xclearcase时。如果设置为"Always",那么图形界面会在命令行操作的形式也显示。如果设置为"OFF",那么图形界面将永远不显示,因此只可以用命令行操作。
4.2.3.4 开启DEBUG模式
&SetConfigParm("CQCC_DEBUG", "1");
此参数用来控制在运行时模式下DEBUG报告的输出级别。0 - 代表没有输出;1 - 代表基本输出(针对高级别的操作);2 - 代表细节输出。
提示:其他参数设置的详细说明请参看config.pl文件。
4.2.4 执行Base CCCQ集成的最后检验
此时,根据以上所提供的信息,我们应能够完成cqcc检验,检验ClearCase与ClearQuest是否能够很有效的结合,并可以开始完成一些简单的操作。
在UNIX客户端运行:cqcc_launch -test
此时,cqcc_launch命令将会调用config.pl里的参数并试图连接ClearQuest,如果连接成功,exit_status会显示0,否则将显示1(如下图所示)
|
可以说,Base ClearCase的基本操作,就是Check Out和Check in两个操作,下面就简单介绍一下这两个操作。
1) 在ClearCase Explorer中,选中一个文件,进行Check Out操作。如果是配置完成后第一次进行操作,需要输入ClearQuest的用户名和密码。
2) 登陆成功后,就会出现QSW(Query Association Window)窗口,显示满足条件的缺陷。选择缺陷,点击Association按钮,可以将其放到上侧窗口中,点击OK,即可完成关联。
3) 关联成功后,在ClearQuest中打开相应的缺陷,在ClearCase页中,可以查看到关联的文件。
4) 在ClearCase Explorer中右键点击被关联的文件,选择版本属性,查看被关联的缺陷。
1) 在ClearCase Explorer中选中文件,进行Check Out操作,弹出QSW窗口。
2) 在ClearQuest中查看被关联的文件。
3) 在ClearCase中查看被关联的缺陷。
|