一种软件开发方法、装置、电子设备及存储介质制造方法及图纸

技术编号:37112300 阅读:30 留言:0更新日期:2023-04-01 05:09
本发明专利技术实施例公开了一种软件开发方法、装置、电子设备及存储介质,其中,方法包括:响应于目标分支的拉取请求,根据所述目标分支生成临时开发分支;将源分支的代码合并至所述临时开发分支,得到临时合并开发分支;根据所述临时合并开发分支运行目标流水线,以对所述临时合并开发分支进行自动化扫描和部署上线;在确定所述目标流水线运行成功的情况下,将所述源分支的代码合并至所述目标分支。本发明专利技术实施例的技术方案能够将代码自动化部署上线,以满足DevOps提出的理念。DevOps提出的理念。DevOps提出的理念。

【技术实现步骤摘要】
一种软件开发方法、装置、电子设备及存储介质


[0001]本专利技术实施例涉及计算机软件
,尤其涉及一种软件开发方法、装置、电子设备及存储介质。

技术介绍

[0002]近些年来,随着软件发布迭代的频率越来越高,传统的瀑布型(开发



发布)模式已经不能满足快速交付的需求,DevOps(Development和Operations的组合词,过程、方法与系统的统称)应运而生。简单地来说,DevOps就是更好的优化开发、测试和运维的流程,将开发运维一体化,通过高度自动化工具与流程来使得软件构建、测试及发布更加快捷、频繁和可靠。
[0003]在新式软件开发中,处理独立分支已经成为一个普遍存在的开发过程。通过拥有自己的分支,开发人员可以进行需要的任何更改,而不必担心这些更改将如何影响处理自己的分支的其他开发人员。虽然处理分支对于单个开发人员的工作效率很有帮助,但它也带来了新的挑战。在有些情况下,每个开发人员的源分支都需要合并到一个目标分支中。“拉取请求”(Pull Request,PR)作为一种机制,用于表示一个分支的更改已准备好合并到另一个分支中。目前,传统的拉取请求方式是在目标分支上设置允许合并以及允许推送的规则,然后在源分支合并到目标分支时判断是否允许合并。
[0004]专利技术人在实现本专利技术的过程中,发现现有技术存在如下缺陷:现有的拉取请求虽然能够在一定程度上能满足开发人员的开发需求,但无法实现将代码自动化部署上线,很难达到DevOps提出的理念。
>
技术实现思路

[0005]本专利技术实施例提供一种软件开发方法、装置、电子设备及存储介质,能够将代码自动化部署上线,以满足DevOps提出的理念。
[0006]根据本专利技术的一方面,提供了一种软件开发方法,包括:
[0007]响应于目标分支的拉取请求,根据所述目标分支生成临时开发分支;
[0008]将源分支的代码合并至所述临时开发分支,得到临时合并开发分支;
[0009]根据所述临时合并开发分支运行目标流水线,以对所述临时合并开发分支进行自动化扫描和部署上线;
[0010]在确定所述目标流水线运行成功的情况下,将所述源分支的代码合并至所述目标分支。
[0011]根据本专利技术的另一方面,提供了一种软件开发装置,包括:
[0012]临时开发分支生成模块,用于响应于目标分支的拉取请求,根据所述目标分支生成临时开发分支;
[0013]临时合并开发分支生成模块,用于将源分支的代码合并至所述临时开发分支,得到临时合并开发分支;
[0014]目标流水线运行模块,用于根据所述临时合并开发分支运行目标流水线,以对所述临时合并开发分支进行自动化扫描和部署上线;
[0015]源分支合并模块,用于在确定所述目标流水线运行成功的情况下,将所述源分支的代码合并至所述目标分支。
[0016]根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
[0017]至少一个处理器;以及
[0018]与所述至少一个处理器通信连接的存储器;其中,
[0019]所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的软件开发方法。
[0020]根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的软件开发方法。
[0021]本专利技术实施例通过响应于目标分支的拉取请求,根据目标分支生成临时开发分支,并将源分支的代码合并至临时开发分支,得到临时合并开发分支,进一步根据临时合并开发分支运行目标流水线,以对临时合并开发分支进行自动化扫描和部署上线,在确定目标流水线运行成功的情况下,将源分支的代码合并至目标分支,解决现有拉取请求无法将代码自动化部署上线的问题,能够将代码自动化部署上线,以满足DevOps提出的理念。
[0022]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0023]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1是本专利技术实施例一提供的一种软件开发方法的流程图;
[0025]图2是本专利技术实施例一提供的一种软件开发方法的流程示意图;
[0026]图3是本专利技术实施例二提供的一种软件开发装置的示意图;
[0027]图4为本专利技术实施例三提供的一种电子设备的结构示意图。
具体实施方式
[0028]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0029]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用
的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0030]实施例一
[0031]图1是本专利技术实施例一提供的一种软件开发方法的流程图,本实施例可适用于根据目标分支创建的临时开发分支合并源分支的代码,以运行目标流水线,实现自动化扫描和部署上线的情况,该方法可以由软件开发装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在电子设备中,该电子设备可以是终端设备,也可以是服务器设备,本专利技术实施例并不对电子设备的具体设备类型进行限定。相应的,如图1所示,该方法包括如下操作:
[0032]S110、响应于目标分支的拉取请求,根据所述目标分支生成临时开发分支。
[0033]其中,目标分支可以是将接受代码变更的分支,也可以理解为把代码改动拉取进去的分支。临时开发分支可以是基于目标分支所生成的,用于合并源分支的代码以自动跑流水线的分支。
[0034]在本专利技术实施例中,当用户基于DevOps系统平台(后文简称平台)对目标分支创建拉取请求后,平台可以根据目标分支生成临时开发分支。例如,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种软件开发方法,其特征在于,包括:响应于目标分支的拉取请求,根据所述目标分支生成临时开发分支;将源分支的代码合并至所述临时开发分支,得到临时合并开发分支;根据所述临时合并开发分支运行目标流水线,以对所述临时合并开发分支进行自动化扫描和部署上线;在确定所述目标流水线运行成功的情况下,将所述源分支的代码合并至所述目标分支。2.根据权利要求1所述的方法,其特征在于,所述根据所述临时合并开发分支运行目标流水线,包括:通过第一正则匹配表达式从所述临时合并开发分支筛选出目标分支文件;根据所述目标分支文件运行所述目标流水线。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在确定所述目标分支设置人工审核策略的情况下,根据所述人工审核策略确定第一目标审核人;其中,所述第一目标审核人包括必需审核人和可选审核人;将所述拉取请求发送至所述第一目标审核人进行代码检视和审核;在确定所述拉取请求审核通过的审核人数量大于或等于预设审阅人数的情况下,确定所述拉取请求通过人工审核;其中,所述预设审阅人数大于或等于所述必需审核人的数量,且小于或等于所述第一目标审核人的总数量。4.根据权利要求1所述的方法,其特征在于,所述根据所述临时合并开发分支运行目标流水线,包括:通过第二正则表达式对所述目标分支进行正则匹配;在确定所述目标分支通过正则匹配的情况下,根据所述临时合并开发分支运行目标流水线。5.根据权利要求1所述的方法,其特征在于,在所述将所述源分支的代码合并至所述目标分支之前,还包括:通过第三正则表达式统计所述源分支请求合并至所述目标分支的请求合并次数;在确定所述请求合并次数超过设定合并次数的情况下,获取用户输入的请求合并原因文件;将所述请求合并原因文件发送至第二目标审核人进行审核。6.一种软件开发装置,其特征在于,包括:临时开...

【专利技术属性】
技术研发人员:周贵龙张恒李凡
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:

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

1