一种多版本并发场景下的数据管理方法及系统技术方案

技术编号:34149272 阅读:26 留言:0更新日期:2022-07-14 19:44
本发明专利技术公开了一种多版本并发场景下的数据管理方法及系统,包括:主分支:用于需求开发从主分支中切出代码;开发分支:测试阶段将功能分支合并到开发分支中,通过开发分支创建测试标签,测试人员发布对应的标签进行测试;功能分支:用于处理开发阶段或测试阶段修复bug;本方法具有解决多版本并发、测试阶段重叠、发布的问题;解决正式版发布的时候未经测试的代码被发布上线的问题;解决测试阶段出现异常需要紧急回滚的情况的兼容问题;达到了多版本并行,单一版本发布后,及时合并做联合测试的特点;还具有减少代码管理的复杂度,方便代码的打包和发布,简单易操作,解决多版本并行开发的测试问题,保证发布代码的正确性的特点。保证发布代码的正确性的特点。保证发布代码的正确性的特点。

A data management method and system in multi version concurrent scenario

【技术实现步骤摘要】
一种多版本并发场景下的数据管理方法及系统


[0001]本专利技术涉及代码管理领域,特别涉及一种多版本并发场景下的数据管理方法及系统。

技术介绍

[0002]基于Git的代码数据管理流程最常用的是Git Flow和Github Flow,两种类型的管理流程适用于不同的场景;其中GitHub Flow 相对来说比较简单,适用串行开发,同时要求开发者的代码质量比较高,而且需要一个专家团队进行整个代码的评审和合并,更适合开源社区,不适合普通的项目开发;Git Flow 更适合项目开发代码的管理,考虑到了线上bug的解决方案,多版本并行开发的问题,但是对于复杂发布环境下的代码开发会存在一些问题。
[0003]因此,急需提供一种多版本并发场景下的数据管理方法以解决以下问题:(1)当两个分支的测试阶段基本重合的场景下,特性分支A先合并到开发分支,同时生成发布分支,特性分支B合并到开发分支之后,开发分支会有分支B和分支A两个分支的代码。这个时候生成发布分支就会造成分支B带上了分支A的数据。这个时候如果B是先上线的,那么可能造成A分支的bug也会跟着上线;(2)测试阶段修复bug都是在发布分支上,当修复bug的时候造成了出现严重性的引入bug,影响测试流程的时候如何马上恢复上一个版本;(3)多版本并行开发的时候,会出现代码的冲突,这个流程是发布正式版的时候,统一合并到主分支,这样缺少了多版本联合测试环节,合并代码的时机有些延迟;(4)无法保证最后的代码全部经过测试,会发生漏测试的代码上线的问题。

技术实现思路

[0004]为实现上述目的,专利技术人提供了一种多版本并发场景下的数据管理方法,包括:主分支:用于需求开发从主分支中切出代码;开发分支:测试阶段将功能分支合并到开发分支中,通过开发分支创建测试标签,测试人员发布对应的标签进行测试;功能分支:用于处理开发阶段或测试阶段修复bug。
[0005]作为本专利技术的一种优选方式,从需求开发到发布测试版包括以下步骤:需求确认后,从主分支创建功能分支和开发分支;在开发阶段,功能分支提交代码;测试阶段,打测试版Tag,并判断主分支是否更新,若是,则合并主分支中的代码到功能分支,然后再合并功能分支的代码到开发分支;若否,则合并功能分支的代码到开发分支;然后,从开发分支创建TagN,创建后删除TagN和N

1之外的测试版Tag,并判断是否需要多版本合并,若是,则将多版本合并到一个独立的开发分支后,再发布测试版;若否,则直接
分布测试版。
[0006]作为本专利技术的一种优选方式,Tag的命名以hotfix_开头,加上版本号,再加上_N,其中N为创建的Tag的个数;所述开发分支还用于隔离开发和测试;开发分支的生命周期与产品需求的生命周期相同,产品需求结束,开发分支随之结束。
[0007]作为本专利技术的一种优选方式,还包括测试阶段的回滚,所述测试阶段的回滚包括:测试阶段保留两个测试分支,分别为新分支和新分支的上一次分支,新分支的上一次分支用于紧急情况下的回滚。
[0008]作为本专利技术的一种优选方式,还包括多版本合并发布,所述多版本合并发布包括:当多个版本在一个测试服务器上同时测试时,增设一个独立分支,在打包测试版标签的时候,将全部需要的开发分支合并到该独立分支上,发布测试版的时候发布该独立分支。
[0009]作为本专利技术的一种优选方式,正式版发布包括以下步骤:发布打包后,判断是否为第一次发布;若是第一次发布,则弹出配置检查列表进行配置检查及调整,然后判断是否检查通过,若否则重新配置检查及调整,若是,则判断检查上次发布版本和主分支的版本是否一致,若不一致,则合并版本并重新走测试版,若是,则创建正式版Tag,发布正式版;若非第一次发布,则判断检查上次发布版本和主分支的版本是否一致,若不一致,则合并版本并重新走测试版,若是,则创建正式版Tag,发布正式版。
[0010]作为本专利技术的一种优选方式,在发布正式版之前还包括步骤:从jenkins中获取上次发布的版本和主分支最近一次合并的版本进行对比,若相同说明主分支代码没有问题,若不同则重新走测试版,对上一个版本合并之后进行测试;发布正式版完成之后与合并代码到主分支之间设有时间延迟用于修复错误或进行暂停发布操作,所述发布正式版完成之后与合并代码到主分支是在确认成功上线之后执行。
[0011]为实现上述目的,专利技术人还提供了一种多版本并发场景下的数据管理系统,包括,上述
技术实现思路
任意一项所述的多版本并发场景下的数据管理系统,还包括使用gitlab和jenkins提供的api实现打包流程和钉钉群通知,实现打包流程和钉钉群通知包括以下步骤:可视化打包流程,展示打包阶段;选择打包应用及版本;通过前端发送ajax请求主动推送信息给钉钉通知群。
[0012]作为本专利技术的一种优选方式,所述打包包括正式版打包,所述正式版打包包括版本对比,所述版本对比包括以下步骤:使用jenkins的api获取最新发布的版本与gitlab上最后合并的分支进行对比,若分支相同,则表示最后一次发布的分支已与主分支进行合并,若分支不同,则表示上一次发布的版本没有合并到主分支,则需要做合并操作,然后进行测试之后再做发布。
[0013]作为本专利技术的一种优选方式,还包括将该系统嵌入钉钉中,利用钉钉的api进行权限控制,实现打包操作。
[0014]区别于现有技术,上述技术方案所达到的有益效果有:本方法有效的解决了多版本并发、测试阶段重叠、发布的问题;解决了正式版发布的时候未经测试的代码被发布上线的问题;解决了测试阶段出现异常需要紧急回滚的情况的兼容问题;达到了多版本并行,单一版本发布后,及时合并做联合测试的效果;除此之外,本方法还有效的减少了代码数据管理的复杂度,方便代码数据的打包和发布,简单易操作,解决了多版本并行开发场景下的测试问题,保证发布代码数据的正确性。
附图说明
[0015]图1为具体实施方式所述Git Flow的管理流程图。
[0016]图2为具体实施方式所述Github Flow的管理流程图。
[0017]图3为具体实施方式所述分支管理流程图。
[0018]图4为具体实施方式所述需求开发到发布测试版的流程图。
[0019]图5为具体实施方式所述正式版发布流程图。
[0020]图6为具体实施方式所述测试版打包功能界面图。
[0021]图7为具体实施方式所述正式版打包功能界面图。
[0022]图8为具体实施方式所述钉钉通知消息界面图。
具体实施方式
[0023]为详细说明技术方案的
技术实现思路
、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0024]基于Git的代码数据管理流程最常用的是Git Flow和Github Flow,Git Flow和Github Flow的管理流程如图1和图2所示。其中GitHub Flow 相对来说比较简单,适用串行开发,同时要求开发者的代码质量比较高,而且需要一个专家团队进行整本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多版本并发场景下的数据管理方法,其特征在于,包括:主分支:用于需求开发从主分支中切出代码;开发分支:测试阶段将功能分支合并到开发分支中,通过开发分支创建测试标签,测试人员发布对应的标签进行测试;功能分支:用于处理开发阶段或测试阶段修复bug。2.根据权利要求1所述的多版本并发场景下的数据管理方法,其特征在于,从需求开发到发布测试版包括以下步骤:需求确认后,从主分支创建功能分支和开发分支;在开发阶段,功能分支提交代码;测试阶段,打测试版Tag,并判断主分支是否更新,若是,则合并主分支中的代码到功能分支,然后再合并功能分支的代码到开发分支;若否,则合并功能分支的代码到开发分支;然后,从开发分支创建TagN,创建后删除TagN和N

1之外的测试版Tag,并判断是否需要多版本合并,若是,则将多版本合并到一个独立的开发分支后,再发布测试版;若否,则直接分布测试版。3.根据权利要求2所述的多版本并发场景下的数据管理方法,其特征在于:Tag的命名以hotfix_开头,加上版本号,再加上_N,其中N为创建的Tag的个数;所述开发分支还用于隔离开发和测试;开发分支的生命周期与产品需求的生命周期相同,产品需求结束,开发分支随之结束。4.根据权利要求1所述的多版本并发场景下的数据管理方法,其特征在于,还包括测试阶段的回滚,所述测试阶段的回滚包括:测试阶段保留两个测试分支,分别为新分支和新分支的上一次分支,新分支的上一次分支用于紧急情况下的回滚。5.根据权利要求1所述的多版本并发场景下的数据管理方法,其特征在于,还包括多版本合并发布,所述多版本合并发布包括:当多个版本在一个测试服务器上同时测试时,增设一个独立分支,在打包测试版标签的时候,将全部需要的开发分支合并到该独立分支上,发布测试版的时候发布该独立分支。6.根据权利要求1所述的多版本并发场景下的数据管理方法,其特征在于,正式版发布包括以下步骤:发布打包后,判断是否为...

【专利技术属性】
技术研发人员:汪浩张杰业晓波杨芃
申请(专利权)人:好享家舒适智能家居股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1