资源描述
并行开发策略标准
文件编写及修改说明:
修改状态
修改日期
修改人
变更位置及修改摘要
备注
0
2009-06-15
侯洪志
根据SDP实施方案,进行创建
1、 目标:
并行多版本策略指产品开发的某一阶段出现基准版(通版)补丁维护、项目专版、SP版同时并行开发的局面时,首先确定统一的分支合并标准,然后再考虑具体SCM工具和协同开发平台如何支持。
2、 适用范围:
涉及部门:
l 研发序列各开发部门
涉及业务:
l 软件产品/项目开发中代码开发的分支与合并场景
3、 基本原则:
根据各产品线开发模式的需要,配置平台在定义相应项目策略时采取的方式不同。基本原则如下:
1)依据各产品线产品版本发布策略,定义通版(双流)、专版(单流)、补丁(单流)、Hotfix(单流)。
2)依据产品(模块)划分开发构件(Component)
3)依据项目集成构造模式划分不同开发分支(Stream)
4)依据开发模式定义项目策略;包括Deliver、make Baseline
5)通版以双流方式,支持开发过程中统一集成。
6)通版发版后的项目将被废弃,同时,创建基于发版基线的补丁项目。
4、分支策略:
基于开发模式的不同,采用的项目分支策略是不一样的,即创建的Stream含义是不同的,集成SDP平台的流程也不一样,对修改任务(Activity)的使用方式也不尽相同。因此,掌握既定的配置管理平台策略定义是非常重要的。下表列出了配置平台项目策略定义的规范,供各产品线参照执行。
项目分类
流(Stream)
的命名规范
流命名含义
集成SDP平台
对应开发流程
活动来源
大版本开发项目(双流)
_Intergration结尾
供产品集成员和项目内交付人员进行集成构造用
是
构造流程
Deliver交付活动
_Dev结尾
供项目内开发人员进行代码开发用
缺陷管理流程;
1、缺陷管理流程;
2、集成阶段前开发经理可创建功能修改任务
补丁开发项目(U8:单流项目;NC:独立在大版项目下的开发单流)
_Patch结尾(NC)
_Patch_Intergration结尾(U8)
供发版后支持问题修改
是
补丁管理流程
U8:自动集成补丁管理平台流程;
NC:开发经理分配
Hotfix项目(U8专有,单流项目)
_Hotfix_Intergration结尾
供Hotfix版本发布前的集成开发
是
缺陷管理流程;
缺陷管理流程
专版项目
_Special_Intergration结尾
供确定的专项补丁开发
否
专版开发流程
自定义
4、 合并策略:
☆ 通版与补丁项目并行开发策略
原则:定期以基线方式从补丁分支Deliver至通版项目的开发分支
☆补丁与HOTFIX项目并行开发策略
原则:1)确定代码分支方式为补丁分支+ HOTFIX分支
2)确定补丁定期以基线方式Deliver至HOTFIX分支
3)HOTFIX发版后需将发版代码以基线方式Delver至补丁分支,并进行编译环境的整理
☆专版与通版、及其他项目并行开发策略
原则:1)专版立项确认表
2)建立专版配置环境,确认专版项目基线版本,一般取自当前最新补丁基线版本。
3)并行开发,原则上不做合并
☆异地开发策略
方案A
场景:
在异地开发时,本地-异地间网络条件较好,或有固定网络带宽,可以保证足够的数据传输速度和性能。
方法:
总部统一管理和运维配置库和平台。通过SCM工具的WEB方式访问总部服务器。适用与固定异地开发中心与总部同步开发。
方案B
场景:
项目在异地和本地串行开发,总部作为主版本库,开发人员在异地,要求定期回传异地版本,但没有和本地版本合并的需求。
方法:
在这种情况下,只需要按时间周期将异地开发的内容发回总部,由总部的产品线代码级配置管理员导入新版本即可,异地开发过程中的版本不受控。过程如下图所示:
方案C
场景:
同一项目存在异地和本地不同开发人员并行进行开发,两地人员构成虚拟项目组的情况,要求定期回传异地版本,同时从异地发回本地的版本需要合并到本地开发的版本空间中。
方法:
可以通过将本地开发的某个稳定基线创建一个异地开发子流,异地开发人员取得该流上的元素版本,带到异地进行开发,异地在开发过程中版本不受控,当开发到一个里程碑时,将开发的结果传回本地,导入到本地开发流上,同时还可以进一步执行deliver操作将结果提交到项目所在的本地开发流上进行合并。
通过这种方式无法记录在异地开发过程中产生的版本,需要将异地开发版本阶段性的传回总部,再由总部的项目配置管理员统一导入到项目的异地开发子流上,进而合并到项目的本地开发主流上。过程如下图所示:
展开阅读全文