﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-It‘s my SCM life-随笔分类-SCM</title><link>http://www.blogjava.net/supsky/category/13146.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 02:05:39 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 02:05:39 GMT</pubDate><ttl>60</ttl><item><title>Base ClearCase与ClearQuest的集成(转)</title><link>http://www.blogjava.net/supsky/archive/2006/08/09/62608.html</link><dc:creator>eddy liao</dc:creator><author>eddy liao</author><pubDate>Wed, 09 Aug 2006 09:04:00 GMT</pubDate><guid>http://www.blogjava.net/supsky/archive/2006/08/09/62608.html</guid><wfw:comment>http://www.blogjava.net/supsky/comments/62608.html</wfw:comment><comments>http://www.blogjava.net/supsky/archive/2006/08/09/62608.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supsky/comments/commentRss/62608.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supsky/services/trackbacks/62608.html</trackback:ping><description><![CDATA[
		<a href="http://www.chinaitpower.com/2005September/2005-09-13/205598.html">http://www.chinaitpower.com/2005September/2005-09-13/205598.html</a>
		<br />
		<br />Rational ClearCase是一个业界领先的软件配置管理工具，Rational ClearQuest则是IBM Rational在变更管理和缺陷跟踪方面的软件。业界对于变更管理软件和配置管理软件的集成有着强烈的需求，因此IBM Rational也提供了ClearCase和ClearQuest集成的功能 
<p></p><p><a name="IDA3R0JB"><span class="atitle"><strong><font size="4">1 概述</font></strong></span></a></p><p>Rational ClearCase是一个业界领先的软件配置管理工具，Rational ClearQuest则是IBM Rational在变更管理和缺陷跟踪方面的软件。业界对于变更管理软件和配置管理软件的集成有着强烈的需求，因此IBM Rational也提供了ClearCase和ClearQuest集成的功能。</p><p>所谓Base ClearCase和ClearQuest的集成，就是将ClearQuest中的变更请求(Change Requeset)关联到一个或多个ClearCase中元素(Element)的版本(Version)上。一个变更请求可以被关联到一个或多个版本上，实施变更的这些版本的集合被称作变更请求的变更集(Change Set)。一个版本可以被关联到一个或多个变更请求，这些变更请求的集合被称作版本的请求集(Request Set)。</p><p>集成对于不同的角色，有以下不同的功能：</p><p>一个项目经理指定在什么情况下需要让用户关联版本到变更请求。也可以指定关联变更请求的VOBs，branches，以及element types。</p><p>ClearQuest的管理员添加ClearCase的定义到ClearQuest的schema中。这使得变更请求可以显示与它关联的变更集。</p><p>使用ClearCase进行开发的人员，可以在Check Out或者Check In一个版本的时候，将这个版本关联到一个或者更多的变更请求上。也可以查看一个变更请求的变更集。</p><p>在这篇文章中，我们将对Base ClearCase与ClearQuest集成的设计原理和运行环境的搭建与设置进行介绍，最后再提供一些操作范例。<br /><br /><br /></p><p><a name="IDAJS0JB"><span class="atitle"><font size="4"><strong>2 基本概念</strong></font></span></a></p><p><a name="IDAOS0JB"><span class="smalltitle"><strong><font size="3">2.1 集中方式(Central Server)</font></strong></span></a></p><p>所谓的Central Server就是将所有的脚本文件及配置文件放在一个目录，当进行集成的时候，ClearCase就会在这个目录中寻找配置文件（config.pl）、cqcc_launch脚本以及其他的代码，而不是使用本地默认目录的相应文件，因此提高了安全性和可维护性。与之对应的本地方式(Local Server)则是使用本地ClearCase目录中的配置文件、脚本以及其他代码。</p><p><a name="IDAUS0JB"><span class="smalltitle"><strong><font size="3">2.2 批处理(Batching Enabled)</font></strong></span></a></p><p>就是将一个ClearCase操作中的所有与ClearQuest相关的操作，记录到一个批处理文件中，ClearCase操作完成之后，再将这些操作一次性写入到ClearQuest中。从而降低了登陆ClearQuest和在查询ClearQuest的次数，大大的提高了性能。</p><p><a name="IDA0S0JB"><span class="smalltitle"><strong><font size="3">2.3 序列(Batching Series)</font></strong></span></a></p><p>批处理序列是将批处理的概念进一步扩展的产物。ClearCase认为所有进行的ClearCase都是在一个批处理当中，它记录所有与ClearQuest相关的操作到批处理文件当中，以便在以后的某个时间完成与ClearQuest相关的操作。</p><p><a name="IDAAT0JB"><span class="smalltitle"><strong><font size="3">2.4 检入后提交(Postcheckin commit)</font></strong></span></a></p><p>就是在ClearCase的Check in完成之后，再进行ClearQuest的操作。一般的情况下，在ClearCase的Check in操作完成之后，才进行与ClearQuest相关的操作。这样在Check in操作失败的情况下，会造成ClearCase和ClearQuest的数据不一致。启用此功能则可以避免这种错误。</p><p><a name="IDAGT0JB"><span class="smalltitle"><strong><font size="3">2.5 自动关联(Auto-association)</font></strong></span></a></p><p>就是在将变更请求关联到某个版本的时候，不需要手工选择，而是靠预先设置的请求ID或者根据ClearCase操作的注释自动提取请求ID，来决定关联的请求。</p><p>2.6 使用CQWeb方式的集成</p><p>在本地没有安装ClearQuest，或者不愿意使用本地的ClearQuest的情况下，可以使用CQWeb的方式使用CQWeb Server上的ClearQuest来实现ClearCase和ClearQuest的集成。<br /><br /><br /></p><p><a name="IDAOT0JB"><span class="atitle"><strong><font size="4">3 何时采用Base ClearCase </font></strong></span></a></p><p>我们知道UCM是一种对版本控制的配制管理流程，而UCM是基于Base ClearCase的管理流程演变而来的。因此掌握并了解Base ClearCase的管理就显得至关重要。Base ClearCase包含了一系列功能，它们能够使开发人员做到并行开发，项目管理者也能通过制定相关的规则来使开发工作有序的进行。</p><p>在开发过程中，Base ClearCase应用"分支(Branch)"的方法来允许开发人员进行并行开发。任何在配制管理下的元素(Element)，例如：文本文件，程序原代码等，都会生成一个主分支，而主分支下还可以有多个下属分支，它们的作用是用来支持在主分支上的开发。Base ClearCase 允许创建复杂的分支体系。在开发过程中，通过视图（View）可以访问特定元素集的特定版本，而这通过修改视图的规则(Config Specification)就可以实现。UCM也使用"分支"的方法，但是这些分支不需要用手工来操作，而是通过"流(Stream)"来实现，通常情况下，一个项目存在一个集成流和多个开发流。</p><p>在项目管理方面，我们通过对项目的源文件打基线(Baseline)来呈现项目早期较稳定版本的雏形，并且基线可以用来连接一系列相关的源文件，比如像源代码，测试计划等等。UCM自动完成基线的创建，而Base ClearCase则通过对元素(Elements)的版本打标签来创建基线。</p><p>通过以上对UCM和Base ClearCase的比较，因此在一个项目不是很大，并且业务流程相对简单的情况下适合用Base ClearCase。<br /><br /><br /></p><p><a name="IDAXT0JB"><span class="atitle"><font size="4"><strong>4 运行环境的搭建与设置</strong></font></span></a></p><p><a name="IDA2T0JB"><span class="smalltitle"><strong><font size="3">4.1 运行环境的搭建</font></strong></span></a></p><p>在Base CCCQ集成的过程中，运行环境的搭建尤为重要。</p><p><br /><a name="IDADU0JB"><b>图 (01) 系统结构图</b></a><br /><br /></p><p>首先，需要在ClearCase客户端和ClearCase注册服务器安装ClearCase。在ClearQuest Unix服务器和ClearQuest Windows服务器安装ClearQuest。准备数据库服务器。在ClearQuest Unix服务器上配置好DBSet，并添加User DB。之后就可以配置集成了。</p><p><a name="IDARU0JB"><span class="smalltitle"><strong><font size="3">4.2 ClearCase与ClearQuest集成的配制</font></strong></span></a></p><p>集成的配置需要在ClearCase和ClearQuest上分别进行配置，才能完成。在ClearCase侧，需要对VOB配置。当对一个VOB配置了集成之后，针对与这个VOB的ClearCase相关操作（例如CheckOut, CheckIn）都会激发脚本对ClearQuest数据库的访问，进而完成Base CC和CQ的集成。</p><p>在ClearQuest侧，需要在数据库中添加ClearCase的定义，只有加入了定义之后，数据库中的请求的变更集才能够显示出来。</p><p>下面具体介绍配置过程。</p><p><b>4.2.1 将ClearCase package加入到一个ClearQuest DBset</b></p><p>由于ClearQuest schema包含了一些与多个ClearQuest user databases相关联的特性，例如数据记录的类型，区域，和形式。在开发人员将ClearCase中文件的版本与ClearQuest用户数据库中的变更请求相联系的时候，必须将ClearCase的特性也加入到ClearQuest schema，此过程要在Windows端完成且过程如下所述：</p><ul><li>开始 -&gt; 程序 -&gt; Rational Software -&gt; Rational ClearQuest -&gt; ClearQuest Designer 
</li><li>在ClearQuest Designer中，点击Package -&gt; Package Wizard 
</li><li>在安装Package向导中，找到ClearCase 1.0和ClearCase Upgrade 1.0，如果这些Packages没有列出，则点击"More Packages"，并将上述的两个Packages添加到列表中。 
</li><li>选择ClearCase 1.0 Package并点击"下一步" 
</li><li>选择一个将会应用ClearCase 1.0 Package的schema e.g. Defect Tracking，点击"下一步" 
</li><li>选择数据纪录的类型并点击"完成" 
</li><li>选择File -&gt; Check In来保存schema的最新版本 
</li><li>选择Database -&gt; Upgrade Database把schema的最新版本升级到ClearQuest user database中</li></ul><p><b>4.2.2 在ClearCase VOBs上安装触发器(Triggers)</b></p><p>CCCQ的集成应用到了针对cleartool checkin, checkout和uncheckout操作的触发器，触发器的安装与配制需要在Windows端配制，该Windows的Registry Server必须与UNIX上建VOBs的那台Server指向同一台Registry Server。具体配置过程如下所述：</p><p>4.2.2.1 同步UNIX与Windows上的ClearCase Regions</p><p>1) 在Windows上新建一个Region，名称与需要同步的UNIX上的Region名称相同，这时UNIX上的Region就在Registry Server上注册了。</p><p>2) 运行 -&gt; cleartool -&gt; mkregion -tag &lt;UNIX region&gt;</p><p>3) 开始 -&gt; 程序 -&gt; Rational Software -&gt; </p><p>4) Rational ClearCase'Administration'Region Synchronizer</p><p><br /><a name="IDAOV0JB"><b>图 (02) 导入Unix服务器上的VOB</b></a><br /><br /></p><p>5) 选择需要同步的Windows Region和UNIX Region, 在Import Type一项上选择"VOB Tags"并且选中"Show full storage directory paths.</p><p>6) 在"Unix VOB tags not found in the Windows region"列表中选择需要引入的VOB，点击"Import"，这时"Create VOB Tag"对话框会显示出来。在"Global Storage"一项中输入在UNIX服务器上的VOB的网络存储路径，并且在"Hostname"一项中输入在Region内能够解析的主机名。</p><p><br /><a name="IDA4V0JB"><b>图 (03) 创建Tag</b></a><br /><br /></p><p>4.2.2.2 将一个VOB安装上Trigger</p><p>当一个VOB被引入（Import）后，我们可以对其安装Trigger 在ClearCase中，点击开始 -&gt; 程序 -&gt; Rational Software'Rational ClearCase'Administration'Integrations'ClearQuest Integration Configuration. 这时出现如下图所示的对话框。</p><p><br /><a name="IDAOW0JB"><b>图 (04) 应用Trigger</b></a><br /><br /></p><p>在"ClearCase - ClearQuest Integration Configuration"对话框中，我们可以看到所有在UNIX服务器端建立好的VOBs，并且可以对其中任何一个VOB安装trigger。在这里，我们对VOB int4安装Checkout和Checkin的trigger。Trigger的配制文件在config.pl中有详细说明，关于trigger选择的详细内容可以参看上一章节。</p><p>提示：</p><ul><li>触发器使用config.pl配制文件来控制本地集成的配制参数。当选择V2触发器时，配置应用程序会将config.pl文件路径设为CQCC/config.pl，在这个路径中CQCC代表了本地的cc-home-dir/lib/perl5/CQCCTrigger/CQCC这个路径，用户可以根据需要将这个路径改变为一个UNC路径，因此所有的集成操作将调用一个中心配制文件config.pl。 
</li><li>在安装触发器时，只有VOB的所有者才可以对自己创建的VOB安装触发器。如果一个用户e.g. Harry登陆Windows，他想对Andy在UNIX上创建的VOB安装触发器，这时会出现"无法得到触发器类型"等警告。如果Harry希望可以对VOB安装触发器，那么需要执行以下两步： 
</li><li>在DOS模式下运行Runas /user:RATIONALCC\Andy cmd.exe命令，这个命令将以Andy的身份打开一个DOS窗口，并提示输入用户名和密码。 
</li><li>在验证通过登陆后，另一个DOS窗口将会打开，在这个窗口中，运行"cqconfig"来以Andy的身份在VOB上安装触发器。</li></ul><p><b>4.2.3 核心文件config.pl的配置</b></p><p>config.pl文件的配置在Base ClearCase与ClearQuest集成的操作中起到重要的作用。config.pl文件中包含了一系列变量及参数的设置，设置的描述，以及在哪里可以配制这些参数（是在config.pl文件本身中设置还是在系统环境变量中设置）。 </p><p>config.pl文件在不同操作系统上的存储路径：<br />Windows:C:\Program Files\Rational\Clearcase\lib\perl5\CQCCTrigger\CQCC\config.pl<br />UNIX: /usr/atria/sun5/lib/perl/CQCCTrigger/CQCC/config.pl</p><p>下面就一些重要的参数配置进行详细的说明：</p><p>4.2.3.1 定义用户数据库</p><p>&amp;SetConfigParm("CQCC_DATABASE_ENTITY_LIST","SAMPL: defect");<br />CQCC_DATABASE_ENTITY_LIST参数定义了一个或多个数据库和数据库所支持的数据纪录类型。当定义多个数据库时，参数的使用格式为：dbname1: entity1,entity2; dbname2: entity3,entity4。值得注意的是数据纪录类型必须为在schema中已定义好的内容。</p><p>4.2.3.2 定义DBsets</p><p>&amp;SetConfigParm("CQCC_DATABASE_SET", "&lt;db_set_name&gt;");<br />在ClearQuest中，当建立有多个DBsets时，即有多个schema存储空间时，CQCC_DATABASE_SET参数用来指定一个当前可以使用的schema存储空间。</p><p>4.2.3.3 选择集成模式: 文本模式或图形模式</p><p>&amp;SetConfigParm("CQCC_GUI_ENABLE", "OFF");<br />此参数是一个开启Perl/TK GUI图形界面的开关。如果设置为"ON"（默认情况下），那么图形界面会在需要的情况下显示，例如，在运行xclearcase时。如果设置为"Always"，那么图形界面会在命令行操作的形式也显示。如果设置为"OFF"，那么图形界面将永远不显示，因此只可以用命令行操作。</p><p>4.2.3.4 开启DEBUG模式</p><p>&amp;SetConfigParm("CQCC_DEBUG", "1");<br /></p><p>此参数用来控制在运行时模式下DEBUG报告的输出级别。0 - 代表没有输出；1 - 代表基本输出（针对高级别的操作）；2 - 代表细节输出。</p><p>提示：其他参数设置的详细说明请参看config.pl文件。</p><p><b>4.2.4 执行Base CCCQ集成的最后检验</b></p><p>此时，根据以上所提供的信息，我们应能够完成cqcc检验，检验ClearCase与ClearQuest是否能够很有效的结合，并可以开始完成一些简单的操作。</p><p>在UNIX客户端运行：cqcc_launch -test</p><p>此时，cqcc_launch命令将会调用config.pl里的参数并试图连接ClearQuest，如果连接成功，exit_status会显示0，否则将显示1（如下图所示）</p><p><br /><a name="IDAJA23B"><b>图 (05) 验证配置</b></a><br /><br /><br /></p><p><a name="IDAWA23B"><span class="atitle"><strong><font size="4">5 在Windows的平台上的操作范例</font></strong></span></a></p><p>可以说，Base ClearCase的基本操作，就是Check Out和Check in两个操作，下面就简单介绍一下这两个操作。</p><p><a name="IDA2A23B"><span class="smalltitle"><strong><font size="3">5.1 Check Out</font></strong></span></a></p><p>1) 在ClearCase Explorer中，选中一个文件，进行Check Out操作。如果是配置完成后第一次进行操作，需要输入ClearQuest的用户名和密码。</p><p><br /><a name="IDADB23B"><b>图 (06) 登陆窗口</b></a><br /><br /></p><p>2) 登陆成功后，就会出现QSW(Query Association Window)窗口，显示满足条件的缺陷。选择缺陷，点击Association按钮，可以将其放到上侧窗口中，点击OK，即可完成关联。</p><p><br /><a name="IDASB23B"><b>图 (07) 关联窗口</b></a><br /><br /></p><p>3) 关联成功后，在ClearQuest中打开相应的缺陷，在ClearCase页中，可以查看到关联的文件。</p><p><br /><a name="IDABC23B"><b>图 (08) 在ClearQuest中查询关联的文件</b></a><br /><br /></p><p>4) 在ClearCase Explorer中右键点击被关联的文件，选择版本属性，查看被关联的缺陷。</p><p><br /><a name="IDAQC23B"><b>图 (09) 在ClearCase中查询关联的问题</b></a><br /><br /></p><p><a name="IDA3C23B"><span class="smalltitle"><strong><font size="3">5.2 Check In</font></strong></span></a></p><p>1) 在ClearCase Explorer中选中文件，进行Check Out操作，弹出QSW窗口。</p><p><br /><a name="IDAED23B"><b>图 (10) 关联窗口</b></a><br /><br /></p><p>2) 在ClearQuest中查看被关联的文件。</p><p><br /><a name="IDATD23B"><b>图 (11) 在ClearQuest中查询关联的文件</b></a><br /><br /></p><p>3) 在ClearCase中查看被关联的缺陷。</p><p><br /><a name="IDACE23B"><b>图 (12) 在ClearCase中查询关联的文件</b></a><br /><br /></p><img src ="http://www.blogjava.net/supsky/aggbug/62608.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supsky/" target="_blank">eddy liao</a> 2006-08-09 17:04 <a href="http://www.blogjava.net/supsky/archive/2006/08/09/62608.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ClearCase article</title><link>http://www.blogjava.net/supsky/archive/2006/07/25/59988.html</link><dc:creator>eddy liao</dc:creator><author>eddy liao</author><pubDate>Tue, 25 Jul 2006 06:01:00 GMT</pubDate><guid>http://www.blogjava.net/supsky/archive/2006/07/25/59988.html</guid><wfw:comment>http://www.blogjava.net/supsky/comments/59988.html</wfw:comment><comments>http://www.blogjava.net/supsky/archive/2006/07/25/59988.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supsky/comments/commentRss/59988.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supsky/services/trackbacks/59988.html</trackback:ping><description><![CDATA[
		<p>1.在不同网络环境中ClearCase的管理<br /><a href="http://www-128.ibm.com/developerworks/cn/rational/r-hanss/">http://www-128.ibm.com/developerworks/cn/rational/r-hanss/</a><br /><br />2.IBM Rational ClearCase-Samba 协同环境的设置和问题解决<br /><a href="http://www-128.ibm.com/developerworks/cn/rational/r-cc-samba/">http://www-128.ibm.com/developerworks/cn/rational/r-cc-samba/</a><br /><br />3.<font size="3">ClearCase Interoperation实例详解<br /></font><a href="http://www-128.ibm.com/developerworks/cn/rational/06/r-shixl2/index.html">http://www-128.ibm.com/developerworks/cn/rational/06/r-shixl2/index.html</a><br /><br />我也别贴了，到这里去找吧。<br /><a href="http://www-128.ibm.com/developerworks/cn/views/rational/articles.jsp">http://www-128.ibm.com/developerworks/cn/views/rational/articles.jsp</a></p>
<img src ="http://www.blogjava.net/supsky/aggbug/59988.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supsky/" target="_blank">eddy liao</a> 2006-07-25 14:01 <a href="http://www.blogjava.net/supsky/archive/2006/07/25/59988.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>windows 2003 域服务器的建立</title><link>http://www.blogjava.net/supsky/archive/2006/07/25/59970.html</link><dc:creator>eddy liao</dc:creator><author>eddy liao</author><pubDate>Tue, 25 Jul 2006 04:36:00 GMT</pubDate><guid>http://www.blogjava.net/supsky/archive/2006/07/25/59970.html</guid><wfw:comment>http://www.blogjava.net/supsky/comments/59970.html</wfw:comment><comments>http://www.blogjava.net/supsky/archive/2006/07/25/59970.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supsky/comments/commentRss/59970.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supsky/services/trackbacks/59970.html</trackback:ping><description><![CDATA[先把找到的参考资料发上来，还不知道有没有用，再整理吧。<br /><a href="http://www.microsoft.com/china/windowsserver2003/default.mspx">http://www.microsoft.com/china/windowsserver2003/default.mspx</a><br /><h1>Windows Server 2003 部署通用结构分步指南</h1><h2 class="subtitle">第一部分：将 Windows Server 2003 安装为域控制器<br /><a href="http://www.microsoft.com/china/technet/prodtechnol/windowsserver2003/technologies/directory/activedirectory/stepbystep/domcntrl.mspx">http://www.microsoft.com/china/technet/prodtechnol/windowsserver2003/technologies/directory/activedirectory/stepbystep/domcntrl.mspx</a><br /></h2><h2 class="subtitle"> </h2><h2 class="subtitle">Win2K安装与服务器配置(下)<br /><a href="http://article.pchome.net/00/01/79/90/">http://article.pchome.net/00/01/79/90/</a><br /><br /><strong>Windows Server 2003中的Active Directory服务</strong><br /><a href="http://www.microsoft.com/china/technet/community/columns/profwin/pw0503.mspx">http://www.microsoft.com/china/technet/community/columns/profwin/pw0503.mspx</a><br /><br />轻松配置Windows2003自带MAIL服务器<br /><a href="http://server.chinabyte.com/91/2394591.shtml">http://server.chinabyte.com/91/2394591.shtml</a><br />手把手教您架设Windows2003共享服务器<br /><a href="http://server.chinabyte.com/185/2482185.shtml">http://server.chinabyte.com/185/2482185.shtml</a></h2><img src ="http://www.blogjava.net/supsky/aggbug/59970.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supsky/" target="_blank">eddy liao</a> 2006-07-25 12:36 <a href="http://www.blogjava.net/supsky/archive/2006/07/25/59970.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>