加入收藏 | 设为首页 | Life家族 | SCMLife | RMLife | PMLife | SQALife | TESTLife | 企业VIP专区 | 中文化荣誉殿堂

查看完整版本: 企业级开发分支模式

daiqiang 2007-7-3 19:29

企业级开发分支模式

分支的在配置管理工具的重要性是显而易见,包括CC,HAVERST等等重量级工具都有分支的影子,只是叫法不一样而已,一个优秀的配置管理工程师,首先要对分支进行生入的理解,谢谢大家捧场!今后,我会陆续把我们公司的分支模式奉献给大家,一句话,没有最好的,只有最合适的!

[[i] 本帖最后由 daiqiang 于 2007-7-3 19:30 编辑 [/i]]

rocky_rup 2007-7-3 20:15

回复 #1 daiqiang 的帖子

若要配合图,有些简要的文字说明的话,就更好啦!
例如维护分支的缺陷的修复,与test分支的缺陷有什么不同吗?
还请赐教!

W.ff 2007-7-4 10:07

看这张图应该是维护分支的缺陷修复针对release发现的缺陷,而测试产品的缺陷修复针对产品的Alpha测试中用户所发现的缺陷。还请各位指正。

daiqiang 2007-7-4 13:11

对于这个分支模式的解释:
首先,一个团队角色比较齐全的公司,一般会包括软件开发工程师,软件配置工程师,软件测试工程师,架构师,项目经理或者程序经理等等。在开发过程中,经常与代码打交道就是软件开发工程师,软件配置工程师,软件测试工程师这三种角色,软件开发工程师负责代码的变更,配置工程师负责代码的集成/构建/发布等工作,测试工程师负责软件的测试。比较有实力的企业,比如微软,测试工程师不但人多,而且可以直接进行代码级白盒测试。
其次,上面这幅图就是对应这三种主要的角色,开发工程师对应develope分支,在这个分支上对代码进行变更操作,配置工程师对应release分支,这个分支负责merge/集成develope分支上的代码,并根据发布技术,及时进行构建发布工作,test分支就由测试工程师负责,可以在这个分支上加入测试框架等等工作,为什么test分支是灰色的,因为我们公司没有实力组织像微软一样强大的测试队伍,可以不建立test分支。
最后,大家要看下代码meger/归并的方向,test分支的缺陷是在开发过程发现的,release上分支的缺陷是产品发布后的发现的。

[[i] 本帖最后由 daiqiang 于 2007-7-4 13:14 编辑 [/i]]

daiqiang 2007-7-4 20:59

firefly分支实例1

firefly分支实例示意图

W.ff 2007-7-5 09:27

之前就有点疑惑,对于test分支,为什么只有在Alpha版本出来的时候才有测试的过程,后来楼主说test分支中的缺陷是开发过程中发现的缺陷,但是我觉得图中并没有反映出对于build的测试过程,而只看到了Alpha版本的测试。按图上看来,白色的圆圈就是一个内部测试的build,而每一个向release归并的build,并没有在test分支上体现出测试过程就直接归并了,这一点就是我不解的地方。可能是在下愚钝,还请楼主指点。

daiqiang 2007-7-5 10:17

对于不同公司,不同业务项目,分支模式是不一样的,我个人认为,test分支主要有测试工程师负责,a版本是表示软件产品框架基本稳定,并实现了部分需求,这时候,测试工程师介入白盒测试比较合适.同时,上面只是一示意图而已,大家可以借鉴,但不能照搬

[[i] 本帖最后由 daiqiang 于 2007-7-5 10:18 编辑 [/i]]

W.ff 2007-7-5 11:11

呵呵,首先很感谢楼主能够提供这些图,但还希望在对图进行描述的时候说得更详细一点,能够在有的地方对应自己公司的特点.不然大家看起来的话概念就不是那么清楚了.比如针对alpha版本,楼主这边指的是软件产品框架基本稳定,并实现了部分需求,让测试工程师进行白盒测试,但有的公司就是版本发布前让用户进行测试.所以我就对这张图中的内部测试比较疑惑.楼主贴图的目的也是想让大家对分支的理解更深入,有些概念解释清楚之后大家就会理解得更轻松一点.我想rocky_rup应该也是这个意思.
最后还是要感谢楼主如此细致的图,受益了.

kaixintuzi2003 2007-7-30 13:57

真奇怪了,为什么我们公司一直都没用到分支呢。

callmechen 2008-7-7 10:28

[quote]原帖由 [i]kaixintuzi2003[/i] 于 2007-7-30 13:57 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=41304&ptid=5402][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
真奇怪了,为什么我们公司一直都没用到分支呢。 [/quote]

说明单兵作战能力甚高::em35::

awcyy 2008-7-25 04:46

问个弱点的问题

我用的是vsts 分支的合并必须是从什么地方分出来的就合并到什么地方去

像楼主这样 测试分支从开发分支 分出 又可以合并到发布分支,不知道是用什么软件实现的?

daiqiang 2008-8-12 11:43

是用HANSKY的FIRELFY配置管理软件实现的

lilyshui 2008-8-12 16:54

从图片1来看,分支的思路是比较清晰的,但我有个问题始终没有明白,绿色的release线顺次往前走,但是内部测试版本的走向是如何的?
  个人觉得开发人员其实是不管真正的版本的,只要配置管理员通知开发人员代码应该往什么项目、什么目录下提交,开发人员就会从对应目录取代码、修改、上传,不知道我这个理解是否正确?
  但是测试人员的版本从哪里取?是配置人员给,还是从分支自取呢,版本号又是怎么定的,和release 线上的版本怎么区分?
  初学,期盼能得到指点,谢谢!

daiqiang 2008-8-13 16:56

[quote]原帖由 [i]lilyshui[/i] 于 2008-8-12 16:54 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=109504&ptid=5402][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
从图片1来看,分支的思路是比较清晰的,但我有个问题始终没有明白,绿色的release线顺次往前走,但是内部测试版本的走向是如何的[color=red]?(这个靠版本发布计划确定,比a_xxx版本内部测试)
[/color]  个人觉得开发人员其实是不管真正的版本的,只要配置管理员通知开发人员代码应该 ... [/quote]
[color=red]每个分支的性质开发经理和配置管理经理共同制定的。[/color]

lilyshui 2008-8-15 14:09

明白了,谢谢版主啦。
努力学习中

joyce9826 2008-8-17 14:37

讲的很清楚呀,受益了。
如果在某个分支测试并入RELEASE后又发现问题,那怎么办呢

daiqiang 2008-8-18 15:42

建立维护分支,进行补丁管理,合并到开发分支

judyxm 2008-11-14 09:16

::em61::
挺好
页: [1]
查看完整版本: 企业级开发分支模式