搜索
您的当前位置:首页网通软件版本控制规范

网通软件版本控制规范

来源:小侦探旅游网
部门文件

文件编号 OUR REF 发文日期 DATE

部门发(002)2012

文件版本 VERSION NO. 修订日期 MODIFY

版本1.3

文件类别 CATEGORY 页数 NO.OF PAGES

管理文件 5页

2010-12-29 2012-07-05

拟文人 FROM

刘振兴

审 核 VERIFIED

批 准 APPROVED

收文人 TO

相关工程师

收文部门 TO(DEPT.)

网通事业部

抄 送 CC 附 件

ATTACHMENT

7份

密 级 传阅 阅后存档 保密 保密期限

CIRCULAR FILING CONFIDENTIAL TERM CONFIDENTIAl

网通软件版本控制规范

修订记录

日期 2010-12-29 2011-10-12 2012-04-08 2012-07-05

修订版本 Rev1.0 Rev1.1 Rev1.2 Rev1.3 修改描述 初始发布 修改服务器规则发布 修改文档格式发布 主要增加版本管理部分 作者 何月辉 唐芳 周小玲 刘振兴

网通软件版本控制规范

文件编号:

目 录

1 引言 ................................................................................................................................................ 2 1.1 目的 .......................................................................................................................................... 2 1.2 适用范围 ................................................................................................................................... 2 1.3 术语定义 ................................................................................................................................... 2 1.4 管理工具 ................................................................................................................................... 2 2 资料归档 ......................................................................................................................................... 2 2.1 归档要求 ................................................................................................................................... 2 2.2 数据备份 ................................................................................................................................... 3 3 源代码管理 ..................................................................................................................................... 3 3.1 源代码完整性保障..................................................................................................................... 3 3.2 源代码的授权访问..................................................................................................................... 3 3.3 源代码安全性保障..................................................................................................................... 4 4 版本管理 ......................................................................................................................................... 4 4.1 版本库布局 ............................................................................................................................... 4 4.2 主线版本和分支版本 ................................................................................................................. 4 4.3 版本分支 ................................................................................................................................... 4 4.4 版本合并 ................................................................................................................................... 4 4.5 版本发布 ................................................................................................................................... 4 5 附件 ................................................................................................................................................ 5

第 1 页 共 5 页

网通软件版本控制规范

文件编号:

1 引言

1.1 目的

为规范并制度化公司软件版本管理,保障项目开发资料(源代码、文档)的完整性、安全性,明确源代码控制管理流程,特制定此规范,重点在于控制源代码的完整性、安全性,不被非授权获取、复制和传播。

1.2 适用范围

源代码直接控制管理部门为软件开发部,本规范适用于所有由网通软件开发部管理的源代码,所有涉及接触源代码的各岗位都必须严格执行本管理规范。

1.3 术语定义

SDK:软件开发工具包,是Software Development Kit的简称 SVN: subversion,软件版本管理工具

1.4 管理工具

我们使用SVN来进行版本管理、源代码管理、开发资料归档。

2 资料归档

2.1 归档要求

开发资料应该按下述方法来归档。

每个产品类型对应于版本服务器根目录下的一个目录,大类下面可以分成小类。

产品类型目录的下一级方案名称,比如Cortina、Marvell、TK、Opulan。方案名称的下一级是源代码目录、release目录,所有自研项目的源代码都应该放在相应的产品类型目录下,源代码目录包含toolchain、bootloader、kernel、app、脚本等,release目录应该包含项目软件版本及文档,如下面的表格所列。

根目录 一级目录 产品类型1 二级目录 三级目录 四级目录 子目录 …… …… …… …… 五级目录 …… …… …… …… …… 《软件需求规格书》 《软件可行性分析报告》 《软件设计说明书》 《软件技术规格书》 《装备软件开发指导书》 《软件质量评审报告》 备注 这是一套SDK,可能用于多个项目/产品 源代码目录1 源代码目录2 …… 方案名称1 (如Cortina) 第 2 页 共 5 页

网通软件版本控制规范

(如PON) release 项目1 版本1 文件编号:

software 版本2 项目2 方案名称2 (如Marvell) …… 产品类型2 (如xDSL) …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… 软件版本目录应包含: 《升级文件》 《烧录文件》 《软件自测试报告》 《软件版本发布说明》 …… …… 2.2 数据备份

数据丢失有时造成的损失是无法弥补和估量的,为了保证代码的一致性和完整性,防止数据因意外事件受损、丢失,必须定期执行数据备份。

要求每星期备份一次,由管理员实施,同时记录到备份日志。备份也可依照实际项目情况增加备份密度。

3 源代码管理

3.1 源代码完整性保障

所有软件的源代码文件及相应的开发设计文档均须及时加入到指定的源代码服务器中的指定库中。 我们研发的产品软件运行所依赖的第三方软件、控件和其它支撑库等文件也必须及时加入源代码服务器中指定的库中。

软件开始编写或者调整代码之前,相应的设计文档和代码必须先从相应的SVN库进行svn update操作。软件编码或功能调整结束测试正确无误后,相应的源代码必须进行svn commit操作,在最终进行svn commit操作之前需要再进行svn update操作,查看是否有冲突产生,如果有冲突产生需要和冲突相关人一并解决冲突。

3.2 源代码的授权访问

源代码服务器对于SVN库的访问建立操作系统级的,基于身份和口令的访问授权。

在SVN库中设置用户,并为不同用户分配不同的、适合工作的最小访问权限,要求连接SVN库时必须校验SVN中用户身份、口令以及对应的权限。在SVN库中要求区别对待不同用户的可访问权、可读权、可写权。

以下是对各个角色的权限定义。

管理员:对所有项目都有创建项目,新增、删除、修改、下载的所有项目和文件权限。 项目管理员:对所负责的项目有创建项目和新增、删除、修改、下载本项目文件权限。

第 3 页 共 5 页

网通软件版本控制规范

文件编号:

项目成员:对所参与的项目有新增、删除、修改、下载本项目文件权限。

3.3 源代码安全性保障

曾经涉及、触及源代码的计算机在转作它用,或者离开研发部门之前,必须由网络管理人员全面清除计算机硬盘中存储的源代码。如果不能确定,必须对计算机中所有硬盘进行全面格式化后方可以转做它用或离开研发部门。

4 版本管理

此处描述的版本管理对于一个完整的SDK(比如BRCM CPE SDK)或者单独的模块(比如VOIP模块)都是适用的。

4.1 版本库布局

项目的源代码版本库布局一般是这样的,trunk目录保存开发的主线,branches目录存放分支拷贝,tags目录存放标签拷贝。

4.2 主线版本和分支版本

满足产品规格要求、代码成熟的SDK可以作为主线版本,分支版本是主线版本的拷贝,由于客户特殊定制要求,某些部分与主线版本不同且无法共存于一条线。

标签可以是主线版本或者本地拷贝的一个快照,标签一般不修改。

4.3 版本分支

一套SDK往往可以应用于多个产品上,不同的产品的规格要求是不同的,因此我们需要在主线上 分支。

分支存放在branches目录下,一个分支代表一个产品。发布产品软件时,《软件版本发布说明》中填写的源代码的位置就是指向这里。

版本分支由软件负责人或者项目负责人执行。

4.4 版本合并

版本合并应该在以下两种情况下执行:

1,在一条开发线(主线或者分支)上解决了bug,并且这个bug也存在于其它开发线,应将补丁合 并到其它开发线。

2,在一条开发线(主线或者分支)上增加了特性,并且其它开发线也需要这个特性,应将补丁合 并到其它开发线。

4.5 版本发布

发布版本时应重新从SVN库checkout代码出来编译,以避免本地修改没有提交到SVN库、影响后续 版本发布的情况。

版本发布时应提供《软件版本发布说明》和《软件自测试报告》,在《软件版本发布说明》中

第 4 页 共 5 页

网通软件版本控制规范

文件编号:

指明源代码在SVN库中的路径及修订版本号。

5 附件

《软件需求规格书》 《软件可行性分析报告》 《软件开发计划》 《软件设计说明书》 《软件自测试报告》 ZP8032E_v1.0.2a_ZL2 转测试报告.doc 《软件版本发布说明》 ZP8032E_v1.0.2a_ZL2 软件版本发布说明. 《软件生产文件发布表》 《装备软件开发指导书》 《软件技术规格书》 《软件质量评审报告》 《软件开发子流程图》 第 5 页 共 5 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Top