1. 一個(gè)項(xiàng)目的配置管理工作談起,
從配置管理工具的選擇、
配置管理流程制定、
配置管理庫(kù)結(jié)構(gòu)的確定,
以及作為配置管理工作的推動(dòng)者如何推動(dòng)這項(xiàng)工作
等方面仔細(xì) 描述一下本人的做法。
2. 以一個(gè)項(xiàng)目的配置管理為主線(xiàn),
項(xiàng)目是某省電信的一個(gè)項(xiàng)目,該項(xiàng)目的工作量大約是16人年,項(xiàng)目周期約為1年。
大部分(90%以上)的開(kāi)發(fā)工作在前8個(gè)月內(nèi)完成,后期的工作主要由維護(hù)人 員進(jìn)行系統(tǒng)維護(hù)和調(diào)整。
在8個(gè)月的開(kāi)發(fā)時(shí)間中,前5個(gè)月由開(kāi)發(fā)人員在公司進(jìn)行開(kāi)發(fā),根據(jù)用戶(hù)的需求完成設(shè)計(jì),確定系統(tǒng)架構(gòu)并實(shí)現(xiàn)整個(gè)框架,部分明確的功能 以及公用模塊也在這段時(shí)間內(nèi)完成;后3個(gè)月的時(shí)間部分開(kāi)發(fā)人員在現(xiàn)場(chǎng),部分開(kāi)發(fā)人員在公司共同完成后期的開(kāi)發(fā)工作。
整個(gè)項(xiàng)目采用的開(kāi)發(fā)語(yǔ)言是C++、Java、ASP,涉及的平臺(tái)包括Solaris和Windows,采用的開(kāi)發(fā)工具包括Visual Studio和Solaris上的CC。此外,整個(gè)項(xiàng)目還使用了一些第三方的平臺(tái),如IBM的MQ等。
除用戶(hù)需求之外,公司還對(duì)項(xiàng)目組提出了代碼復(fù)用方面的要求,開(kāi)發(fā)人員在開(kāi)發(fā)過(guò)程中必須注意代碼的可重用性。
配置管理前期準(zhǔn)備工作
在項(xiàng)目正式啟動(dòng)之后,配置管理工作就可以開(kāi)始了。配置管理工作開(kāi)始的第一步就是一份配置管理計(jì)劃。
一般而言,需要在配置管理計(jì)劃中明確的內(nèi)容包括:
1、配置管理環(huán)境------配置管理軟硬件資源;
2、 配置庫(kù)結(jié)構(gòu);
3、 人員、角色以及配置管理規(guī)范;
4、 基線(xiàn)計(jì)劃;
5、 配置庫(kù)備份計(jì)劃;
在下文中,我們將 圍繞這些內(nèi)容進(jìn)行詳細(xì)描述。
配置管理環(huán)境----軟硬件環(huán)境---軟件(配置工具)---硬件硬盤(pán)(備份)
配置管理環(huán)境包括軟硬件環(huán)境。具體的資源需求應(yīng)該根據(jù)項(xiàng)目實(shí)際情況來(lái)確定,一般需要考慮的包括:網(wǎng)絡(luò)環(huán)境、配置管理
服務(wù)器的處理能力、空間需求,配置管理軟件的選擇等。配置管理環(huán)境的確定需要綜合考慮各個(gè)方面的因素,包括我們采用的開(kāi)發(fā)工具,開(kāi)發(fā)方式,開(kāi)發(fā)人員對(duì)配置
管理工具的熟悉程度等,其中,開(kāi)發(fā)人員對(duì)配置管理工具的認(rèn)可和熟悉程度常常直接決定配置管理能否正常進(jìn)行,如果選擇了需要開(kāi)發(fā)人員花費(fèi)比較大的精力去熟悉
的配置管理軟件,我們就必須花費(fèi)大量時(shí)間來(lái)進(jìn)行培訓(xùn);同時(shí),配置管理軟件和開(kāi)發(fā)工具的集成程度也是一個(gè)必須考慮的因素,根據(jù)我們的經(jīng)驗(yàn),選擇一個(gè)和開(kāi)發(fā)環(huán) 境集成緊密的配置管理工具至少可以減少20%花費(fèi)在Check In/Check Out和配置管理人員保持配置庫(kù)完整上的工作量。
根據(jù)我們項(xiàng)目的實(shí)際情況,我們有如下一些考慮:
根據(jù)歷史經(jīng)驗(yàn),一個(gè)類(lèi)似項(xiàng)目的配置庫(kù)大小約為3G,考慮到備份等操作對(duì)空間的需求,至少應(yīng)該為配置管理庫(kù)保留10G以上的空間。為了保證配置管理 庫(kù)的安全,除了相應(yīng)的備份計(jì)劃之外,還可以采用了RAID 0+1的方式為配置數(shù)據(jù)庫(kù)提供更好的可用性保證;
考慮到在項(xiàng)目的后期有部分 開(kāi)發(fā)人員會(huì)在現(xiàn)場(chǎng)進(jìn)行開(kāi)發(fā),因此在網(wǎng)絡(luò)條件上需要提供對(duì)遠(yuǎn)程訪(fǎng)問(wèn)方式的支持;
配置管理服務(wù)器的選擇和配置管理軟件的選擇相關(guān),考慮到目 前公司有一臺(tái)閑置的PC服務(wù)器,最好能充分利用這臺(tái)服務(wù)器;
配置管理軟件必須可以以某種方式支持遠(yuǎn)程訪(fǎng)問(wèn),而且由于我們的開(kāi)發(fā)平臺(tái)涉及 Solaris和Windows,配置管理軟件要能夠支持這兩種平臺(tái);考慮到開(kāi)發(fā)工具方面,配置管理工具要求能和我們選擇的開(kāi)發(fā)工具進(jìn)行很好的集成;
項(xiàng)目組的開(kāi)發(fā)人員缺乏使用配置管理工具的經(jīng)驗(yàn),有將約30%的開(kāi)發(fā)人員使用過(guò)VSS配置管理工具,但僅限于最基礎(chǔ)的使用,對(duì)VSS的Label等功能沒(méi) 有概念;結(jié)合以上的情況,我們首先考慮配置工具的選擇。
配置管理工具的選擇
從開(kāi)發(fā)人員具有的配置管理工具使用經(jīng)驗(yàn)和配置管理工具使用的難易度方面來(lái)說(shuō),VSS是最好的選擇,在現(xiàn)有的
基礎(chǔ)上只需要對(duì)開(kāi)發(fā)人員進(jìn)行簡(jiǎn)單培訓(xùn);考慮到和開(kāi)發(fā)工具的集成,VSS也是一個(gè)不錯(cuò)的選擇。不過(guò)本項(xiàng)目還要求對(duì)遠(yuǎn)程接入方式的支持,以及對(duì)Solaris 平臺(tái)的支持,VSS肯定是不能滿(mǎn)足要求的(VSS通過(guò)VPN方式應(yīng)該是可以實(shí)現(xiàn)對(duì)遠(yuǎn)程訪(fǎng)問(wèn)的支持,但VSS的完全共享方式實(shí)在是不敢在Internet上 使用)。
除VSS外,可以選擇的配置管理工具還有CCC Harvest、ClearCase、CVS等,但Harvest和ClearCase使用起來(lái)比較復(fù)雜,需要一個(gè)專(zhuān)門(mén)的配置庫(kù)管理員負(fù)責(zé)技術(shù)支持,還需 要對(duì)開(kāi)發(fā)人員進(jìn)行較多的培訓(xùn),另外,Harvest和ClearCase價(jià)格不菲;CVS在Unix下使用方便,而且是免費(fèi)的,但其文本方式的操作界面對(duì) 于習(xí)慣在Windows平臺(tái)上開(kāi)發(fā)的開(kāi)發(fā)人員來(lái)說(shuō)使用非常不習(xí)慣(CVS也有windows下的GUI版本,但經(jīng)過(guò)我們的試用,在操作習(xí)慣上和我們目前開(kāi) 發(fā)人員習(xí)慣的方式很不相同,較難被接受)。
軟硬件環(huán)境的選擇
確定了配置管理工具后,我們使用公司購(gòu)置的一臺(tái)Compaq PC Server作為配置管理的硬件環(huán)境,該服務(wù)器配置如下:
CPU:1CPU,P4
2.0G
內(nèi)存:512M DDR
硬盤(pán)空間:30G×4
網(wǎng)卡:HP G bit網(wǎng)卡一張
最終確定的方案是安裝該服務(wù)器安裝Windows 2000 Server操作系統(tǒng),為了保證配置數(shù)據(jù)的安全性,我們采用RAID 0+1方式,總的可用空間在50G左右;另外為了備份的需要,還為服務(wù)器配置了一個(gè)CDR刻錄機(jī)。
軟硬件環(huán)境的選擇
確定了配置管理工具后,我們使用公司購(gòu)置的一臺(tái)Compaq PC Server作為配置管理的硬件環(huán)境,該服務(wù)器配置如下:
CPU:1CPU,P4
2.0G
內(nèi)存:512M DDR
硬盤(pán)空間:30G×4
網(wǎng)卡:HP G bit網(wǎng)卡一張
最終確定的方案是安裝該服務(wù)器安裝Windows 2000 Server操作系統(tǒng),為了保證配置數(shù)據(jù)的安全性,我們采用RAID 0+1方式,總的可用空間在50G左右;另外為了備份的需要,還為服務(wù)器配置了一個(gè)CDR刻錄機(jī)。
網(wǎng)絡(luò)環(huán)境的選擇
公 司已有現(xiàn)成的100M局域網(wǎng),通過(guò)一個(gè)交換機(jī)和路由器連接至Internet,有一個(gè)公網(wǎng)的靜態(tài)IP;配置管理服務(wù)器是內(nèi)網(wǎng)的一臺(tái)機(jī)器,具有一個(gè)內(nèi)網(wǎng) IP。為了滿(mǎn)足遠(yuǎn)程訪(fǎng)問(wèn)的需要,我們通過(guò)在路由器上設(shè)置端口映射,將SOS需要使用的端口映射到配置管理服務(wù)器上(缺省情況下,SOS使用8888和 8890兩個(gè)端口)。
在公司的開(kāi)發(fā)人員通過(guò)局域網(wǎng)使用VSS訪(fǎng)問(wèn)和操作配置庫(kù),在現(xiàn)場(chǎng)的開(kāi)發(fā)人員通過(guò)Internet接入對(duì)配置庫(kù)進(jìn)行 訪(fǎng)問(wèn)和操作。
配置庫(kù)維護(hù)和備份計(jì)劃
配置庫(kù)的維護(hù)的備份需要專(zhuān)職的配置庫(kù)管理員來(lái)負(fù)責(zé)。在整個(gè)項(xiàng)目中我們采用的配置庫(kù) 維護(hù)策略是根據(jù)Microsoft的Best Practice白皮書(shū)建議,包括以下要點(diǎn):
1.保持配置數(shù)據(jù)庫(kù)的大小不超過(guò) 5G;Microsoft建議,配置庫(kù)的大小在3-5G比較合適,太大的數(shù)據(jù)庫(kù)會(huì)極大影響VSS的效率;減小配置庫(kù)大小的
2.每周進(jìn)行 VSS數(shù)據(jù)庫(kù)的分析(Analysis),發(fā)現(xiàn)問(wèn)題及時(shí)修正;VSS提供了Analysis和Fix工具,由于不合理的Delete等操作,VSS數(shù)據(jù)庫(kù) 有可能會(huì)出現(xiàn)一些Interrupt Data之類(lèi)的問(wèn)題,通過(guò)定期的每周的分析工作,可以極大減少數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題的風(fēng)險(xiǎn);
3.每日進(jìn) 行配置庫(kù)的增量備份,每周進(jìn)行數(shù)據(jù)庫(kù)的完全備份;VSS庫(kù)的備份可以通過(guò)VSS自己的Archive功能或者是操作系統(tǒng)的Backup程序來(lái)進(jìn)行。VSS 的Archive功能對(duì)VSS中的文件數(shù)據(jù)進(jìn)行壓縮并保留VSS的所有狀態(tài),但只能對(duì)VSS庫(kù)進(jìn)行完全備份,不能實(shí)現(xiàn)增量備份功能。
Windows2000 Server提供的Backup實(shí)用程序可以對(duì)文件進(jìn)行備份,由于VSS庫(kù)就是以文件形勢(shì)存在的,因此針對(duì)VSS的data目錄進(jìn)行備份也可以完全達(dá)到備 份的目的,使用系統(tǒng)備份工具的好處是可以實(shí)現(xiàn)增量備份。我們?cè)趯?shí)際中使用的系統(tǒng)的備份工具,每周五生成的完全備份采用刻錄光盤(pán)的方式保存,每天的增量備份
數(shù)據(jù)存放在文件服務(wù)器上進(jìn)行備份。
http://tech.ddvip.com/2009-03/1236143013110314_4.html