基线分支管理
基线所有项目主分支均为master分支,不允许直接提交代码
分支命名以当期迭代名作为关键字,以CRM迭代6为例,开发分支为crm6-dev,测试分支为crm6-alpha
迭代测试完成后,测试分支合并到master分支,进行发布
删除已合并的开发分支与测试分支
线上紧急问题修复,需要从master切出hotfix分支,在hotfix分支上修改,测试通过后merge request合入master发布
hotfix分支合并完成后需要删除
基线版本管理
master分支的pom文件版本,必须以RELEASE结尾,如1.2.1-RELEASE
dev分支的pom文件版本,必须以SNAPSHOT结尾,并增加迭代标识,如1.3.0-crm6-SNAPSHOT
alpha分支的pom文件版本,必须以ALPAH结尾,并增加迭代标识,如1.3.0-crm6-ALPHA
版本号的3个数字,第一位代表系统大版本,在系统有重大更新时+1,如全系统架构升级,第二位代表系统功能迭代版本,正常进行迭代时+1,第三位代表小功能或bug修复版本
迭代开始,需要新建开发分支的时候,从master分支拉取最新的RELEASE版本代码,修改版本号为对应SNAPSHOT
迭代转测,需要新建测试分支的时候,从dev分支拉取SNAPSHOT版本代码,修改版本号为对应ALPHA
测试bug的修复,需要在dev分支修改,如有开发功能和测试并行的情况,可以在alpha分支进行修改
每一轮测试开始时,dev上的代码合并到alpha中,遇到阻塞性问题可在一轮测试内进行合代码操作
版本测试完成后合并代码到master,然后修改版本号为RELEASE
每次发布版本需要打release tag,并填写release log
master分支代码作出变更后,各个迭代中的分支都需要进行合并
定制项目分支管理
每个定制项目单独创建group,从基线项目拉取指定分支的代码,建立远程源,关联对应基线项目,用来合并基线的新代码
定制项目主分支均为master分支,不允许直接提交代码
分支命名以交付阶段为关键字,如一阶段,开发分支为dev1,测试分支为alpha1
项目上进行开发,后续合并到标品的功能,需要单独切分支进行开发和测试,保持独立性方便合并
备注:基线项目为公司基础平台项目行业标准化系统。定制项目为客户以基线项目为基础定制客户所需业务功能的项目