posts - 11, comments - 3, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          2006年7月20日

          http://www.javaresource.org/clearcase/clearcase-73883.html

          我這都是轉的一些東西

          posted @ 2006-08-10 11:18 eddy liao 閱讀(371) | 評論 (1)編輯 收藏

          http://www.chinaitpower.com/2005September/2005-09-13/205598.html

          Rational ClearCase是一個業界領先的軟件配置管理工具,Rational ClearQuest則是IBM Rational在變更管理和缺陷跟蹤方面的軟件。業界對于變更管理軟件和配置管理軟件的集成有著強烈的需求,因此IBM Rational也提供了ClearCase和ClearQuest集成的功能

          1 概述

          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集成的設計原理和運行環境的搭建與設置進行介紹,最后再提供一些操作范例。


          2 基本概念

          2.1 集中方式(Central Server)

          所謂的Central Server就是將所有的腳本文件及配置文件放在一個目錄,當進行集成的時候,ClearCase就會在這個目錄中尋找配置文件(config.pl)、cqcc_launch腳本以及其他的代碼,而不是使用本地默認目錄的相應文件,因此提高了安全性和可維護性。與之對應的本地方式(Local Server)則是使用本地ClearCase目錄中的配置文件、腳本以及其他代碼。

          2.2 批處理(Batching Enabled)

          就是將一個ClearCase操作中的所有與ClearQuest相關的操作,記錄到一個批處理文件中,ClearCase操作完成之后,再將這些操作一次性寫入到ClearQuest中。從而降低了登陸ClearQuest和在查詢ClearQuest的次數,大大的提高了性能。

          2.3 序列(Batching Series)

          批處理序列是將批處理的概念進一步擴展的產物。ClearCase認為所有進行的ClearCase都是在一個批處理當中,它記錄所有與ClearQuest相關的操作到批處理文件當中,以便在以后的某個時間完成與ClearQuest相關的操作。

          2.4 檢入后提交(Postcheckin commit)

          就是在ClearCase的Check in完成之后,再進行ClearQuest的操作。一般的情況下,在ClearCase的Check in操作完成之后,才進行與ClearQuest相關的操作。這樣在Check in操作失敗的情況下,會造成ClearCase和ClearQuest的數據不一致。啟用此功能則可以避免這種錯誤。

          2.5 自動關聯(Auto-association)

          就是在將變更請求關聯到某個版本的時候,不需要手工選擇,而是靠預先設置的請求ID或者根據ClearCase操作的注釋自動提取請求ID,來決定關聯的請求。

          2.6 使用CQWeb方式的集成

          在本地沒有安裝ClearQuest,或者不愿意使用本地的ClearQuest的情況下,可以使用CQWeb的方式使用CQWeb Server上的ClearQuest來實現ClearCase和ClearQuest的集成。


          3 何時采用Base ClearCase

          我們知道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。


          4 運行環境的搭建與設置

          4.1 運行環境的搭建

          在Base CCCQ集成的過程中,運行環境的搭建尤為重要。


          圖 (01) 系統結構圖

          首先,需要在ClearCase客戶端和ClearCase注冊服務器安裝ClearCase。在ClearQuest Unix服務器和ClearQuest Windows服務器安裝ClearQuest。準備數據庫服務器。在ClearQuest Unix服務器上配置好DBSet,并添加User DB。之后就可以配置集成了。

          4.2 ClearCase與ClearQuest集成的配制

          集成的配置需要在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端完成且過程如下所述:

          • 開始 -> 程序 -> Rational Software -> Rational ClearQuest -> ClearQuest Designer
          • 在ClearQuest Designer中,點擊Package -> Package Wizard
          • 在安裝Package向導中,找到ClearCase 1.0和ClearCase Upgrade 1.0,如果這些Packages沒有列出,則點擊"More Packages",并將上述的兩個Packages添加到列表中。
          • 選擇ClearCase 1.0 Package并點擊"下一步"
          • 選擇一個將會應用ClearCase 1.0 Package的schema e.g. Defect Tracking,點擊"下一步"
          • 選擇數據紀錄的類型并點擊"完成"
          • 選擇File -> Check In來保存schema的最新版本
          • 選擇Database -> Upgrade Database把schema的最新版本升級到ClearQuest user database中

          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 <UNIX region>

          3) 開始 -> 程序 -> Rational Software ->

          4) Rational ClearCase'Administration'Region Synchronizer


          圖 (02) 導入Unix服務器上的VOB

          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內能夠解析的主機名。


          圖 (03) 創建Tag

          4.2.2.2 將一個VOB安裝上Trigger

          當一個VOB被引入(Import)后,我們可以對其安裝Trigger 在ClearCase中,點擊開始 -> 程序 -> Rational Software'Rational ClearCase'Administration'Integrations'ClearQuest Integration Configuration. 這時出現如下圖所示的對話框。


          圖 (04) 應用Trigger

          在"ClearCase - ClearQuest Integration Configuration"對話框中,我們可以看到所有在UNIX服務器端建立好的VOBs,并且可以對其中任何一個VOB安裝trigger。在這里,我們對VOB int4安裝Checkout和Checkin的trigger。Trigger的配制文件在config.pl中有詳細說明,關于trigger選擇的詳細內容可以參看上一章節。

          提示:

          • 觸發器使用config.pl配制文件來控制本地集成的配制參數。當選擇V2觸發器時,配置應用程序會將config.pl文件路徑設為CQCC/config.pl,在這個路徑中CQCC代表了本地的cc-home-dir/lib/perl5/CQCCTrigger/CQCC這個路徑,用戶可以根據需要將這個路徑改變為一個UNC路徑,因此所有的集成操作將調用一個中心配制文件config.pl。
          • 在安裝觸發器時,只有VOB的所有者才可以對自己創建的VOB安裝觸發器。如果一個用戶e.g. Harry登陸Windows,他想對Andy在UNIX上創建的VOB安裝觸發器,這時會出現"無法得到觸發器類型"等警告。如果Harry希望可以對VOB安裝觸發器,那么需要執行以下兩步:
          • 在DOS模式下運行Runas /user:RATIONALCC\Andy cmd.exe命令,這個命令將以Andy的身份打開一個DOS窗口,并提示輸入用戶名和密碼。
          • 在驗證通過登陸后,另一個DOS窗口將會打開,在這個窗口中,運行"cqconfig"來以Andy的身份在VOB上安裝觸發器。

          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", "<db_set_name>");
          在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(如下圖所示)


          圖 (05) 驗證配置


          5 在Windows的平臺上的操作范例

          可以說,Base ClearCase的基本操作,就是Check Out和Check in兩個操作,下面就簡單介紹一下這兩個操作。

          5.1 Check Out

          1) 在ClearCase Explorer中,選中一個文件,進行Check Out操作。如果是配置完成后第一次進行操作,需要輸入ClearQuest的用戶名和密碼。


          圖 (06) 登陸窗口

          2) 登陸成功后,就會出現QSW(Query Association Window)窗口,顯示滿足條件的缺陷。選擇缺陷,點擊Association按鈕,可以將其放到上側窗口中,點擊OK,即可完成關聯。


          圖 (07) 關聯窗口

          3) 關聯成功后,在ClearQuest中打開相應的缺陷,在ClearCase頁中,可以查看到關聯的文件。


          圖 (08) 在ClearQuest中查詢關聯的文件

          4) 在ClearCase Explorer中右鍵點擊被關聯的文件,選擇版本屬性,查看被關聯的缺陷。


          圖 (09) 在ClearCase中查詢關聯的問題

          5.2 Check In

          1) 在ClearCase Explorer中選中文件,進行Check Out操作,彈出QSW窗口。


          圖 (10) 關聯窗口

          2) 在ClearQuest中查看被關聯的文件。


          圖 (11) 在ClearQuest中查詢關聯的文件

          3) 在ClearCase中查看被關聯的缺陷。


          圖 (12) 在ClearCase中查詢關聯的文件

          posted @ 2006-08-09 17:04 eddy liao 閱讀(414) | 評論 (0)編輯 收藏

          1.在不同網絡環境中ClearCase的管理
          http://www-128.ibm.com/developerworks/cn/rational/r-hanss/

          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

          我也別貼了,到這里去找吧。
          http://www-128.ibm.com/developerworks/cn/views/rational/articles.jsp

          posted @ 2006-07-25 14:01 eddy liao 閱讀(328) | 評論 (0)編輯 收藏

          先把找到的參考資料發上來,還不知道有沒有用,再整理吧。
          http://www.microsoft.com/china/windowsserver2003/default.mspx

          Windows Server 2003 部署通用結構分步指南

          第一部分:將 Windows Server 2003 安裝為域控制器
          http://www.microsoft.com/china/technet/prodtechnol/windowsserver2003/technologies/directory/activedirectory/stepbystep/domcntrl.mspx

          ?

          Win2K安裝與服務器配置(下)
          http://article.pchome.net/00/01/79/90/

          Windows Server 2003中的Active Directory服務
          http://www.microsoft.com/china/technet/community/columns/profwin/pw0503.mspx

          輕松配置Windows2003自帶MAIL服務器
          http://server.chinabyte.com/91/2394591.shtml
          手把手教您架設Windows2003共享服務器
          http://server.chinabyte.com/185/2482185.shtml

          posted @ 2006-07-25 12:36 eddy liao 閱讀(9206) | 評論 (2)編輯 收藏

          checkstyle 是一個幫助開發者按照某種習慣編寫 java 代碼的工具,他實現了代碼檢查的自動化,幫助人們從這種繁瑣的工作中解放出來。

          默認提供了對 sun 編程規范的支持,但是 checkstyle 是一個具有高可配置性的,你完全可以根據自己的要求來配置需要檢查的內容。

          有以下這些東西
          \lib\checkstyle-3.1\contrib\checkstyle-noframes.xsl
          \lib\checkstyle-3.1\checkstyle-all-3.1.jar
          \lib\checkstyle-3.1\sun_checks.xml????????????????????

          在build.xml文件中添加
          ??? <patternset id="java.files.pattern" includes="**/*.java"/>

          ??? <target name="checkstyle" depends="prepare"?????????? 依賴prepare target
          ??????? description="Check code style for compliance with coding standards">
          ??????? <property name="checkstyle.data.dir"
          ??????????? location="${build.dir}/docs/checkstyle"/>???????????????? 存放路徑
          ??????? <property name="checkstyle.data.file"
          ??????????? location="${checkstyle.data.dir}/checkstyle.xml"/>???? xml文件
          ??????? <property name="checkstyle.report.file"
          ??????????? location="${checkstyle.data.dir}/checkstyle.html"/>?? html文件
          ??????? <property name="checkstyle.xsl.file"
          ??????????? location="${checkstyle.dir}/contrib/checkstyle-noframes.xsl"/>?? 選用的樣式表,checkstyle.dir為jar包的位置
          ??????? <mkdir dir="${checkstyle.data.dir}"/>
          ??????? <taskdef resource="checkstyletask.properties" classpath="${checkstyle.jar}"/>? 引入jar文件
          ??????? <checkstyle config="${checkstyle.dir}/sun_checks.xml"????????????????????? 選用sun的規范,可以修改為自己的最佳實踐
          ??????????? failOnViolation="false" failureProperty="checkstyle.failure">
          ??????????? <fileset dir="src">?????????????????????????????????????????????????????????????????? 對src目錄進行檢查
          ??????????????? <patternset refid="java.files.pattern"/>
          ??????????? </fileset>
          ??????????? <fileset dir="test">????????????????????????????????????????????????????????????????? 對test目錄進行檢查
          ??????????????? <patternset refid="java.files.pattern"/>
          ??????????? </fileset>
          ??????????? <!-- uncomment to print to console as well -->
          ??????????? <!--formatter type="plain"/-->
          ??????????? <formatter type="xml" toFile="${checkstyle.data.file}"/>???????? 生成xml文件
          ??????? </checkstyle>
          ??????? <xslt in="${checkstyle.data.file}" out="${checkstyle.report.file}"
          ??????????? style="${checkstyle.xsl.file}"/>??????????????????????????????????????? 生成報告,其格式取決于checkstyle.xsl.file
          ??? </target>

          如圖所示:圖1列出了所有文件,圖2列出了所以錯誤

          checkstyle1.JPG


          checkstyle2.JPG



          下面解釋了一些常見的輸出結果,以供參考。 ?
          序號 ? ? ? ? ? ?輸出內容意義 ? ?
          1 ?Type ?is ?missing ?a ?javadoc ?commentClass ? ?缺少類型說明 ? ?
          2“{” ?should ?be ?on ?the ?previous ?line ?“{” ?應該位于前一行 ? ?
          3Methos ?is ?missing ?a ?javadoc ?comment方法前面缺少javadoc注釋 ? ?
          4Expected ?@throws ?tag ?for ?“Exception”在注釋中希望有@throws的說明 ? ?
          5“.” ?Is ?preceeded ?with ?whitespace ?“.” ?前面不能有空格 ? ?
          6“.” ?Is ?followed ?by ?whitespace“.” ?后面不能有空格 ? ?
          7“=” ?is ?not ?preceeded ?with ?whitespace“=” ?前面缺少空格 ? ?
          8“=” ?is ?not ?followed ?with ?whitespace“=” ?后面缺少空格 ? ?
          9“}” ?should ?be ?on ?the ?same ?line“}” ?應該與下條語句位于同一行 ? ?
          10Unused ?@param ?tag ?for ?“unused”沒有參數“unused”,不需注釋 ? ?
          11Variable ?“CA” ?missing ?javadoc變量“CA”缺少javadoc注釋 ? ?
          12Line ?longer ?than ?80characters行長度超過80 ? ?
          13Line ?contains ?a ?tab ?character行含有”tab” ?字符 ? ?
          14Redundant ?“Public” ?modifier冗余的“public” ?modifier ? ?
          15Final ?modifier ?out ?of ?order ?with ?the ?JSL ?suggestionFinal ?modifier的順序錯誤 ? ?
          16Avoid ?using ?the ?“.*” ?form ?of ?importImport格式避免使用“.*” ? ?
          17Redundant ?import ?from ?the ?same ?package從同一個包中Import內容 ? ?
          18Unused ?import-java.util.listImport進來的java.util.list沒有被使用 ? ?
          19Duplicate ?import ?to ?line ?13重復Import同一個內容 ? ?
          20Import ?from ?illegal ?package從非法包中 ?Import內容 ? ?
          21“while” ?construct ?must ?use ?“{}”“while” ?語句缺少“{}” ? ?
          22Variable ?“sTest1” ?must ?be ?private ?and ?have ?accessor ?method變量“sTest1”應該是private的,并且有調用它的方法 ? ?
          23Variable ?“ABC” ?must ?match ?pattern ?“^[a-z][a-zA-Z0-9]*$”變量“ABC”不符合命名規則“^[a-z][a-zA-Z0-9]*$” ? ?
          24“(” ?is ?followed ?by ?whitespace“(” ?后面不能有空格 ?25“)” ?is ?proceeded ?by ?whitespace“)” ?前面不能有空格
          25 Line has trailing spaces? 行的最后不能有空格

          根據sun_checks.xml文件的內容,可以到http://checkstyle.sourceforge.net/checks.html這里查看具體的配置,實現你們的最佳實踐

          posted @ 2006-07-20 15:51 eddy liao 閱讀(3042) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 田阳县| 洪洞县| 凌云县| 兴和县| 柳河县| 彰武县| 新宾| 连城县| 娄底市| 敦煌市| 公主岭市| 寿宁县| 通州市| 长丰县| 海伦市| 高碑店市| 阿尔山市| 临漳县| 修文县| 灵宝市| 泰州市| 南皮县| 巨鹿县| 华坪县| 禹城市| 峨山| 忻城县| 平遥县| 西乌| 龙岩市| 班玛县| 东乡县| 习水县| 全椒县| 常宁市| 北碚区| 天津市| 靖江市| 依安县| 微山县| 景德镇市|