ClearCase與ClearQuest的集成![]() | ![]() |
![]() | IBM CSDL Rational ClearCase , 測試小組, IBM 2005 年 8 月 18 日 Rational ClearCase是一個(gè)業(yè)界領(lǐng)先的軟件配置管理工具,Rational ClearQuest則是IBM Rational在變更管理和缺陷跟蹤方面的軟件。業(yè)界對于變更管理軟件和配置管理軟件的集成有著(zhù)強烈的需求,因此IBM Rational也提供了ClearCase和ClearQuest集成的功能。 Rational ClearCase是一個(gè)業(yè)界領(lǐng)先的軟件配置管理工具,Rational ClearQuest則是IBM Rational在變更管理和缺陷跟蹤方面的軟件。業(yè)界對于變更管理軟件和配置管理軟件的集成有著(zhù)強烈的需求,因此IBM Rational也提供了ClearCase和ClearQuest集成的功能。 所謂Base ClearCase和ClearQuest的集成,就是將ClearQuest中的變更請求(Change Requeset)關(guān)聯(lián)到一個(gè)或多個(gè)ClearCase中元素(Element)的版本(Version)上。一個(gè)變更請求可以被關(guān)聯(lián)到一個(gè)或多個(gè)版本上,實(shí)施變更的這些版本的集合被稱(chēng)作變更請求的變更集(Change Set)。一個(gè)版本可以被關(guān)聯(lián)到一個(gè)或多個(gè)變更請求,這些變更請求的集合被稱(chēng)作版本的請求集(Request Set)。 集成對于不同的角色,有以下不同的功能: 一個(gè)項目經(jīng)理指定在什么情況下需要讓用戶(hù)關(guān)聯(lián)版本到變更請求。也可以指定關(guān)聯(lián)變更請求的VOBs,branches,以及element types。 ClearQuest的管理員添加ClearCase的定義到ClearQuest的schema中。這使得變更請求可以顯示與它關(guān)聯(lián)的變更集。 使用ClearCase進(jìn)行開(kāi)發(fā)的人員,可以在Check Out或者Check In一個(gè)版本的時(shí)候,將這個(gè)版本關(guān)聯(lián)到一個(gè)或者更多的變更請求上。也可以查看一個(gè)變更請求的變更集。 在這篇文章中,我們將對Base ClearCase與ClearQuest集成的設計原理和運行環(huán)境的搭建與設置進(jìn)行介紹,最后再提供一些操作范例。
所謂的Central Server就是將所有的腳本文件及配置文件放在一個(gè)目錄,當進(jìn)行集成的時(shí)候,ClearCase就會(huì )在這個(gè)目錄中尋找配置文件(config.pl)、cqcc_launch腳本以及其他的代碼,而不是使用本地默認目錄的相應文件,因此提高了安全性和可維護性。與之對應的本地方式(Local Server)則是使用本地ClearCase目錄中的配置文件、腳本以及其他代碼。 就是將一個(gè)ClearCase操作中的所有與ClearQuest相關(guān)的操作,記錄到一個(gè)批處理文件中,ClearCase操作完成之后,再將這些操作一次性寫(xiě)入到ClearQuest中。從而降低了登陸ClearQuest和在查詢(xún)ClearQuest的次數,大大的提高了性能。 批處理序列是將批處理的概念進(jìn)一步擴展的產(chǎn)物。ClearCase認為所有進(jìn)行的ClearCase都是在一個(gè)批處理當中,它記錄所有與ClearQuest相關(guān)的操作到批處理文件當中,以便在以后的某個(gè)時(shí)間完成與ClearQuest相關(guān)的操作。 就是在ClearCase的Check in完成之后,再進(jìn)行ClearQuest的操作。一般的情況下,在ClearCase的Check in操作完成之后,才進(jìn)行與ClearQuest相關(guān)的操作。這樣在Check in操作失敗的情況下,會(huì )造成ClearCase和ClearQuest的數據不一致。啟用此功能則可以避免這種錯誤。 2.5 自動(dòng)關(guān)聯(lián)(Auto-association) 就是在將變更請求關(guān)聯(lián)到某個(gè)版本的時(shí)候,不需要手工選擇,而是靠預先設置的請求ID或者根據ClearCase操作的注釋自動(dòng)提取請求ID,來(lái)決定關(guān)聯(lián)的請求。 2.6 使用CQWeb方式的集成 在本地沒(méi)有安裝ClearQuest,或者不愿意使用本地的ClearQuest的情況下,可以使用CQWeb的方式使用CQWeb Server上的ClearQuest來(lái)實(shí)現ClearCase和ClearQuest的集成。
我們知道UCM是一種對版本控制的配制管理流程,而UCM是基于Base ClearCase的管理流程演變而來(lái)的。因此掌握并了解Base ClearCase的管理就顯得至關(guān)重要。Base ClearCase包含了一系列功能,它們能夠使開(kāi)發(fā)人員做到并行開(kāi)發(fā),項目管理者也能通過(guò)制定相關(guān)的規則來(lái)使開(kāi)發(fā)工作有序的進(jìn)行。 在開(kāi)發(fā)過(guò)程中,Base ClearCase應用"分支(Branch)"的方法來(lái)允許開(kāi)發(fā)人員進(jìn)行并行開(kāi)發(fā)。任何在配制管理下的元素(Element),例如:文本文件,程序原代碼等,都會(huì )生成一個(gè)主分支,而主分支下還可以有多個(gè)下屬分支,它們的作用是用來(lái)支持在主分支上的開(kāi)發(fā)。Base ClearCase 允許創(chuàng )建復雜的分支體系。在開(kāi)發(fā)過(guò)程中,通過(guò)視圖(View)可以訪(fǎng)問(wèn)特定元素集的特定版本,而這通過(guò)修改視圖的規則(Config Specification)就可以實(shí)現。UCM也使用"分支"的方法,但是這些分支不需要用手工來(lái)操作,而是通過(guò)"流(Stream)"來(lái)實(shí)現,通常情況下,一個(gè)項目存在一個(gè)集成流和多個(gè)開(kāi)發(fā)流。 在項目管理方面,我們通過(guò)對項目的源文件打基線(xiàn)(Baseline)來(lái)呈現項目早期較穩定版本的雛形,并且基線(xiàn)可以用來(lái)連接一系列相關(guān)的源文件,比如像源代碼,測試計劃等等。UCM自動(dòng)完成基線(xiàn)的創(chuàng )建,而B(niǎo)ase ClearCase則通過(guò)對元素(Elements)的版本打標簽來(lái)創(chuàng )建基線(xiàn)。 通過(guò)以上對UCM和Base ClearCase的比較,因此在一個(gè)項目不是很大,并且業(yè)務(wù)流程相對簡(jiǎn)單的情況下適合用Base ClearCase。
在Base CCCQ集成的過(guò)程中,運行環(huán)境的搭建尤為重要。 圖 (01) 系統結構圖 ![]() 首先,需要在ClearCase客戶(hù)端和ClearCase注冊服務(wù)器安裝ClearCase。在ClearQuest Unix服務(wù)器和ClearQuest Windows服務(wù)器安裝ClearQuest。準備數據庫服務(wù)器。在ClearQuest Unix服務(wù)器上配置好DBSet,并添加User DB。之后就可以配置集成了。 集成的配置需要在ClearCase和ClearQuest上分別進(jìn)行配置,才能完成。在ClearCase側,需要對VOB配置。當對一個(gè)VOB配置了集成之后,針對與這個(gè)VOB的ClearCase相關(guān)操作(例如CheckOut, CheckIn)都會(huì )激發(fā)腳本對ClearQuest數據庫的訪(fǎng)問(wèn),進(jìn)而完成Base CC和CQ的集成。 在ClearQuest側,需要在數據庫中添加ClearCase的定義,只有加入了定義之后,數據庫中的請求的變更集才能夠顯示出來(lái)。 下面具體介紹配置過(guò)程。 4.2.1 將ClearCase package加入到一個(gè)ClearQuest DBset 由于ClearQuest schema包含了一些與多個(gè)ClearQuest user databases相關(guān)聯(lián)的特性,例如數據記錄的類(lèi)型,區域,和形式。在開(kāi)發(fā)人員將ClearCase中文件的版本與ClearQuest用戶(hù)數據庫中的變更請求相聯(lián)系的時(shí)候,必須將ClearCase的特性也加入到ClearQuest schema,此過(guò)程要在Windows端完成且過(guò)程如下所述:
4.2.2 在ClearCase VOBs上安裝觸發(fā)器(Triggers) CCCQ的集成應用到了針對cleartool checkin, checkout和uncheckout操作的觸發(fā)器,觸發(fā)器的安裝與配制需要在Windows端配制,該Windows的Registry Server必須與UNIX上建VOBs的那臺Server指向同一臺Registry Server。具體配置過(guò)程如下所述: 4.2.2.1 同步UNIX與Windows上的ClearCase Regions 1) 在Windows上新建一個(gè)Region,名稱(chēng)與需要同步的UNIX上的Region名稱(chēng)相同,這時(shí)UNIX上的Region就在Registry Server上注冊了。 2) 運行 -> cleartool -> mkregion -tag <UNIX region> 3) 開(kāi)始 -> 程序 -> Rational Software ->4) Rational ClearCase‘Administration‘Region Synchronizer 圖 (02) 導入Unix服務(wù)器上的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,點(diǎn)擊"Import",這時(shí)"Create VOB Tag"對話(huà)框會(huì )顯示出來(lái)。在"Global Storage"一項中輸入在UNIX服務(wù)器上的VOB的網(wǎng)絡(luò )存儲路徑,并且在"Hostname"一項中輸入在Region內能夠解析的主機名。 圖 (03) 創(chuàng )建Tag ![]() 4.2.2.2 將一個(gè)VOB安裝上Trigger 當一個(gè)VOB被引入(Import)后,我們可以對其安裝Trigger 在ClearCase中,點(diǎn)擊開(kāi)始 -> 程序 -> Rational Software‘Rational ClearCase‘Administration‘Integrations‘ClearQuest Integration Configuration. 這時(shí)出現如下圖所示的對話(huà)框。 圖 (04) 應用Trigger ![]() 在"ClearCase - ClearQuest Integration Configuration"對話(huà)框中,我們可以看到所有在UNIX服務(wù)器端建立好的VOBs,并且可以對其中任何一個(gè)VOB安裝trigger。在這里,我們對VOB int4安裝Checkout和Checkin的trigger。Trigger的配制文件在config.pl中有詳細說(shuō)明,關(guān)于trigger選擇的詳細內容可以參看上一章節。 提示:
4.2.3 核心文件config.pl的配置 config.pl文件的配置在Base ClearCase與ClearQuest集成的操作中起到重要的作用。config.pl文件中包含了一系列變量及參數的設置,設置的描述,以及在哪里可以配制這些參數(是在config.pl文件本身中設置還是在系統環(huán)境變量中設置)。config.pl文件在不同操作系統上的存儲路徑: 下面就一些重要的參數配置進(jìn)行詳細的說(shuō)明: 4.2.3.1 定義用戶(hù)數據庫 &SetConfigParm("CQCC_DATABASE_ENTITY_LIST","SAMPL: defect"); 4.2.3.2 定義DBsets &SetConfigParm("CQCC_DATABASE_SET", "<db_set_name>"); 4.2.3.3 選擇集成模式: 文本模式或圖形模式 &SetConfigParm("CQCC_GUI_ENABLE", "OFF"); 4.2.3.4 開(kāi)啟DEBUG模式 &SetConfigParm("CQCC_DEBUG", "1");此參數用來(lái)控制在運行時(shí)模式下DEBUG報告的輸出級別。0 - 代表沒(méi)有輸出;1 - 代表基本輸出(針對高級別的操作);2 - 代表細節輸出。 提示:其他參數設置的詳細說(shuō)明請參看config.pl文件。 4.2.4 執行Base CCCQ集成的最后檢驗 此時(shí),根據以上所提供的信息,我們應能夠完成cqcc檢驗,檢驗ClearCase與ClearQuest是否能夠很有效的結合,并可以開(kāi)始完成一些簡(jiǎn)單的操作。 在UNIX客戶(hù)端運行:cqcc_launch -test 此時(shí),cqcc_launch命令將會(huì )調用config.pl里的參數并試圖連接ClearQuest,如果連接成功,exit_status會(huì )顯示0,否則將顯示1(如下圖所示) 圖 (05) 驗證配置 ![]()
可以說(shuō),Base ClearCase的基本操作,就是Check Out和Check in兩個(gè)操作,下面就簡(jiǎn)單介紹一下這兩個(gè)操作。 1) 在ClearCase Explorer中,選中一個(gè)文件,進(jìn)行Check Out操作。如果是配置完成后第一次進(jìn)行操作,需要輸入ClearQuest的用戶(hù)名和密碼。 圖 (06) 登陸窗口 ![]() 2) 登陸成功后,就會(huì )出現QSW(Query Association Window)窗口,顯示滿(mǎn)足條件的缺陷。選擇缺陷,點(diǎn)擊Association按鈕,可以將其放到上側窗口中,點(diǎn)擊OK,即可完成關(guān)聯(lián)。 圖 (07) 關(guān)聯(lián)窗口 ![]() 3) 關(guān)聯(lián)成功后,在ClearQuest中打開(kāi)相應的缺陷,在ClearCase頁(yè)中,可以查看到關(guān)聯(lián)的文件。 圖 (08) 在ClearQuest中查詢(xún)關(guān)聯(lián)的文件 ![]() 4) 在ClearCase Explorer中右鍵點(diǎn)擊被關(guān)聯(lián)的文件,選擇版本屬性,查看被關(guān)聯(lián)的缺陷。 圖 (09) 在ClearCase中查詢(xún)關(guān)聯(lián)的問(wèn)題 ![]() 1) 在ClearCase Explorer中選中文件,進(jìn)行Check Out操作,彈出QSW窗口。 圖 (10) 關(guān)聯(lián)窗口 ![]() 2) 在ClearQuest中查看被關(guān)聯(lián)的文件。 圖 (11) 在ClearQuest中查詢(xún)關(guān)聯(lián)的文件 ![]() 3) 在ClearCase中查看被關(guān)聯(lián)的缺陷。 圖 (12) 在ClearCase中查詢(xún)關(guān)聯(lián)的文件 ![]()
| ||||||||||||
聯(lián)系客服