初學配置管理

sissili發表於2007-12-07

最近在做公司的一個專案,在這個專案中,我除了負責測試外,還做CM(配置管理)和度量資料的採集工作,測試也屬於品質保障部,我這個測試人員兼做配置管理,公司真會合理利用資源啊,就是不給加工資 。現在專案處於概要設計階段,需求基線剛剛入庫,我就來談談在需求開發這段時間做配置管理員的感受吧。

做過配置管理的人都知道,這個工作說難也難,說簡單也簡單。對剛剛涉足此領域的新人來說,如果沒有CMMI配套的文件模板,真是不敢想象。我們雖然有一部分文件模板,但是很不完善,也沒有成功的案例可以參考,痛苦的經歷啊。

以前沒有做過配置管理,VSS和CVS等常用的配置管理工具也不會用,現學現賣吧,文件管理我們選擇的是VSS,按照專案組的意思首先建好了庫,主要有:專案基線庫,個人開發庫,工程受控庫和過程受控庫。庫的搭建過程就不說了,相信大家都會的。

下面就是新增使用者和分配許可權,照著配置庫系統角色許可權表一路分配下來。許可權大致是:基線庫:只有配置管理員,也就是我有所有許可權,其他人只讀;

個人開發庫:PM和CM有所有的許可權,其他人對自己的資料夾有除了刪除外的所有的操作,開發人員之間的可以互相操作他們的資料夾裡面的東西,除了不能刪除外,PPQA和測試人員只能讀別人的檔案。

工程受控庫:PM和CM擁有所有的許可權,開發人員和PPQA只讀許可權,測試人員對測試部分的受控庫有刪除外的所有許可權,對其他檔案只讀許可權。

過程受控庫:PM有所有的許可權,CM對部分資料夾有所有的許可權,對其他部分有刪除外的所有許可權,還有的只有只讀許可權,開發人員、 測試人員和PPQA對部分檔案有刪除外的其他許可權,對另外的檔案只有只讀許可權。

看著那個角色許可權表,我才寫出來的,呵呵 ,是不是很亂啊,可能是我的敘述不夠清晰吧。先不管它。

接下來就是沒有目的的管理,因為沒有寫配置管理計劃,只是別人告訴做什麼就做什麼,每週要做的就是寫配置管理週報和配置狀態報告,還有就是備份資料,就這樣過了快一個月的時間,此間也參加了幾次培訓和專案小組的會議,才知道配置管理原來不是想象的那麼簡單,還要監督很多東西,不是簡單的統計和備份就完事了。

現在我發現了一些問題:文件提交的很亂,有時候統計時,發現文件被刪除了,只知道刪除了幾個,不知道刪除了哪幾個,還有就是受控庫裡誰都往上提交,而且都可以Check out 修改,一個文件N多人改過,顯然受控庫就沒有受控的意義了。我把這個問題在小組會議上反應了,經過討論,許可權重新劃分。

新的授權如下:

  • 受控庫:許可權不變,CM擁有所有的許可權,其他人只讀。
  • 個人開發庫:個人操作個人的資料夾,對其他人的只讀。PM和CM可以操作所有人的資料夾。
  • 工程產品受控庫:CM有所有的許可權。其他人只讀。
  • 過程產品受控庫:CM有所有的許可權。其他人只讀。

這樣是不是清晰多了,受控庫也起到了控制的作用,我不知道這樣算不算合理,但至少比以前的管理起來方便了,所有的要提交到受控庫的文件由我一個人放入,統計起來也方便多了,按基線或變更提交,這樣備份也有規律了,繼續改進中......

現在我要做的工作也漸漸明確了,填寫配置管理計劃,這本來是在專案需求開始就要寫好的,現在快速的補回來,配置項狀態表:這個裡面註明文件命名格式、過程域以及存放位置和需要提交時間,供專案開發階段參照。以前備份都是自己決定,也沒有備份記錄和統計記錄,現在需要填寫日常備份申請表了。

工作明確後,什麼事都覺得順手了,以前由於許可權混亂,文件提交的很亂,為了安全起見,不得不每天備份,增加了不少工作量,而且公司的備份伺服器還沒有安排好,要放到我自己的機子上,專案產出了很多的文件,資料量也越來越大,每天備份資料量實在太大了(我是採用的完全備份,VSS裡的好像沒有提供增量備份),不敢想象。現在好了,由於現在基線庫和受控庫都是我一個往裡放,所以可以每週備份一次,也不怕丟失資料了,專案個人開發庫,讓他們自己去管理吧,我只要按照我的配置管理計劃,到時候向他們要資料就可以了,是不是省事多了。

說到備份,我開始是用複製檔案的方式,完全複製到本地,這樣的好處是簡單易操作,恢復的時候直接把備份拷回伺服器,覆蓋原來的資料即可,但是有資料量大的缺點。現在採用的是生成.ssa的備份檔案,這樣能節省很多空間。如果你也是生成.ssa格式的備份方法,恢復是要注意:

1.若原來作的是archive all the date的備份,並且沒有將原project刪除。
則:"永久刪除"原來的project再作恢復。

2.若原來作的 archive this version and older且你確認要回復到原來的版本
則:"永久刪除"原來的project再作恢復。(此時如果projects中有與其它projects共享的文件,最新的版本不被覆蓋)

注:
1.第2種方法備份方法(archive this version and older)不推薦,除非你想省硬碟空間,那麼請在備份後就將原來的版本刪除這個選項打上,
以免恢復時麻煩。
2."永久刪除"一個project可以在vss explore中進行,也可以在vss administrator中進行。

其實,CM說白了還是進行版本管控,至於怎麼管控,個人的方法會不同,但是目的都是一樣。一般公司可能會用兩天伺服器,一臺做專案人員開發庫,另一臺做受控庫和基線庫。採用這種方法,就要求配置管理員每次從專案開發庫取出來資料,自己的工作臺起到中介作用,這種情況下,就可以在自己工作臺上建立和庫一樣的目錄,可以直接Get from 專案人員開發庫和受控庫到本地,以後需要更新的內容直接Check out到本地然後在Check in
進受控庫。我們是受控庫,基線庫和專案人員開發庫在一臺伺服器上,但是操作類似。我認為有條件還是把受控庫和專案人員開發庫分開,出於安全考慮,放兩臺伺服器上更好管理,這樣許可權管理變的更簡單。

看到一篇資料上介紹如何建立一個相對"安全"的VSS資料保護體系,自己整理了一下,供大家參考。

1.設一個安全資料夾與資料庫目錄平行(比如庫在d:\doc\vss\aaa,則該目錄設定為d:\doc\vss\lock),將此目錄設為隱藏,普通組員的許可權設為可讀

寫但不能列目錄。不能通過瀏覽器直接訪問該目錄,以防誤刪除。

2.VSS庫所在的目錄共享不變,但只保留srcsafe.ini檔案,其它的一切移入上述的安全資料夾中。(建立d:\doc\vss\lock\aaa,容納原aaa中檔案及子資料夾)

3.在檔案srcsafe.ini中,將路徑和檔案指向實際的內容(加相對路徑,比如原來是Data_Path = data, 現在改為..\lock\aaa\data,其它類推)。

srcsafe.ini改好後作一個備份,用以損壞後恢復。

4.在上述安全目錄中加入一隨機取檔名如(asdhfn3.7d),對該檔案的讀取和寫入進行系統的監控(觀察是否有非法訪問)

5.這個安全體系並沒有排除硬體的故障以及他人用administrator的許可權進行破壞的情況,所以定期備份還是需要的。

歸納一下,現在已經完成和正在完成的文件有:

    1. 配置狀態報告
    2. 日常備份申請
    3. 配置管理計劃
    4. 配置管理週報
    5. 配置庫系統
    6. 配置項狀態表

有了這些表的規範,我相信後面的配置管理應該會更明確了。

現在需求階段的基線已經發布,並通過了評審,進入概要設計和詳細設計階段,在專案中成長吧,進步是看的見的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12231076/viewspace-193/,如需轉載,請註明出處,否則將追究法律責任。