参考模版,仅供参考
目的
为规范软件项目版本管理的对象、存储目录、分支、权限、维护等内容,使软件项目版本管理流程化并规范化,确保在系统开发和实施过程中项目的完整性和一致性,制定本制度。范围
本制度适用于本组织所有软件开发项目。职责
3.1 研发部
指定版本配置库管理员;
负责配置库的日常维护和管理;
监督开发及测试人员及时提交版本管理对象(即配置项);
所有涉及接触源代码的各部门各岗位。相关文件
《访问控制策略》
《软件开发安全策略》内容
5.1 源代码管理规定
所有员工在公司工作期间所开发软件产品(及项目)的源代码的所有以及权版权归公司所有。
严禁公司员工私自将源代码用做公司工作以外的用途。
严禁公司员工私自将源代码复制散发给他人(包括公司内与其工作无关的人员)。
公司员工要做好源代码保护工作,避免代码泄露。
凡违反以上规定,导致造成公司损失的,公司将依法追究相关人员责任并要求赔偿公司损失。
5.2 管理原则
每个项目在配置库中须拥有唯一的项目名称;
项目组成员仅能在版本库中访问所属项目的对象;
须定义标准的版本和文件命名规范和要求,保障管理一致性。
5.3 分支管理
须使用分支来协同不同职能小组对同一个配置库的使用;
分支至少包括主版本(trunk)、分支版本(branches)和发布版本(tags):
主版本:是所有分支版本的基准版本,主版本的开发分支
分支版本:主版本的分支版本,供开发部门开发使用;
发布版本:测试和发布专用分支,该分支代码不允许任何形式的修改,每个经过测试后的不同版本的代码做快照放到此分支文件夹下。
5.4 权限管理
须对配置库的访问权限进行管理,确保软件系统的完整性和安全性,至少满足以下权限管理要求:
开发工程师:仅拥有自己所属项目的add file、delete file、check out、checkin权限,无目录创建和删除权限;
测试工程师:拥有每个项目的测试分支的add file、delete file、check out、checkin权限,无目录创建和删除权限,对于其他分支只有只读权限;
配置库管理员:拥有全部权限,但增删项目和增删目录需要有项目负责人批准;
其他人员:若需要配置库访问权限,需经技术总监或经技术总监授权的项目经理批准,由配置库管理员分配权限。
5.5 版本管理
须对软件系统的版本进行管理,确保版本的准确性和可追溯性;
软件工程各阶段产生的各种文档和代码,应及时并统一上载到配置库由配置库管理员统一管理;
对于要修改的配置项,应从配置库中检出(checkout)后修改,修改完毕后及时检入(check in),并填写修改的原因和内容;
配置项的历史版本应保存在配置库中;
从开发分支到测试分支的迁移,由开发工程师操作;
对于每个项目从测试分支到发布分支的迁移,配置库管理员要建立分支迁移日志,并详细记录。
5.6 版本升级
软件系统迁移到发布分支后,生成新的版本;
每个系统新的版本不仅以分支形式存在于配置库中,并且要以独立压缩包形式备份。
5.7 版本提交
仅提交自己修改的部分,避免整个项目提交或其他不相关的代码;
版本提交遵循“随时更新,随时提交”的原则;
通过单元测试之后再进行代码提交之前;
更新冲突须协商解决再进行合并,解决合并冲突之后,须进行测试以保障程序不会受到影响;
对提交更新的信息采用明晰的标注。
- 记录
无