一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一包到底的软件编译发布方法、电子设备及存储介质与流程

2022-08-02 23:21:35 来源:中国专利 TAG:


1.本发明涉及软件开发领域,尤其是涉及一种一包到底的软件编译发布方法、电子设备及存储介质。


背景技术:

2.目前传统电商行业软件产品的单次迭代生命周期,大概可以分为三个基本阶段:迭代需求确认、代码研发过程、和产物交付及验证。在面向敏捷开发的交付过程中,三个阶段往往存在着各种各样的痛点,会导致最终产物交付出现各种各样的线上故障,降低软件开发效率。各阶段出现的突出问题总结如下:
3.1、迭代需求变更频繁,导致拆分的开发任务内容和数量会跟随调整,导致产物交付时,遗漏相关功能点。
4.2、研发过程中,产出产物的分支或目录,经常出现代码合并问题,功能代码错合、漏合导致发布至生产环境的代码出现问题。
5.3、代码审核约束缺失,开发人员代码合并未经过审查,代码质量难以保证。
6.4、产物交付验证,由于代码发布在验证环境和生产环境对应的代码源不是同一分支或目录,无法在验证环境规避掉代码差异、或配置差异导致的问题。


技术实现要素:

7.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种可靠性高、能够减少工作量的一包到底的软件编译发布方法、电子设备及存储介质。
8.本发明的目的可以通过以下技术方案来实现:
9.一种一包到底的软件编译发布方法,包括以下步骤:
10.1)获取开发需求,基于涉及应用模块维度,将所述开发需求拆分为多个开发任务,并建立开发任务与应用的对应关系;
11.2)获取各开发任务相对应的开发代码并合并,形成合并代码,基于所述合并代码获得验证环境产物;
12.3)基于所述开发任务与应用的对应关系,循环判断所述验证环境产物是否具备发布条件,直至判断结果为是时,将所述验证环境产物发布至生产环境服务器,并验证。
13.进一步地,所述建立开发任务与应用的对应关系具体为:
14.通过jira系统的自定义字段,在devops发布工具中将应用发布版本信息与jira工作项进行关联,维护开发任务与应用的对应关系。
15.进一步地,所述开发代码基于gitflow分支管理模型合并规范获得。
16.进一步地,所述开发代码的合并通过调用代码库接口实现。
17.进一步地,步骤2)中,获取的所述开发代码为带有审核成功标志的开发代码。
18.进一步地,步骤2)中,基于所述合并代码获得验证环境产物具体为:利用工具对合并代码进行获取、配置处理和编译打包来获取所述验证环境产物。
19.进一步地,步骤3)中,所述验证环境产物经回归测试且测试通过的验证环境产物。
20.进一步地,步骤3)中,所述发布条件具体为:应用所有关联的jira工作项均处于“已完成”或“待发布”状态。
21.本发明还提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如上所述的软件编译发布方法。
22.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机从而执行如上所述的软件编译发布方法。
23.与现有技术相比,本发明具有以下有益效果:
24.1、本发明对开发需求进行拆分,将应用发布版本信息与jira工作项进行关联,维护开发任务与应用的对应关系,避免产物交付时,功能未测试进行异常,后续出现需求变更,变更关联关系即可jira验证关联可调,避免代码的漏发布或错发布异常,提高可靠性。
25.2、本发明的开发方法流程规范,引入gitflow分支管理模型,关键节点如判断产物是否具备上线条件等添加约束,在现有方法薄弱的问题点上,添加额外的约束或者处理操作,将验证代码和产物生成代码源指定为同一个,确保产物的“一包”性、可靠性。
26.3、本发明的代码获取、配置处理和编译打包以及代码合并均由工具进行,有效减少工作量。
27.4、本发明具有审核机制,开发代码带有审核成功标志,有效提升代码质量。
28.5、本发明验证环境无误后,才产出生产产物,可以充分发挥验证环境的上线前作用,可以有效的规避生产环境代码异常。
附图说明
29.图1为本发明的流程示意图。
具体实施方式
30.下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
31.如图1所示,本发明提供一种一包到底的软件编译发布方法,包括以下步骤:
32.1)需求拆分阶段,迭代开始前,规划迭代需求任务,基于涉及应用模块维度,拆分成具体的开发任务或缺陷。
33.2)创建发布版本,关联具体的开发任务或缺陷,获取任务池中的任务信息,并关联版本发布需要关联的任务项。开发期间若需求调整或开发任务调整,同步更新和发布版本的对应关系。
34.3)代码开发,根据标准的分支模型规范,完成代码的开发。在具体实施例中,按照基于gitflow分支管理模型合并规范进行开发。
35.4)验证分支或目录代码合并,添加审查机制,合并至验证目录或分支的代码,需经过审核后方可合并,审核不通过,则需要重新对代码进行优化,以此对开发代码质量进行管控。
36.5)发布工具产物生成,根据提前配置在数据库中的代码库地址获取代码文件,配置处理后,进行验证环境代码的产出,并发布至验证环境,进行回归测试。验证通过,则处理生产配置,产出生产环境产物。验证不通过则需继续对代码进行调整,重新发布验证环境。上述回归测试过程可以充分发挥验证环境的上线前作用,可以有效的规避生产环境代码异常。
37.验证通过后,基于开发任务与应用的对应关系,循环判断验证环境产物是否具备发布条件,直至判断结果为是时,将验证环境产物发布至生产环境服务器,确保产物的一包性、可靠性
38.6)产物生成完成后,即可通过创建发布任务,选择发布版本,将其对应的生产环境产物发布至生产环境。测试及业务人员进行线上验证,验证通过后,则通过代码库api接口将代码合并归档。若验证不通过,则需重新对代码进行调整,重新生成产物并发布。
39.在一具体实施方式,如图1所示,上述方法基于jira系统、devops发布工具和集成开发环境ide的交互实现,开发需求进行拆分后存储于任务池中,通过jira提供的api接口获取任务池中的任务信息,同时通过jira自定义字段,在devops发布工具中将应用发布版本信息与jira工作项进行关联,维护开发任务与应用的对应关系;在ide中进行代码开发和审核;devops获取审核通过的代码,进行配置、编译及验证,验证关联的jira项的状态,若jira状态全部满足了发布条件,即应用所有关联的jira项均处于“已完成”或“待发布”状态,该版本的产物及具备了发布生产的条件,验证不通过则返回确认各任务的状态;通过devops发布工具将产物发布至生产环境服务器,进行线上功能验证,验证无误后,将指定分支或目录的代码合并至归档分支或目录,流程结束。
40.上述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
41.在另一实施例中,提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如上所述的软件编译发布方法。
42.以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献