• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    ClearCase Interoperation實例詳解

    發布: 2007-5-24 19:12 | 作者: 史 新麗 | 來源: IBM | 查看: 110次 | 進入軟件測試論壇討論

    領測軟件測試網 本文力圖通過搭建一個實驗環境來模擬ClearCase真實用戶的開發環境,使得讀者對于在多平臺,跨平臺的異構環境中有效的運行和使用ClearCase有一個初步的了解。

    前言

    本文力圖通過搭建一個實驗環境來模擬ClearCase真實用戶的開發環境,使得讀者對于在多平臺,跨平臺的異構環境中有效的運行和使用ClearCase有一個初步的了解。對于大型的軟件開發項目,由于源代碼龐大,開發人員眾多,為了分散ClearCase運行負載,提高運行效率,一般來說推薦將ClearCase架構中的服務器,例如Vob Server, View Server,Registry Server分布到各個不同的主機/服務器上安裝。用戶可能希望將Vob Server安裝到一個性能較高的Unix/Linux的系統下,將Registry Server安裝到windows機器上,而用戶通常使用windows的ClearCase客戶端來做開發,這樣就涉及到了Windows/Unix(Linux)系統之間的互操作(interop)問題。本文將通過對實驗的描述來一步一步介紹其中涉及到的步驟,問題,注意事項等。





    回頁首


    名詞解釋

    Interoperation: 通過對Rational ClearCase的設置,使得網絡上的Rational ClearCase資源可以在unix(linux)和windows機器上都可以訪問。





    回頁首


    介紹

    這次的實驗有以下四個目的:

    1. 實現分布式安裝和配置ClearCase架構中的Server,并讓他們能夠協同工作。在設計的實驗中,一共設置了4臺機器作為Server,另一臺作為客戶端。

    2. 嘗試從windows端訪問linux上的Vob資源。

    3. 嘗試在這種分布式,跨平臺架構中使用UCM進行開發。

    本文將通過以下各個章節來呈現搭建ClearCase分布式環境的步驟:

    • ClearCase架構設計
    • ClearCase用戶環境準備
    • 在Linux上安裝SAMBA
    • ClearCase安裝順序
    • ClearCase的安裝
    • 用戶信任交驗
    • 在Linux機器上面創建Vob
    • 從windows端導入Linux的vob tag
    • 在windows上面創建和配置Project
    • 在windows的Client端使用ClearCase進行開發
    • Tips




    回頁首


    ClearCase架構設計

    在設計的實驗中,一共設置了4臺機器作為Server,另一臺作為客戶端。通過虛機,搭建以下的環境:

    1. License Server: windows

    2. Registry Server: windows

    Unix/Windows的ClearCase主機可以使用同一registry server。 Registry Server可以是windows或者unix任何一種系統,在這個是實驗中,我們使用的是基于windows的registry server。雖然可以使用統一的registry server,但是必須強調的是在跨平臺的操作中,必須要建立至少兩個region。ClearCase要求Unix的機器和windows的機器必須分別劃分到不同region中。在這個實驗中,創建的兩個region分別是ccwin和ccunix,所有的windows機器都屬于ccwin的region,linux機器屬于ccunix的region?梢栽赗egistry server上使用下面的命令創建region:


    cleartool mkregion -tag region-tag
                

    3. Vob Server: redhat Linux 9.0

    4. View Server: windows

    5. Client host: windows

    為了描述方面,先對每臺機器進行描述,包括機器名,用途, 每臺機器所屬region信息:



    可以通過下面的圖來更好的理解實驗的環境:







    回頁首


    ClearCase用戶環境準備

    首先要配置windows Domain,該服務器主要用來作為windows環境中的用戶管理。所有的ClearCase中windows服務器和Clent端都要是這個Domain中的成員。也就是說ClearCase是可以信任domain中包含的用戶賬號的。

    為了減少賬號管理所帶來的工作量,可以為一些特別的功能創建基于角色的賬號,比如"vobadm"(管理vob的admin), "relmgr"(管理release area的admin), "projmgr"(管理project 的admin)等。 對于每日都需要進行的操作,比如checkout, checkin,就需要創建developer的賬號。使用Developer的賬號在對某一個element的操作的時候,user id和group信息都會記錄下來,但是對于訪問某些ClearCase Object,這些developer的賬號是有限制的,在這種情況下,使用trigger和lock就可以擴展訪問ClearCase Object的保護機制。

    Windows的ClearCase的賬戶管理可以使用windows domain,那么unix上面的ClearCase的賬戶管理呢? 尤其是涉及到了windows和unix并行存在的ClearCase的環境,賬號管理就更加重要。

    當以某一用戶id登陸到安裝了ClearCase的系統主機上以后,這個id就已經決定了某種信任,這種信任是可以控制用戶對于Vob和View中的artifacts的訪問控制權限。簡單地說,就是以什么樣的用戶登陸系統,就具備了已經賦予了該用戶的所有訪問控制權限。在Vob和View中的artifacts已經記錄了用戶和對應的一個或者幾個組的信息,artifact用這些已經儲存好的用戶和組的信息和要對artifacts操作的用戶和組信息進行比較,如果能夠匹配的話,就可以修改這些artifacts,否則就是沒有權限。對于從windows訪問unix上的vob這種互操作的ClearCase環境,最重要關鍵的一點是:Unix和windows系統上要具有相同的用戶和組。Winodws的域用戶名稱必須要和Unix上ClearCase的用戶名稱匹配,Windows的域用戶所屬的primary組(通過CLEARCASE_PRIMARY_GROUP用戶環境變量設定)必須要和Unix上ClearCase用戶的主組匹配。

    在windows上用戶和組的名字是case-insensitive,然而在unix上就是case-sensitive。所以如果是互操作的環境,unix和windows上面的unix和windows上面的用戶和組不但要名字相同,大小寫也要相同。但是ClearCase在互操作的平臺下密碼是可以不同的,也就是說在Windows的域中,用戶賬號和組的賬號具有一套密碼,而在unix上面可以自行定義令一套密碼。

    在windows上運行albd_server服務進程的用戶賬號是一個特殊的windows域用戶的賬號,這個賬號缺省就是clearcase_albd。在互操作的環境中,如果從windows的dynamic view中訪問unix上的vob,就要在unix的用戶定義的時候考慮到:unix上必須存在一個用戶能夠映射這個運行windows上albd_server服務進程的用戶。在windows上運行albd_server的用戶映射到unix上后成為了另一個user,這個user要能夠訪問unix上的Vob。

    Unix在創建這個可以映射window上運行albd_server的用戶賬號的時候,要考慮以下幾點。

    • 這個unix的用戶必須屬于某一個組,這個組是有權限訪問unix上vob或者view的。使用cleartool describe -long命令,可以看到vob或者view的訪問控制權限信息。
    • 這個unix的用戶的primary組的名字必須和windows的域用戶的primary組的名字相同。

    在這次實驗中,用戶的設定如下所示:

    Windows端:
    首先已經建立好了windows的域服務器
    在域服務器上,創建組clearcase和組testers
    在域服務器上創建域用戶clearcase_albd, ccinst, testernt
    其中clearcase_albd屬于clearcase組,ccinst和testernt都屬于testers組

    Linux端:
    創建組testers
    創建用戶ccinst,testernt,使得他們都屬于testers組





    回頁首


    在Linux上安裝SAMBA

    為什么要在linux上安裝samba呢?如果開發的需求只是從windows的snapshot view訪問Linux上VOB數據的話,只需要配置windows上的CCFS (控制面板 -> ClearCase -> Option ),而并不需要在Linux上安裝samba。但是,如果開發需要使用dynamic view訪問Vob的話,就需要這樣做了。

    事實上,ClearCase提供了兩種方式來支持從windows的dynamic view訪問Linux/Unix上的Vob:

    1. NFS客戶端產品,這個軟件是運行在windows的用戶端的并且通過NFS協議來訪問Linux/Unix的文件系統。

    2. SMB服務器端產品,這個軟件是運行在Linux/Unix上的,使用SMB/CIFS協議提供windows訪問Linux/Unix文件系統的功能。

    在我們的例子里面,采用了第二種方式,即在Linux端啟動SMB服務,使得windows能夠訪問到Unix的資源。Samba的安裝和配置可以在安裝ClearCase前進行試驗,因為從windows可以訪問linux/unix的文件資源,是系統級的操作。在這個實驗中,先對samba進行了配置,之后再介紹安裝ClearCase以及使用ClearCase的工具進行用戶信任的校驗,最后才進入windows view訪問linux vob的介紹。

    在Linux redhat 9.0 ES的系統中,已經缺省的安裝了Samba,只要運行redhat-config-samba,就可以方便的調出samba的圖形界面?梢酝ㄟ^smbpasswd -a accout命令添加samba的用戶,執行這條命令的同時,也給這些用戶賦予了密碼。 這些samba用戶是可以訪問Linux/Unix上通過samba共享出來的資源。



    創建共享目錄,可以利用以下的Samba界面,來添加共享目錄

    在Access的Tab頁中,可以指定訪問權限,如下圖所示,共享出來的目錄只允許testernt和ccinst兩個Samba用戶訪問:



    或者可以不使用以上的圖形界面來配置samba,而是只是改動samba的配置文件(smb.conf):


    [global]
                workgroup = testers
                encrypt passwords = yes
                create mask = 0775
                directory mask = 0775
                username map = /usr/local/samba/lib/username.map
                oplocks = no
                kernel oplocks = no
                case sensitive = no
                preserve case = yes
                [vobs] :
                comment = Vob Storage Directory
                browseable = yes
                path = /var/tmp /vobs
                

    配置好之后,再調用redhat-config-services將samba服務啟動。關于Samba的安裝和配置,不同的Linux/Unix系統有所不同,具體情況請參照samba的安裝手冊。

    下一步就是如何驗證samba是否安裝成功,建議在驗證是否可以從Windows的客戶端訪問到Linux/Unix上的Vob和View之前,最好先進行以下兩步驗證。第一步,在linux/Unix系統上使用samba工具,查看目錄是否share出來,使用以下命令:


    smbclient -L 機器名/IP
                



    第二步,驗證從windows端是否可以訪問linux/Unix的文件系統,這與系統是否安裝了ClearCase無關。步驟如下:

    1. 在windows端,試圖訪問linux/Unix的share目錄(如例中為:\\vob_svr\vobs),這個時候通常會要求你輸入密碼(如果你是以samba用戶的名字登陸windows系統并且登陸windows系統的密碼和samba用戶的密碼也是匹配的,該提示密碼輸入的對話框將不會出現)

    2. 在windows端,訪問到share出來的目錄后,在這個目錄里面創建一個文件。

    3. 請驗證你是否可以訪問share的目錄,如果可以訪問,檢查是否可以有寫的權限。如果都可以的話,這一步的驗證就通過了。

    經過上面2步的驗證之后,可以初步判定Samba的安裝和配置沒有什么問題了,這就為從windows view訪問linux/unix vob資源做好了準備。





    回頁首


    ClearCase安裝順序

    推薦使用下面的安裝順序進行安裝:

    1. license server 和registry server .可以合并裝到一臺機器上面

    2. Vob server: vob的物理存貯是在駐留在vob server上面的。推薦將vob server單獨分離出來,便于管理,如果項目比較大,vob個數比較多,最好配置多個vob server以降低負載,提高性能。

    3. View server: view的物理存儲是駐留在view server上面的。 該實驗將view server單獨分離,這樣做的好處也是可以便于view的管理,比如備份,但是如果從性能的角度考慮,推薦使用用戶local的機器作為view server。

    4. Client host: 用戶將在客戶端上運行ClearCase的客戶端程序。就像上面說的一樣,一般來說,用戶會在運行ClearCase的客戶端機器上面創建view 存儲目錄,那么這個客戶端也可以算作view server。





    回頁首


    ClearCase的安裝

    每一臺我們都需要安裝ClearCase。 請參見ClearCase的安裝手冊。 安裝后,在Registry Server上建立兩個region,ccwin和ccunix。Vob Server,View Server,Client端的registry Server都指向這臺Registry Server(控制面板-->ClearCase -->Registry),并且使得windows的機器屬于ccwin的region,Linux的機器屬于ccunix的region。重新啟動ClearCase的服務(控制面板-> ClearCase -->Services Startup)。

    做完以上安裝和設置,請對windows上的每一臺機器運行ClearCase Doctor,來檢查是否配置失敗。在Linux/Unix上,可以使用一些ClearCase的命令來檢驗:比如cleartool lsregion。





    回頁首


    用戶信任校驗

    在"用戶設定"一節中已經說到了以下幾個重要方面:

    1. Winodws的域用戶名稱必須要和Unix上ClearCase的用戶名稱匹配

    2. Windows的域用戶所屬的組必須要和Unix上ClearCase用戶的主組匹配,須設定CLEARCASE_PRIMARY_GROUP的環境變量,使得它的值等于unix上用戶的主組。

    驗證方法分2步:

    1.在windows的機器上,檢查CLEARCASE_PRIMARY_GROUP是否已經設置成功。方法是使用creds的工具,這個工具在C:\Program Files\Rational\ClearCase\etc\utils下,請看下圖,這個輸出說明了域用戶ccinst的主組是testers。



    2.檢驗windows登陸用戶與Linux上的ClearCase用戶和組是否具有一一對應關系,使用相同目錄下的credmap工具來檢驗,如下圖所示,說明 windows上的用戶ccinst和組testers在Linux的vob server(vob_svr1)上存在對應的用戶和組。







    回頁首


    在Linux機器上面創建Vob Storage Location和Vob

    1. 在Linux的機器上,執行下面的命令來創建Vob Storage Location:


    cleartool mkstgloc -vob  vob_unix  /var/tmp/vobs
                

    2. 使用cleartool lsstg來查看是否建立成功。請注意/var/tmp/vobs已經使用samba共享給windows系統了。這樣在Windows端就可以訪問到共享出來的vob storage locate

    3. 創建vob也很簡單,可以使用vob的管理員來創建vob,在實驗中,是使用ccsint執行下面的命令:


    umask 002
                

    (上面的這個操作使得與Vob owner一個組內的用戶也可以有讀寫的權限)


    cleartool mkvob -tag  /var/tmp/vobs/DataVob_unix -nc -stg vob_unix
                

    4. 使用cleartool lsvob來查看是否建立成功。

    5. 由于vob是由統一的vob 的管理員來創建的, 所以vob的owner或者group可能在真正開發之后需要改變,可以使用protectvob的命令來改變vob的owner和group。 cleartool protectvob -chown ccinst -chgrp testers /var/tmp/vobs/DataVob_unix.vbs 由于本實驗中不需要改變vob owner了,所以上面的命令不必要進行。

    6. 通過cleartool describe vob:/var/tmp/vobs/DataVob_unix 的命令查看vob的屬性,同理來創建project vob,唯一不同的是需要添加-ucmproject的參數


    cleartool mkvob -tag  /var/tmp/vobs/ProjectVob_unix  -ucmproject
                -nc -stg vob_unix
                





    回頁首


    在View Server上面創建View Storage Location

    登陸到View Server上,可以通過運行GUI來創建view storage localtion:開始 --〉程序 --〉IBM Rational --〉IBM Rational ClearCase --〉Administration --〉Server storage wizard

    也可以直接用命令行來創建:


    mkstgloc -view  view-svr_ccstg_d_views  \\view-svr\ccstg_d\views
                





    回頁首


    從windows端導入Linux的vob tag

    在做完前面所講的步驟后:

    • 安裝配置samba
    • 安裝配置ClearCase
    • 創建及檢驗用戶信任度
    • 創建 vob storage location,創建vob
    • 創建 view storage location

    現在進入linux/unix和windows之間vob的共享關鍵步驟:在windows的客戶端(DEV-1)使用CC提供的區域同步工具(ClearCase Region Synchronizer),將在Linux所屬的region里面建立的vob tag同步到windows所屬的region里面。

    在沒有做同步之前,在windows所屬的region(ccwin)里面是看不到在linux上所建立的vob tag的。要將linux/unix上的vob或者view共享給windows的機器使用,需要將他們的tag也同步到windows的region中。要想做到同步tag,使用Region Synchronizer:開始--〉程序--〉IBM Rationa --〉IBM Rational ClearCase --〉Administration --〉region synchronizer

    啟動Region Synchronizer的GUI后,windows的用戶可以看到linux/unix所屬region的vob/view tag。如下圖所示,在Import Type中選擇VOB tags的選項,就可以看linux/unix所屬region(本實驗是ccunix)下所有已經創建的vob tag。



    選中其中一個希望導入到windows region的vob tag,點擊Import,出現下面的界面,在這里需要注意的是Global Storage Path。這個path就是samba共享出來的專門存儲vob storage的路徑,如下圖所示。(一個簡單的方法來驗證你是否寫對了路徑:在windows下直接訪問該路徑,如: \\vob_svr1\vobs\DataVob_unix.vbs ,如果能夠訪問,則說明是正確的)



    Import vob tag成功后,可以在windows的用戶端使用cleartool lsvob來查看,該vob tag是否已經列出,如下圖所示:



    也可以通過administration console的圖形界面,來查看vob tag是否已經導入到windows的region中,如下圖所示:



    Import Linux/Unix上view tag到windows的region中,和上面import vob tag的方法是一樣的,本實驗并沒有涉及從windows訪問unix系統上的view(只涉及訪問vob),詳細過程就不在這里贅述。





    回頁首


    在windows端創建和配置Project

    在上面的步驟中,已經把在linux上的兩個vob : DataVob_unix和ProjectVob_unix導入到了windows的region中,下面要建立Project。

    以ccinst (它是ProjectVob_unix的vob owner) 登陸到windows的客戶端(DEV-1),運行clearprojexp,將project explorer調用出來。



    在左邊的面板上,可以看到ucm project 的vob :ProjectVob_unix已經列出來了,點中component,點擊右鍵,點擊Import,Import vob as component的界面出現了,選擇DataVob_unix,將其import。



    在菜單上選擇,File--〉New--〉Project,創建新project的wizard界面出現,如下圖,



    按照wizard的引導,完成project的創建,注意在第4步,需要選擇DataVob_unix作為可更改的component。



    這樣就完成了project的建立。之后將創建integration view以及development stream/view。這個時候可以以testernt的身份,也就是準備一個開發者的身份加入到新建的project里。以testernt登陸到windows的客戶端(DEV-1),運行clearprojexp,點中新建立的project,點擊右鍵,選擇join project,join project的wizard出現了,如下圖所示:



    按照joing project wizard的引導,就完成了integration view以及development stream/view的建立。注意在選擇integration view和development view的storage的步驟中,請選擇在view server上面已經建立好的view storage location,這樣就很好的利用到了view server。當然你也可以選擇將view storage建立在本機上。







    回頁首


    在windows的Client端使用ClearCase進行開發

    vob, project, development view都已經建立好了,就可以在windows的客戶端進行開發了。以testernt登陸到windows的客戶端。啟動cc explorer,在view的tag頁中,選擇project,這樣就出現了和這個project相關的所有view ,如圖所示:



    在development view的空間中, mount上開發所需要的vob tag。在右面的面板上,點中development view tag, 點擊右鍵,選擇mount,在mount vob的界面中選擇開發需要的vob tag:DataVob_unix。Mount上vob之后,會看到lost+found文件夾,這樣就可以對該vob進行操作了。如添加private file,add to source control,checkout,checkin. 下面這張圖是添加一個文件到版本控制中,在此過程中,由于是UCM的模式,所以需要指定activity:







    回頁首


    Tips

    Case-sensitivity:

    可以通過設置來改變case sensitive 的mode。打開控制面板--〉ClearCase--〉MVFS中,這里可以設置mode。



    在開發過程中,windows端推薦使用case insensitive mode。 如果啟動case preserving,可以保留大小寫(如果不啟動,創建的所有文件名,MVFS會自動轉換為小寫的名字)。使用insensitive mode 需要制定一個標準的文件命名規則。如果在一個VOB中,大小寫不同的文件名的含義有所不同,那么就需要使用case sensitive mode。

    配置view的text mode:

    如果VOB是在Unix系統上創建的,在unix系統上文本文件都是以<LF>作為行結尾標志的,如果從windows系統訪問,就需要注意這個tip所說到的問題,反之亦然。

    Linux/Unix系統和windows系統處理文本文件中的換行規則有所不同。文本文件中一行在Unix系統中通常以<LF>(line feed)一個字符為結尾;而在windows系統中是以<CR><LF>(carriage return,line feed)兩個字符序列為結尾。ClearCase為view提供了text mode用來控制如何處理一行的結尾部分。View可以被創建在以下三種text mode下:

    Transparent text mode:不處理任何一行的結尾,也就是什么轉換都不做,也叫做Unix mode

    Insert_cr text mode:當Unix的客戶端使用transparent mode時,在windows端使用該種模式

    Strip_cr text mode:當windows的客戶端使用transparent mode時,在Unix客戶端使用該種模式。

    以一個例子說明tmode的功能,在linux機器上創建了DataVob_unix,在linux上創建一個view,mount上這個vob之后,在vob里面添加一個文本文件(文件里面包括有換行),之后在windows端作region synchronize,在windows的view里面mount上這個里面已經存在文件的linux上的vob,打開文件,會看到如下情況。



    這個問題如何解決呢,只要在windows端創建view的時候把tmode設置成incert_cr就好了,這樣創建的view就可以很好的轉換從unix上傳過來的文本文件了。設置tmode可以在創建view的gui里面選擇,如下圖:



    從unix端的snapshot訪問windows上的vob,如果不將tmode設置為strip_cr的話,打開文本文件也會出現問題,解決的辦法是創建view的時候設置tmode為strip_cr。缺省的tmode是Transparent。

    總結一下關于tmode推薦的做法:

    如果所有的開發者都是用相同的開發平臺(無論是windows還是unix),那么文件行結尾處的處理規則都是相同,創建view時用到的text mode就可以使用transparent text mode。如果大多數開發者都使用Unix平臺進行開發,那么在Unix上的開發者創建view時應該使用transparent text mode,而在windows上的開發者應該使用insert_cr text mode。

    如果大多數開發者都使用windows平臺進行開發,那么在windows上開發者創建view時應該使用transparent text mode,而在Unix上的開發者應該使用strip_cr text mode。

    View storage:

    雖然本文的實驗是配置了一專門的機器作為view server,但是真正開發的時候,從ClearCase的運行性能方面考慮,建議將view storage建立在本地,而不使用這種集中型的view管理。





    回頁首


    總結

    本文通過以下步驟,描述了如何在跨平臺的環境中對一個Rational ClearCase UCM實例進行操作,包括了以下的內容:

    安裝配置samba,安裝配置ClearCase,創建用戶及驗證用戶信賴關系,創建 vob storage location,創建vob,創建 view storage location,創建 project,加入project,在client端開發。在文章的最后還介紹了一些開發中應該注意的問題,如case sensitivity 的設置,text mode的設置。ClearCase跨平臺的操作可能是在實際開發中經常遇到一種情況,希望本文能夠給正在或者即將使用ClearCase進行跨平臺開發的用戶或者學習者提供一個有用的參考。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>