1. 一个项目的配置管理工作谈起,
从配置管理工具的选择、
配置管理流程制定、
配置管理库结构的确定,
以及作为配置管理工作的推动者如何推动这项工作
等方面仔细 描述一下本人的做法。
2. 以一个项目的配置管理为主线,
项目是某省电信的一个项目,该项目的工作量大约是16人年,项目周期约为1年。
大部分(90%以上)的开发工作在前8个月内完成,后期的工作主要由维护人 员进行系统维护和调整。
在8个月的开发时间中,前5个月由开发人员在公司进行开发,根据用户的需求完成设计,确定系统架构并实现整个框架,部分明确的功能 以及公用模块也在这段时间内完成;后3个月的时间部分开发人员在现场,部分开发人员在公司共同完成后期的开发工作。
整个项目采用的开发语言是C++、Java、ASP,涉及的平台包括Solaris和Windows,采用的开发工具包括Visual Studio和Solaris上的CC。此外,整个项目还使用了一些第三方的平台,如IBM的MQ等。
除用户需求之外,公司还对项目组提出了代码复用方面的要求,开发人员在开发过程中必须注意代码的可重用性。
配置管理前期准备工作
在项目正式启动之后,配置管理工作就可以开始了。配置管理工作开始的第一步就是一份配置管理计划。
一般而言,需要在配置管理计划中明确的内容包括:
1、配置管理环境------配置管理软硬件资源;
2、 配置库结构;
3、 人员、角色以及配置管理规范;
4、 基线计划;
5、 配置库备份计划;
在下文中,我们将 围绕这些内容进行详细描述。
配置管理环境----软硬件环境---软件(配置工具)---硬件硬盘(备份)
配置管理环境包括软硬件环境。具体的资源需求应该根据项目实际情况来确定,一般需要考虑的包括:网络环境、配置管理
服务器的处理能力、空间需求,配置管理软件的选择等。配置管理环境的确定需要综合考虑各个方面的因素,包括我们采用的开发工具,开发方式,开发人员对配置
管理工具的熟悉程度等,其中,开发人员对配置管理工具的认可和熟悉程度常常直接决定配置管理能否正常进行,如果选择了需要开发人员花费比较大的精力去熟悉
的配置管理软件,我们就必须花费大量时间来进行培训;同时,配置管理软件和开发工具的集成程度也是一个必须考虑的因素,根据我们的经验,选择一个和开发环 境集成紧密的配置管理工具至少可以减少20%花费在Check In/Check Out和配置管理人员保持配置库完整上的工作量。
根据我们项目的实际情况,我们有如下一些考虑:
根据历史经验,一个类似项目的配置库大小约为3G,考虑到备份等操作对空间的需求,至少应该为配置管理库保留10G以上的空间。为了保证配置管理 库的安全,除了相应的备份计划之外,还可以采用了RAID 0+1的方式为配置数据库提供更好的可用性保证;
考虑到在项目的后期有部分 开发人员会在现场进行开发,因此在网络条件上需要提供对远程访问方式的支持;
配置管理服务器的选择和配置管理软件的选择相关,考虑到目 前公司有一台闲置的PC服务器,最好能充分利用这台服务器;
配置管理软件必须可以以某种方式支持远程访问,而且由于我们的开发平台涉及 Solaris和Windows,配置管理软件要能够支持这两种平台;考虑到开发工具方面,配置管理工具要求能和我们选择的开发工具进行很好的集成;
项目组的开发人员缺乏使用配置管理工具的经验,有将约30%的开发人员使用过VSS配置管理工具,但仅限于最基础的使用,对VSS的Label等功能没 有概念;结合以上的情况,我们首先考虑配置工具的选择。
配置管理工具的选择
从开发人员具有的配置管理工具使用经验和配置管理工具使用的难易度方面来说,VSS是最好的选择,在现有的
基础上只需要对开发人员进行简单培训;考虑到和开发工具的集成,VSS也是一个不错的选择。不过本项目还要求对远程接入方式的支持,以及对Solaris 平台的支持,VSS肯定是不能满足要求的(VSS通过VPN方式应该是可以实现对远程访问的支持,但VSS的完全共享方式实在是不敢在Internet上 使用)。
除VSS外,可以选择的配置管理工具还有CCC Harvest、ClearCase、CVS等,但Harvest和ClearCase使用起来比较复杂,需要一个专门的配置库管理员负责技术支持,还需 要对开发人员进行较多的培训,另外,Harvest和ClearCase价格不菲;CVS在Unix下使用方便,而且是免费的,但其文本方式的操作界面对 于习惯在Windows平台上开发的开发人员来说使用非常不习惯(CVS也有windows下的GUI版本,但经过我们的试用,在操作习惯上和我们目前开 发人员习惯的方式很不相同,较难被接受)。
软硬件环境的选择
确定了配置管理工具后,我们使用公司购置的一台Compaq PC Server作为配置管理的硬件环境,该服务器配置如下:
CPU:1CPU,P4
2.0G
内存:512M DDR
硬盘空间:30G×4
网卡:HP G bit网卡一张
最终确定的方案是安装该服务器安装Windows 2000 Server操作系统,为了保证配置数据的安全性,我们采用RAID 0+1方式,总的可用空间在50G左右;另外为了备份的需要,还为服务器配置了一个CDR刻录机。
软硬件环境的选择
确定了配置管理工具后,我们使用公司购置的一台Compaq PC Server作为配置管理的硬件环境,该服务器配置如下:
CPU:1CPU,P4
2.0G
内存:512M DDR
硬盘空间:30G×4
网卡:HP G bit网卡一张
最终确定的方案是安装该服务器安装Windows 2000 Server操作系统,为了保证配置数据的安全性,我们采用RAID 0+1方式,总的可用空间在50G左右;另外为了备份的需要,还为服务器配置了一个CDR刻录机。
网络环境的选择
公 司已有现成的100M局域网,通过一个交换机和路由器连接至Internet,有一个公网的静态IP;配置管理服务器是内网的一台机器,具有一个内网 IP。为了满足远程访问的需要,我们通过在路由器上设置端口映射,将SOS需要使用的端口映射到配置管理服务器上(缺省情况下,SOS使用8888和 8890两个端口)。
在公司的开发人员通过局域网使用VSS访问和操作配置库,在现场的开发人员通过Internet接入对配置库进行 访问和操作。
配置库维护和备份计划
配置库的维护的备份需要专职的配置库管理员来负责。在整个项目中我们采用的配置库 维护策略是根据Microsoft的Best Practice白皮书建议,包括以下要点:
1.保持配置数据库的大小不超过 5G;Microsoft建议,配置库的大小在3-5G比较合适,太大的数据库会极大影响VSS的效率;减小配置库大小的
2.每周进行 VSS数据库的分析(Analysis),发现问题及时修正;VSS提供了Analysis和Fix工具,由于不合理的Delete等操作,VSS数据库 有可能会出现一些Interrupt Data之类的问题,通过定期的每周的分析工作,可以极大减少数据库出现问题的风险;
3.每日进 行配置库的增量备份,每周进行数据库的完全备份;VSS库的备份可以通过VSS自己的Archive功能或者是操作系统的Backup程序来进行。VSS 的Archive功能对VSS中的文件数据进行压缩并保留VSS的所有状态,但只能对VSS库进行完全备份,不能实现增量备份功能。
Windows2000 Server提供的Backup实用程序可以对文件进行备份,由于VSS库就是以文件形势存在的,因此针对VSS的data目录进行备份也可以完全达到备 份的目的,使用系统备份工具的好处是可以实现增量备份。我们在实际中使用的系统的备份工具,每周五生成的完全备份采用刻录光盘的方式保存,每天的增量备份
数据存放在文件服务器上进行备份。
http://tech.ddvip.com/2009-03/1236143013110314_4.html