持续集成和持续交付方法、装置、电子设备及存储介质制造方法及图纸

技术编号:27684692 阅读:20 留言:0更新日期:2021-03-17 03:45
本申请中一个或多个实施例提供一种持续集成和持续交付方法、装置、电子设备及存储介质,包括:获取开发代码;将开发代码推送至测试环境中以得到测试代码;合并开发代码和测试代码以确定待发布代码;发布根据待发布代码构建的发布包。本申请提供的方法,能够动态生产和销毁开发测试环境,避免了跨部门的协作,提升了持续集成和持续交付的效率。测试代码、待发布代码以及发布包无需人工创建,能够自动配置,提升了创建部署的效率,保证发布包在持续交付中的质量,避免了因人工创建任务或代码时容易造成错误的问题。

【技术实现步骤摘要】
持续集成和持续交付方法、装置、电子设备及存储介质
本申请中一个或多个实施例涉及计算机软件开发
,尤其涉及一种持续集成和持续交付方法、装置、电子设备及存储介质。
技术介绍
现有技术中,软件研发前需要向数据中心申请开发测试环境,在获取环境后,需要对环境进行初始化,在研发测试过程中,手工创建构建和部署的Jenkins的任务,软件研发结束后,手工将程序、脚本、文档等制作成版本发布包,交付至数据中心的部署团队。但是开发测试环境需要跨部门申请,效率低,且需要手工进行创建和初始化,软件开发容易出现错误。
技术实现思路
有鉴于此,本申请中一个或多个实施例的目的在于提出一种持续集成和持续交付方法、装置、电子设备及存储介质,以解决现有技术存在的上述至少一个问题。基于上述目的,本申请中一个或多个实施例提供了一种持续集成和持续交付方法,包括:获取开发代码;将所述开发代码推送至测试环境中以得到测试代码;合并所述开发代码和所述测试代码以确定待发布代码;发布根据所述待发布代码构建的发布包。可选的,所述测试环境,包括:构建应用和测试应用;所述构建应用,用于自动产生构建任务;所述测试应用,用于测试所述测试代码。可选的,所述将所述开发代码推送至测试环境中以得到测试代码,之前还包括:根据所述开发代码构建开发应用程序;判断所述开发应用程序是否能够正常运行;若否,则根据所述开发应用程序获取构建日志,根据所述构建日志更新所述开发代码。可选的,所述将所述开发代码推送至测试环境中以得到测试代码,之后还包括:根据所述构建任务和所述测试代码构建待测试应用;利用所述测试应用测试所述待测试应用。可选的,所述发布根据所述待发布代码构建的发布包,之前还包括:判断所述待测试应用是否被部署在容器云;若是,则根据所述待测试应用构建容器镜像,并将所述容器镜像推送至预先构建的镜像仓库。可选的,所述发布根据所述待发布代码构建的发布包,之后还包括:销毁所述测试环境和所述构建任务。可选的,所述合并所述开发代码和所述测试代码以确定待发布代码,具体包括:自动比较所述开发代码和所述测试代码是否存在差异;若否,则合并所述开发代码和所述测试代码以确定所述待发布代码。基于同一专利技术构思,本申请中一个或多个实施例还提出了一种持续集成和持续交付装置,包括:获取模块,被配置为获取开发代码;推送模块,被配置为将所述开发代码推送至测试环境中以得到测试代码;合并模块,被配置为合并所述开发代码和所述测试代码以确定待发布代码;发布模块,被配置为发布根据所述待发布代码构建的发布包。基于同一专利技术构思,本申请中一个或多个实施例还提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一项所述的持续集成和持续交付方法。基于同一专利技术构思,本申请中一个或多个实施例还提出了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任意一项所述的持续集成和持续交付方法。从上面所述可以看出,本申请中一个或多个实施例提供的一种持续集成和持续交付方法,包括:获取开发代码;将所述开发代码推送至测试环境中以得到测试代码;合并所述开发代码和所述测试代码以确定待发布代码;发布根据所述待发布代码构建的发布包。本申请提供的方法,能够动态生产和销毁开发测试环境,避免了跨部门的协作,提升了持续集成和持续交付的效率。测试代码、待发布代码以及发布包无需人工创建,能够自动配置,提升了创建部署的效率,保证发布包在持续交付中的质量,避免了因人工创建任务或代码时容易造成错误的问题。附图说明为了更清楚地说明本申请中一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请中一个或多个实施例中一种持续集成和持续交付方法的流程图;图2为本申请中一个或多个实施例中一种持续集成和持续交付装置的结构示意图;图3为本申请中一个或多个实施例中一种电子设备的结构示意图。具体实施方式为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。需要说明的是,除非另外定义,本申请中一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本申请中一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。申请人通过研究发现现有技术中,随着公司业务的发展,软件研发的任务逐年增多,而在软件研发过程中需要开发和测试环境,在获取测试环境后,需要对测试环境进行初始化;而在软件研发测试过程中,手工创建构建和部署的Jenkins任务,需要持续集成和持续部署;在软件研发完成后,将程序、脚本、文档等制作成版本发布包,交付给数据中心的部署团队。由于开发测试环境需要跨部门申请,效率较低,而因为在获取环境后,需要手工初始化,容易出现错误,且耗时较多;创建构建部署任务时,有大量参数需要调整,难度较高,随着环境和Jenkins任务的数量增加,会变得更加难以维护。正因如此,本申请提供的持续集成和持续交付方法,在获取开发代码后,自动创建测试环境,并在测试环境中得到测试代码,通过合并开发代码和测试代码从而确定待发布代码,根据待发布代码构建包含数据库脚本、配置脚本、文档以及待发布代码的发布包,根据交付规范,放置到相应目录完成打包,并将其发布,以完成交付。参考图1,因此本申请中一个或多个实施例提供的一种持续集成和持续交付方法,具体包括以下步骤:S101:获取开发代码。本实施例中,需要获取开发人员的编写的待研发的开发代码。例如,开发代码可以为开发人员编写的代码,在开发人员编写代码后直接获取其编写的代码作为开发代码。在一些可选的实施方式中,可以在软件开发人员完成代码的编写后,将代码统一发送至接收服务器,开发代码可以直接通过接收服务器获取。可以理解的是,当开发代码需要在安全等级更高的研发代码数据库中存储时,可以先获取数据库管理员的信息,例如管理员ID,通过管理员信息访问研发代码数本文档来自技高网...

【技术保护点】
1.一种持续集成和持续交付方法,其特征在于,包括:/n获取开发代码;/n将所述开发代码推送至测试环境中以得到测试代码;/n合并所述开发代码和所述测试代码以确定待发布代码;/n发布根据所述待发布代码构建的发布包。/n

【技术特征摘要】
1.一种持续集成和持续交付方法,其特征在于,包括:
获取开发代码;
将所述开发代码推送至测试环境中以得到测试代码;
合并所述开发代码和所述测试代码以确定待发布代码;
发布根据所述待发布代码构建的发布包。


2.根据权利要求1所述的持续集成和持续交付方法,其特征在于,所述测试环境,包括:构建应用和测试应用;所述构建应用,用于自动产生构建任务;所述测试应用,用于测试所述测试代码。


3.根据权利要求2所述的持续集成和持续交付方法,其特征在于,所述将所述开发代码推送至测试环境中以得到测试代码,之前还包括:
根据所述开发代码构建开发应用程序;
判断所述开发应用程序是否能够正常运行;
若否,则根据所述开发应用程序获取构建日志,根据所述构建日志更新所述开发代码。


4.根据权利要求2所述的持续集成和持续交付方法,其特征在于,所述将所述开发代码推送至测试环境中以得到测试代码,之后还包括:
根据所述构建任务和所述测试代码构建待测试应用;
利用所述测试应用测试所述待测试应用。


5.根据权利要求4所述的持续集成和持续交付方法,其特征在于,所述发布根据所述待发布代码构建的发布包,之前还包括:
判断所述待测试应用是否被部署在容器云;
若是,则根据所述待...

【专利技术属性】
技术研发人员:马德浩郭锦如卢焱
申请(专利权)人:中国人寿保险股份有限公司
类型:发明
国别省市:北京;11

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

1