??xml version="1.0" encoding="utf-8" standalone="yes"?> Rational ClearCase是一个业界领先的软g配置理工具QRational ClearQuest则是IBM Rational在变更管理和~陷跟踪斚w的Y件。业界对于变更管理Y件和配置理软g的集成有着强烈的需求,因此IBM Rational也提供了ClearCase和ClearQuest集成的功能?/p> 所谓Base ClearCase和ClearQuest的集成,是ClearQuest中的变更h(Change Requeset)兌C个或多个ClearCase中元?Element)的版?Version)上。一个变更请求可以被兌C个或多个版本上,实施变更的这些版本的集合被称作变更请求的变更?Change Set)。一个版本可以被兌C个或多个变更hQ这些变更请求的集合被称作版本的h?Request Set)?/p> 集成对于不同的角Ԍ有以下不同的功能Q?/p> 一个项目经理指定在什么情况下需要让用户兌版本到变更请求。也可以指定兌变更h的VOBsQbranchesQ以及element types?/p> ClearQuest的管理员dClearCase的定义到ClearQuest的schema中。这使得变更h可以昄与它兌的变更集?/p> 使用ClearCaseq行开发的人员Q可以在Check Out或者Check In一个版本的时候,这个版本关联到一个或者更多的变更h上。也可以查看一个变更请求的变更集?/p> 在这文章中Q我们将对Base ClearCase与ClearQuest集成的设计原理和q行环境的搭Z讄q行介绍Q最后再提供一些操作范例?br /> 所谓的Central Server是所有的脚本文g及配|文件放在一个目录,当进行集成的时候,ClearCase׃在这个目录中L配置文gQconfig.plQ、cqcc_launch脚本以及其他的代码,而不是用本地默认目录的相应文gQ因此提高了安全性和可维护性。与之对应的本地方式(Local Server)则是使用本地ClearCase目录中的配置文g、脚本以及其他代码?/p> 是一个ClearCase操作中的所有与ClearQuest相关的操作,记录C个批处理文g中,ClearCase操作完成之后Q再这些操作一ơ性写入到ClearQuest中。从而降低了登陆ClearQuest和在查询ClearQuest的次敎ͼ大大的提高了性能?/p> 批处理序列是批处理的概念进一步扩展的产物。ClearCase认ؓ所有进行的ClearCase都是在一个批处理当中Q它记录所有与ClearQuest相关的操作到批处理文件当中,以便在以后的某个旉完成与ClearQuest相关的操作?/p> 是在ClearCase的Check in完成之后Q再q行ClearQuest的操作。一般的情况下,在ClearCase的Check in操作完成之后Q才q行与ClearQuest相关的操作。这样在Check in操作p|的情况下Q会造成ClearCase和ClearQuest的数据不一致。启用此功能则可以避免这U错误?/p> 是在将变更h兌到某个版本的时候,不需要手工选择Q而是靠预先设|的hID或者根据ClearCase操作的注释自动提取请求IDQ来军_兌的请求?/p> 2.6 使用CQWeb方式的集?/p> 在本地没有安装ClearQuestQ或者不愿意使用本地的ClearQuest的情况下Q可以用CQWeb的方式用CQWeb Server上的ClearQuest来实现ClearCase和ClearQuest的集成?br /> 我们知道UCM是一U对版本控制的配制管理流E,而UCM是基于Base ClearCase的管理流E演变而来的。因此掌握ƈ了解Base ClearCase的管理就昑־臛_重要。Base ClearCase包含了一pd功能Q它们能够开发h员做到ƈ行开发,目理者也能通过制定相关的规则来使开发工作有序的q行?/p> 在开发过E中QBase ClearCase应用"分支(Branch)"的方法来允许开发h员进行ƈ行开发。Q何在配制理下的元素(Element)Q例如:文本文gQ程序原代码{,都会生成一个主分支Q而主分支下还可以有多个下属分支,它们的作用是用来支持在主分支上的开发。Base ClearCase 允许创徏复杂的分支体pR在开发过E中Q通过视图QViewQ可以访问特定元素集的特定版本,而这通过修改视图的规?Config Specification)可以实现。UCM也?分支"的方法,但是q些分支不需要用手工来操作,而是通过"?Stream)"来实玎ͼ通常情况下,一个项目存在一个集成流和多个开发流?/p> 在项目管理方面,我们通过寚w目的源文件打基线(Baseline)来呈现项目早期较E_版本的雏形,q且基线可以用来q接一pd相关的源文gQ比如像源代码,试计划{等。UCM自动完成基线的创建,而Base ClearCase则通过对元?Elements)的版本打标签来创建基Uѝ?/p> 通过以上对UCM和Base ClearCase的比较,因此在一个项目不是很大,q且业务程相对单的情况下适合用Base ClearCase?br /> 在Base CCCQ集成的过E中Q运行环境的搭徏ؓ重要?/p> 首先Q需要在ClearCase客户端和ClearCase注册服务器安装ClearCase。在ClearQuest Unix服务器和ClearQuest Windows服务器安装ClearQuest。准备数据库服务器。在ClearQuest Unix服务器上配置好DBSetQƈdUser DB。之后就可以配置集成了?/p> 4.2 ClearCase与ClearQuest集成的配?/font> 集成的配|需要在ClearCase和ClearQuest上分别进行配|,才能完成。在ClearCase侧,需要对VOB配置。当对一个VOB配置了集成之后,针对与这个VOB的ClearCase相关操作Q例如CheckOut, CheckInQ都会激发脚本对ClearQuest数据库的讉KQ进而完成Base CC和CQ的集成?/p> 在ClearQuest侧,需要在数据库中dClearCase的定义,只有加入了定义之后,数据库中的请求的变更集才能够昄出来?/p> 下面具体介绍配置q程?/p> 4.2.1 ClearCase package加入C个ClearQuest DBset ׃ClearQuest schema包含了一些与多个ClearQuest user databases相关联的Ҏ,例如数据记录的类型,区域Q和形式。在开发h员将ClearCase中文件的版本与ClearQuest用户数据库中的变更请求相联系的时候,必须ClearCase的特性也加入到ClearQuest schemaQ此q程要在Windows端完成且q程如下所qͼ 4.2.2 在ClearCase VOBs上安装触发器(Triggers) CCCQ的集成应用到了针对cleartool checkin, checkout和uncheckout操作的触发器Q触发器的安装与配制需要在Windows端配Ӟ该Windows的Registry Server必须与UNIX上徏VOBs的那台Server指向同一台Registry Server。具体配|过E如下所qͼ 4.2.2.1 同步UNIX与Windows上的ClearCase Regions 1) 在Windows上新Z个RegionQ名UC需要同步的UNIX上的Region名称相同Q这时UNIX上的Region在Registry Server上注册了?/p> 2) q行 -> cleartool -> mkregion -tag <UNIX region> 3) 开?-> E序 -> Rational Software -> 4) Rational ClearCase'Administration'Region Synchronizer 5) 选择需要同步的Windows Region和UNIX Region, 在Import Type一上选择"VOB Tags"q且选中"Show full storage directory paths. 6) ?Unix VOB tags not found in the Windows region"列表中选择需要引入的VOBQ点?Import"Q这?Create VOB Tag"对话框会昄出来。在"Global Storage"一中输入在UNIX服务器上的VOB的网l存储\径,q且?Hostname"一中输入在Region内能够解析的L名?/p> 4.2.2.2 一个VOB安装上Trigger 当一个VOB被引入(ImportQ后Q我们可以对其安装Trigger 在ClearCase中,点击开?-> E序 -> Rational Software'Rational ClearCase'Administration'Integrations'ClearQuest Integration Configuration. q时出现如下图所C的对话框?/p> ?ClearCase - ClearQuest Integration Configuration"对话框中Q我们可以看到所有在UNIX服务器端建立好的VOBsQƈ且可以对其中M一个VOB安装trigger。在q里Q我们对VOB int4安装Checkout和Checkin的trigger。Trigger的配制文件在config.pl中有详细说明Q关于trigger选择的详l内容可以参看上一章节?/p> 提示Q?/p> 4.2.3 核心文gconfig.pl的配|?/b> config.pl文g的配|在Base ClearCase与ClearQuest集成的操作中起到重要的作用。config.pl文g中包含了一pd变量及参数的讄Q设|的描述Q以及在哪里可以配制q些参数Q是在config.pl文g本n中设|还是在pȝ环境变量中设|)? config.pl文g在不同操作系l上的存储\径: 下面׃些重要的参数配置q行详细的说明: 4.2.3.1 定义用户数据?/p> &SetConfigParm("CQCC_DATABASE_ENTITY_LIST","SAMPL: defect"); 4.2.3.2 定义DBsets &SetConfigParm("CQCC_DATABASE_SET", "<db_set_name>"); 4.2.3.3 选择集成模式: 文本模式或图形模?/p> &SetConfigParm("CQCC_GUI_ENABLE", "OFF"); 4.2.3.4 开启DEBUG模式 &SetConfigParm("CQCC_DEBUG", "1"); 此参数用来控制在q行时模式下DEBUG报告的输出别? - 代表没有输出Q? - 代表基本输出Q针寚wU别的操作)Q? - 代表l节输出?/p> 提示Q其他参数设|的详细说明请参看config.pl文g?/p> 4.2.4 执行Base CCCQ集成的最后检?/b> 此时Q根据以上所提供的信息,我们应能够完成cqcc验,验ClearCase与ClearQuest是否能够很有效的l合Qƈ可以开始完成一些简单的操作?/p> 在UNIX客户端运行:cqcc_launch -test 此时Qcqcc_launch命o会调用config.pl里的参数q试图连接ClearQuestQ如果连接成功,exit_status会显C?Q否则将昄1Q如下图所C) 可以_Base ClearCase的基本操作,是Check Out和Check in两个操作Q下面就单介l一下这两个操作?/p> 1) 在ClearCase Explorer中,选中一个文Ӟq行Check Out操作。如果是配置完成后第一ơ进行操作,需要输入ClearQuest的用户名和密码?/p> 2) 登陆成功后,׃出现QSW(Query Association Window)H口Q显C满x件的~陷。选择~陷Q点击Association按钮Q可以将其放C侧窗口中Q点击OKQ即可完成关联?/p> 3) 兌成功后,在ClearQuest中打开相应的缺P在ClearCase中Q可以查看到兌的文件?/p> 4) 在ClearCase Explorer中右键点击被兌的文Ӟ选择版本属性,查看被关联的~陷?/p> 1) 在ClearCase Explorer中选中文gQ进行Check Out操作Q弹出QSWH口?/p> 2) 在ClearQuest中查看被兌的文件?/p> 3) 在ClearCase中查看被兌的缺陗?/p>
Rational ClearCase是一个业界领先的软g配置理工具QRational ClearQuest则是IBM Rational在变更管理和~陷跟踪斚w的Y件。业界对于变更管理Y件和配置理软g的集成有着强烈的需求,因此IBM Rational也提供了ClearCase和ClearQuest集成的功?
Windows:C:\Program Files\Rational\Clearcase\lib\perl5\CQCCTrigger\CQCC\config.pl
UNIX: /usr/atria/sun5/lib/perl/CQCCTrigger/CQCC/config.pl
CQCC_DATABASE_ENTITY_LIST参数定义了一个或多个数据库和数据库所支持的数据纪录类型。当定义多个数据库时Q参数的使用格式为:dbname1: entity1,entity2; dbname2: entity3,entity4。值得注意的是数据U录cd必须为在schema中已定义好的内容?/p>
在ClearQuest中,当徏立有多个DBsetsӞx多个schema存储I间ӞCQCC_DATABASE_SET参数用来指定一个当前可以用的schema存储I间?/p>
此参数是一个开启Perl/TK GUI囑Ş界面的开兟뀂如果设|ؓ"ON"Q默认情况下Q,那么囑Ş界面会在需要的情况下显C,例如Q在q行xclearcase时。如果设|ؓ"Always"Q那么图形界面会在命令行操作的Ş式也昄。如果设|ؓ"OFF"Q那么图形界面将永远不显C,因此只可以用命o行操作?/p>
]]>
2.IBM Rational ClearCase-Samba 协同环境的设|和问题解决
http://www-128.ibm.com/developerworks/cn/rational/r-cc-samba/
3.ClearCase Interoperation实例详解
http://www-128.ibm.com/developerworks/cn/rational/06/r-shixl2/index.html
我也别脓了,到这里去扑?br />http://www-128.ibm.com/developerworks/cn/views/rational/articles.jsp