一种并行开发的配置管理方法

一种并行开发的配置管理方法

对于网络服务型网站的开发,一般会分成很多模块(超过100个)来分别进行开发。
由于模块非常多,一般也只会对模块相关部分进行测试,不会对整个产品进行回归测试,那样工作量太大,不可行。
后续的版本更新一般都是只更新其中部分模块,不会全部更新,所以,不需要对整个产品标识版本,只要对各个模块标识版本。
这是不同于盒装软件开发的地方。
当网站服务有多个bug或功能需更新时,就把这些分成为不同的任务,每个任务会涉及到不同的模块或相同的模块,为了便于跟踪这些任务和模块的关系,把一个任务相关的模块看成为一个项目,就有了如下的项目模块矩阵表:?
一种并行开发的配置管理方法
具体到每个模块开发时,用项目名作为分支名分别进行开发,一个模块涉及多个项目时就建多个分支同时开发。
为了跟踪每个项目的模块开发版本进度,就有了如下项目跟踪表:
p1项目:?
一种并行开发的配置管理方法
p3项目:?
一种并行开发的配置管理方法
一个任务完成可以上线时,需要记录上线版本情况,就有了如下上线跟踪表:?
一种并行开发的配置管理方法
从上表可以看到:
每完成一个项目,上线一次,就插入一列记录变更的版本信息,并标黄以突出显示。
当前产品的最新版本就是由所有模块的最新版本组合起来表示。
一个模板的当前版本号可能比以前上线的版本号小,因为存在先立项,开发时间长,后上线的情况。

为了避免并行开发时丢失已更新的代码,有如下要求:
cvs主干只放最新版本,不用于开发。
每个新项目涉及的模块都要在主干上的最新版本上建分支开发。
每个版本上线后都要合并到主干和其它并行开发的分支(看项目模块矩阵表就知道)上,并标识tag。
具体tag规则就根据需要制定,这里就不详述了。

此方法的特点就是快,但并行开发多时,合并会很多。

转载于:https://my.oschina.net/tadcat/blog/147582