2.2.6 環(huán)境的準(zhǔn)備
圖五:配置系統(tǒng)架構(gòu)圖
上圖是Rational建議的服務(wù)器的配置的邏輯視圖。以下是一些要求:
網(wǎng)絡(luò)要求
ClearCase支持客戶/服務(wù)器(C/S)以及瀏覽器/服務(wù)器(B/S)兩種使用方式,要求客戶機(jī)和服務(wù)器通所在的網(wǎng)絡(luò)環(huán)境支持TCP/IP,局域網(wǎng)均能滿足要求,建議100兆以太網(wǎng)。
操作系統(tǒng)要求
如果在Windows環(huán)境下部署ClearCase,首先應(yīng)滿足ClearCase要求的平臺條件(如Windows2000需SP2以上等),其次需要所有開發(fā)機(jī)器均在要加入Windows域以進(jìn)行統(tǒng)一的用戶校驗(yàn)和安全性管理。如果在Unix環(huán)境下部署ClearCase,同樣需滿足ClearCase要求的Unix條件(如打上ClearCase需要的操作系統(tǒng)補(bǔ)丁等)。
硬件要求
Windows環(huán)境下,VOB Server建議CPU P3-1GHz以上,內(nèi)存512MB以上,硬盤空間80GB以上,如果有可能,好采用服務(wù)器。
如果單純從性能考慮,VOB Server好采用UNIX系統(tǒng),但是在實(shí)際情況中要考慮到易用性等,如果項(xiàng)目組成員大多數(shù)采用Windows平臺進(jìn)行開發(fā),建議還是使用Windows系統(tǒng)做為VOB Server,因?yàn)槿绻捎肬NIX VOB Server,如果想在Windows平臺上使用Dynamic View會有一定的困難。
在實(shí)際中可以將VOB Server與License Server及Registry Server配置在一臺機(jī)器上。這些Server中只有VOB Server與View Server的對配置的要求比較高,而且一個Registry Server上只能啟動一個Windows Region與UNIX Region,所以建議每個項(xiàng)目配置一個Registry Server,配置項(xiàng)目自己的Region。
在實(shí)際使用過程中,初所有的View均保存在項(xiàng)目組成員的機(jī)器上,但是在使用中出現(xiàn)一系列問題,如果項(xiàng)目足夠的資源,建議配置一個獨(dú)立的View Server,項(xiàng)目組成員的所有Dynamic View要求必須建立在View Server上。
在環(huán)境的準(zhǔn)備過程中,要考慮到開發(fā)人員的開發(fā)習(xí)慣與測試環(huán)境等問題,決定VOB Sever是安裝在Windows平臺還是安裝在Windows平臺。在決定安裝平臺后,要根據(jù)開發(fā)模式確定是否安裝Web Server,如果項(xiàng)目會有大量的在外支持的工作,并要求在客戶現(xiàn)場修改代碼,建議安裝在辦公網(wǎng)段,這樣可以通過外網(wǎng)進(jìn)行訪問;如果是產(chǎn)品項(xiàng)目在公司內(nèi)部研發(fā),沒有遠(yuǎn)程修改的需求,建議安裝在實(shí)驗(yàn)網(wǎng)段。
在Server安裝完成后,要根據(jù)代碼保密與配置管理等原則等將所有的用戶與用戶組在域中建立,并將網(wǎng)絡(luò)安裝包共享給用戶使用,要注意有是在某個域上安裝了ClearCase客戶端后,并不能直接在另一個域上使用,需要修改Atria Location Broker這個服務(wù)中啟動用戶與密碼,所以在安裝完成后,不能對clearcase_albd的密碼進(jìn)行改動,所以clearcase_albd這個用戶設(shè)置中一定要注意設(shè)置密碼永不過期。如果一個項(xiàng)目組成員想在不同的域并且這些域之間沒有信任的情況下都使用ClearCase,只能安裝兩套操作系統(tǒng),在每個系統(tǒng)上都安裝ClearCase客戶端。
2.2.7 舊版本的整理與版本的遷移
在服務(wù)器安裝完成后,要考慮舊版本的整理,如果只是簡單的將VSS與CVS的全部配置項(xiàng)移到ClearCase中去,只是將ClearCase當(dāng)做VSS與CVS使用,使用ClearCase也沒有什么意義,所以要將舊有的配置項(xiàng)進(jìn)行整理。這項(xiàng)工作應(yīng)在配置庫的邏輯視圖與物理視圖確定之后開始,一直持續(xù)到版本的遷移。
在整理舊有的配置項(xiàng)時要先將原有的VSS或CVS配置庫進(jìn)行備份,而后在備份的配置庫進(jìn)行整理,以防止對工作中的配置庫造成損壞。版本整理的時候可以將文檔與代碼重新按照Component結(jié)構(gòu)設(shè)置。
在VSS中為了工作方便,常常將工作庫,受控庫與基線庫分離,而且VSS的分支功能并不是很好,針對不同的客戶修正一般都會新建一個目錄來進(jìn)行修改,同一個配置項(xiàng)在配置庫中存在多個副本,為配置管理帶來許多人為的不可控因素。
在整理VSS配置庫時,一般情況下文檔部分可以只采用Get last version的方法,取出新版本,按規(guī)定放入Component即可;代碼的處理有所不同,如果所有的代碼在VSS配置庫中只存放在一處,之后在此基礎(chǔ)上設(shè)置label,則可以應(yīng)用命令clearexport_ssafe與clearimport將其導(dǎo)入,在導(dǎo)入結(jié)束后將所有的label導(dǎo)入到相應(yīng)的Component上即可;如果有多處副本只能將每處副本的相應(yīng)基線應(yīng)用get last version命令取出,而后將用clearfsimport導(dǎo)入Clearcase,之后在相同目錄下重復(fù)以上動作,要注意的是每次clearfsimport后要建立一個基線。
針對一些有長年積累,在VSS上有多個目錄存放不同的版本的項(xiàng)目,不要有必其功于一役的不切實(shí)想法,應(yīng)先整理以前的版本,找出幾個主要版本樹,將各個版本之間的關(guān)系理清楚,之后將幾個版本樹按以上的方法導(dǎo)入。
如果源代碼在原項(xiàng)目中是應(yīng)用CVS進(jìn)行配置管理,一般情況下,在CVS中沒有副本存在,可以應(yīng)用clearexport_cvs命令與clearimport命令導(dǎo)入好可。
在應(yīng)用clearimport時要注意,如java中文件名是區(qū)分大小寫的要應(yīng)用clearimport -p,具體方法可以應(yīng)用cleartool man clearimport來查看幫助。
2.2.8 客戶端的安裝與培訓(xùn)
每個項(xiàng)目在安裝時要根據(jù)安裝手冊制定本項(xiàng)目自己的安裝手冊,根據(jù)項(xiàng)目實(shí)際情況修改后發(fā)布給項(xiàng)目使用。在所有的客戶端安裝后,項(xiàng)目配置管理工程師要準(zhǔn)備培訓(xùn)材料對項(xiàng)目組成員進(jìn)行培訓(xùn),培訓(xùn)中要講清楚項(xiàng)目的PVOB、開發(fā)模式、Component的設(shè)置、分組與權(quán)限的設(shè)置、Stream的設(shè)置、項(xiàng)目配置的Policy、Activity的命名準(zhǔn)則、Deliver與Rebase的要求等實(shí)際情況,而不是只講共性的一些東西。
2.2.9 試用
如果大部分項(xiàng)目組成員以前沒有過ClearCase的使用經(jīng)驗(yàn)且進(jìn)度允許,則在客戶端安裝及培訓(xùn)完成后,要在項(xiàng)目組內(nèi)部進(jìn)行試用,以讓項(xiàng)目組成員熟悉;好是ClearCase與VSS或CVS并行使用一周左右時間,然后再將配置管理完成切換到ClearCase。
3 VSS遷移的步驟
3.1 一些前提條件
3.1.1 軟件安裝
必須在ClearCase的VOB端安裝VSS服務(wù)器程序。
3.1.2 用戶權(quán)限
對于Visual Source Safe,要以對Visual Source Safe系統(tǒng)中所有工程/文件均具有完全權(quán)限的身份操作;
對于ClearCase一側(cè),要ClearCase管理員的身份操作;
因此在遷移時,好選用同一個帳號(口令亦相同),同時具有以上兩個權(quán)限。
如果你的ClearCase帳號不具有以上權(quán)限,請與你的系統(tǒng)管理員聯(lián)系。
3.1.3 日期/時間格式
在遷移過程中,ClearCase對時間要求比較嚴(yán)格,且用到的是短時間格式,具體設(shè)置如下:
1、 打開控制面板的區(qū)域設(shè)置屬性;
2、 在時間欄中,將時間樣式設(shè)為"h:mm:ss tt";
將時間分隔符設(shè)為":";
將上午符號設(shè)為"AM" ;
將下午符號設(shè)為"PM" ;
注意以上設(shè)置值的大小寫!
3、 在日期欄中,將短日期樣式設(shè)為"M/d/yy";
將日期分隔符設(shè)為"/" ;
設(shè)置完后可查看資源管理器中文件的時間屬性以檢查上述設(shè)置的正確性。正確的修改應(yīng)為:5/21/01 11:00 AM
3.1.3.1 環(huán)境變量
為方便操作,可添加以下系統(tǒng)環(huán)境變量:
變量名PATH
變量名
??Microsoft Visual Studiovsswin32;
//VSS中ss.exe路徑
??
ationalclearcasein;
??
ationalclearcaseetc;
//ClearCase中clearexport_ssafe.exe路徑
以上
??用戶實(shí)際應(yīng)用程序路徑。
設(shè)置ssdir環(huán)境變量為vss數(shù)據(jù)庫文件的路徑;
設(shè)置ssuser環(huán)境變量為vss登錄用戶名(為方便使用,可將該用戶的密碼設(shè)為空).
ss dir: 顯示當(dāng)前的Project;
ss cd $/SW:設(shè)置當(dāng)前的Project為SW;
ss whoami:顯示當(dāng)前的登錄用戶;
設(shè)置完畢后,可在命令行界面下運(yùn)行path查看以上設(shè)置是否生效。
3.2 建立VOB
建立VOB需要注意的是當(dāng)前的用戶與主組,建立用戶時的用戶與主組是VOB的Owner與Group,但是有時會出現(xiàn)用戶的主組并不是所期望的Group,這時可以應(yīng)用命令修改vob的owner與group。
cleartool protectvob -chown
user -chgrp
group -r
VOBPNAME
3.3 建立General View
在建立VOB可以建立general view,以后所有的遷移都是在general view下進(jìn)行的,這時可以不必關(guān)心view的owner。在建立View時要注意一定要將View建立為Dynamic View,并映射為本地的一個盤符,在稍后的操作中所有的操作都是以命令行方式進(jìn)行。
3.4 備份要遷移的VSS配置庫到VOB所在的機(jī)器
備份的目錄主要是可以根據(jù)遷移的需要對目錄進(jìn)行修改,而不會影響VSS配置庫,所有的遷移的操作都是針對備份到VOB所在機(jī)器的配置庫進(jìn)行的。
3.5 設(shè)置VSS的工程目錄
進(jìn)行命令行模式,執(zhí)行ss cp獲得當(dāng)前的工程目錄,如果不是要遷移的目錄執(zhí)行ss cp $/要遷移的目錄/,注意這時遷移的是當(dāng)前目錄的子目錄,如果想包括當(dāng)前目錄,請到當(dāng)前目錄的上一級目錄,這時如果只想備份上一級目錄的部分子目錄可以將其他目錄刪除,這時可以看到用備份的VSS配置庫進(jìn)行操作的好處了。
3.6 生成遷移所需要的文件
VSS的工程目錄確定后,執(zhí)行clearexport_ssafe -r -o生成遷移所需要的文件。例:
Clearexport_ssafe -r -o e: estexportdata
3.7 遷移
進(jìn)入general view所對應(yīng)的映射盤,進(jìn)入VOB所在的目錄,如VOB名為Test_VOB,general view映射為Y盤,則cd y:
cd Test_VOB
確定是否遷移到當(dāng)前目錄,如果要建立子目錄要注意,用命令行建立的子目錄實(shí)際并沒有在VOB中建立,要在Rational explorer中建立子目錄,并確認(rèn)子目錄的類型為Directory Element才可以。
進(jìn)入要遷移的目錄后執(zhí)行clearimport e: estexportdata,注意如果是java等代碼要區(qū)分大小寫,要加參數(shù)clearimport -pcase e: estexportdata
3.8 后續(xù)步驟
將當(dāng)前數(shù)據(jù)遷入后打一個label,并Apply;將VOB或其子目錄Import為Component,而后在Component上執(zhí)行Import Baseline,將剛打的label引入即可。