本申请涉及计算机,具体涉及一种代码发布方法、装置、电子设备以及存储介质。
背景技术:
1、许多依托于互联网的线上产品(虚拟产品),需要进行不断的更新。更新时,一般是增加新功能或者更新部分功能,从而满足用户的不同需求。每次更新都需要更新代码,测试代码以及发布新代码,在遇到各种线下或者线上的紧急情况的时候,也需要紧急修改代码并重新发布,以免造成公司的损失。在业务比较繁忙的时候,代码发布次数较多,发布内容较多,导致资源需求量上升,给公司带来业务量增长的同时也付出了较高的成本。
2、目前的代码发布方案是基于git lab进行的,一般需要程序员蹲点、定时进行手动上传。例如,新项目要求在凌晨1点上线,那么,程序员则需要在凌晨1点钟准时发布布,但是通过人工手动上传往往无法做到1点0分0秒发布,对于一些时间要求比较精确的项目来说是一个极大的弊端。另外,目前的代码发布方案在发布代码后,需要人工将发布分支的代码合并到主分支,所以,可能会存在忘记合并的情况,进而出现功能代码丢失的情况。可见,目前的代码发布方案的时效性和可靠性不佳。
技术实现思路
1、本申请实施例提供一种代码发布方法、装置、电子设备以及存储介质,可以提高代码发布的时效性和可靠性。
2、本申请实施例提供了一种代码发布方法,包括:
3、检测当前是否存在待发布的目标分支;
4、当检测到当前存在待发布的目标分支,获取所述目标分支对应的发布信息;
5、检测所述目标分支与主分支之间的差异;
6、基于所述发布信息以及所述目标分支与主分支之间的差异,将所述目标分支与主分支进行合并,并基于合并后的分支进行代码发布。
7、可选的,在一些实施例中,基于所述发布信息以及所述目标分支与主分支之间的差异,将所述目标分支与主分支进行合并,包括:
8、检测当前的发布环境是否为预设环境;
9、当检测到当前的发布环境为预设环境时,则根据所述发布信息发布所述目标分支的目标代码;
10、基于所述发布信息以及所述目标分支与主分支之间的差异,则将所述目标代码与所述主分支的代码进行合并。
11、可选的,在一些实施例中,所述基于所述发布信息以及所述目标分支与主分支之间的差异,将所述目标代码与所述主分支的代码进行合并,包括:
12、基于所述发布信息以及所述目标分支与主分支之间的差异,检测所述目标代码与所述主分支的代码之间是否存在代码冲突;
13、当检测到所述目标代码与所述主分支的代码之间不存在代码冲突时,则将所述目标代码与所述主分支的代码进行合并。
14、可选的,在一些实施例中,还包括:
15、当检测到所述目标代码与所述主分支的代码之间存在代码冲突时,则输出代码冲突提示。
16、可选的,在一些实施例中,还包括:
17、检测是否设置有自动合并功能;
18、当检测到设置有自动合并功能时,则基于所述发布信息以及所述目标分支与主分支之间的差异,则将所述目标代码与所述主分支的代码进行合并。
19、可选的,在一些实施例中,还包括:
20、当检测到未设置有自动合并功能时,则输出代码合并提示。
21、可选的,在一些实施例中,所述基于合并后的分支进行代码发布之后,包括:
22、当发布成功时,输出代码发布成功的提示;
23、当发布失败时,输出代码发布失败的提示。
24、相应的,本申请还提供一种代码发布装置,包括:
25、第一检测模块,用于检测当前是否存在待发布的目标分支;
26、获取模块,用于当检测到当前存在待发布的目标分支,获取所述目标分支对应的发布信息;
27、第二检测模块,用于检测所述目标分支与主分支之间的差异;
28、合并模块,用于基于所述发布信息以及所述目标分支与主分支之间的差异,将所述目标分支与主分支进行合并;
29、发布模块,用于基于合并后的分支进行代码发布。
30、相应的,本申请还提供一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时如上任一所述方法的步骤。
31、本申请还提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述方法的步骤。
32、本申请实施例提供一种代码发布方法、装置、电子设备以及存储介质,在检测当前是否存在待发布的目标分支后,当检测到当前存在待发布的目标分支,获取所述目标分支对应的发布信息,接着,检测所述目标分支与主分支之间的差异,最后,基于所述发布信息以及所述目标分支与主分支之间的差异,将所述目标分支与主分支进行合并,并基于合并后的分支进行代码发布。本申请提供的代码发布的方案,当检测到当前存在待发布的目标分支,获取目标分支对应的发布信息,然后,基于发布信息以及目标分支与主分支之间的差异,将目标分支与主分支进行合并,并基于合并后的分支进行代码发布,避免人工发布导致代码发布的时间滞后或者漏发,由此,可以提高代码发布的时效性和可靠性。
1.一种代码发布方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述发布信息以及所述目标分支与主分支之间的差异,将所述目标分支与主分支进行合并,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述发布信息以及所述目标分支与主分支之间的差异,将所述目标代码与所述主分支的代码进行合并,包括:
4.根据权利要求3所述的方法,其特征在于,还包括:
5.根据权利要求2所述的方法,其特征在于,还包括:
6.根据权利要求5所述的方法,其特征在于,还包括:
7.根据权利要求1至6任一项所述的方法,其特征在于,所述基于合并后的分支进行代码发布之后,包括:
8.一种代码发布装置,其特征在于,包括:
9.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1-7任一项所述代码发布方法的步骤。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述代码发布方法的步骤。