业务应用更新方法及装置与流程

文档序号:36501892发布日期:2023-12-28 05:23阅读:33来源:国知局
业务应用更新方法及装置与流程

本申请实施例涉及持续集成。更具体地讲,涉及一种业务应用更新方法及装置。


背景技术:

1、目前,业务应用部署在内网环境和外网环境的多个机房时,由于内网环境下的机房不具备访问公网的条件,通常将持续集成服务器部署在外网环境的机房。持续集成服务器从项目代码仓库获取到开发人员新提交的源代码,并从依赖包仓库下载源代码对应的依赖包之后,基于源代码和依赖包执行编译构建,生成容器镜像。对该容器镜像执行本地自动化测试用例后,如果验证没有问题,则再将该容器镜像推送到(外网环境)本地机房的容器镜像仓库之后,再通过网闸通道或者虚拟专用网络(virtual private network,vpn)通道等传输方式,将该容器镜像同步到内网环境机房的容器镜像仓库。

2、由于传输方式的限制,跨机房镜像传输的速度过慢,以网闸通道传输方式为例,网闸通道的传输速率小于1mb/s,而容器镜像一般大于800mb,往往需要等待10分钟以上才能完成从外网环境到内网环境的容器镜像同步。在执行容器镜像同步的等待窗口期,同一业务应用在外网机房完成新版本的部署后使用新版本,而在内网机房仍使用旧版本,导致业务应用在内外网机房较长时间版本不一致的问题。


技术实现思路

1、为了解决上述技术问题或者至少部分地解决上述技术问题,本申请实施例提供了一种业务应用更新方法及装置,可以有效缩短业务应用在内外网机房版本不一致的时间。

2、第一方面,本申请实施例提供了一种业务应用更新方法,应用于外网环境部署的外网持续集成服务器,包括:

3、获取业务应用的新版本的目标源代码和目标依赖包;

4、向内网环境部署的内网持续集成服务器发送第一消息,第一消息用于指示该目标源代码和该目标依赖包,以使该内网持续集成服务器基于第一消息指示的该目标源代码和该目标依赖包执行编译构建生成内网容器镜像,以在该内网环境基于该内网容器镜像实现该业务应用的版本更新;

5、基于该目标源代码和该目标依赖包执行编译构建生成外网容器镜像,以在该外网环境基于该外网容器镜像实现该业务应用的版本更新。

6、第二方面,本申请实施例提供了一种业务应用更新方法,应用于内网环境部署的内网持续集成服务器,包括:

7、从外网环境部署的外网持续集成服务器接收第一消息,第一消息用于指示外网环境部署的外网持续集成服务器获取的业务应用的新版本的目标源代码和目标依赖包,该目标源代码和该目标依赖包用于该外网持续集成服务器执行编译构建生成外网容器镜像,以在该外网环境基于该外网容器镜像实现该业务应用的版本更新;

8、基于第一消息指示的该目标源代码和该目标依赖包执行编译构建生成内网容器镜像,以在该内网环境基于该内网容器镜像实现该业务应用的版本更新。

9、第三方面,本申请实施例提供了一种业务应用更新装置,包括:获取模块,发送模块和生成模块;

10、该获取模块,用于获取业务应用的新版本的目标源代码和目标依赖包;

11、该发送模块,用于向内网环境部署的内网持续集成服务器发送第一消息,第一消息用于指示该获取模块获取的该目标源代码和该目标依赖包,以使该内网持续集成服务器基于第一消息指示的该目标源代码和该目标依赖包执行编译构建生成内网容器镜像,以在该内网环境基于该内网容器镜像实现该业务应用的版本更新;

12、该生成模块,用于基于该获取模块获取的该目标源代码和该目标依赖包执行编译构建生成外网容器镜像,以在该外网环境基于该外网容器镜像实现该业务应用的版本更新。

13、第四方面,本申请实施例提供了一种业务应用更新装置,包括:接收模块和生成模块;

14、该接收模块,用于从外网环境部署的外网持续集成服务器接收第一消息,第一消息用于指示外网环境部署的外网持续集成服务器获取的业务应用的新版本的目标源代码和目标依赖包;该目标源代码和该目标依赖包用于该外网持续集成服务器执行编译构建生成外网容器镜像,以在该外网环境基于该外网容器镜像实现该业务应用的版本更新;

15、该生成模块,用于基于该接收模块接收到的第一消息指示的该目标源代码和该目标依赖包执行编译构建生成内网容器镜像,以在该内网环境基于该内网容器镜像实现该业务应用的版本更新。

16、第五方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在该存储器上并可在该处理器上运行的计算机程序,该计算机程序被该处理器执行时实现如第一方面或第二方面所示的业务应用更新方法。

17、第六方面,本申请实施例提供了一种计算机可读存储介质,包括:计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第一方面或第二方面所示的业务应用更新方法。

18、第七方面,本申请实施例提供了一种计算机程序产品,包括:当计算机程序产品在计算机上运行时,使得计算机实现如第一方面或第二方面所示的业务应用更新方法。

19、本申请实施例提供的技术方案与现有技术相比具有如下优点:本申请实施例中,外网环境部署的外网持续集成服务器获取业务应用的新版本的目标源代码和目标依赖包;外网持续集成服务器向内网环境部署的内网持续集成服务器发送第一消息,第一消息用于指示该目标源代码和该目标依赖包;该内网持续集成服务器基于第一消息指示的该目标源代码和该目标依赖包执行编译构建生成内网容器镜像,以在该内网环境基于该内网容器镜像实现该业务应用的版本更新;外网持续集成服务器基于该目标源代码和该目标依赖包执行编译构建生成外网容器镜像,以在该外网环境基于该外网容器镜像实现该业务应用的版本更新。本方案中,在外网环境和内网环境分别部署集成服务器,在外网环境部署的外网持续集成服务器访问公网,从公网获取业务应用的新版本的目标源代码和目标依赖包,然后向内网环境部署的内网持续集成服务器发送用于指示目标源代码和目标依赖包的第一消息,内网持续集成服务器基于第一消息获取目标源代码和目标依赖包,然后内网持续集成服务器和外网持续集成服务器可以分别基于目标源代码和目标依赖包执行编译构建生成容器镜像,进而分别基于各自生成的容器镜像实现业务应用的版本更新。其中,用于指示目标源代码和目标依赖包的第一消息的数据体积远小于容器镜像的体积,因此传输第一消息的时长远小于传输第一消息的时长,而且,内网持续集成服务器和外网持续集成服务器分别执行编译构建生成容器镜像,分别进行业务应用版本的更新,进而缩短了业务应用的版本在内外网机房不一致的时间。



技术特征:

1.一种业务应用更新方法,其特征在于,应用于外网环境部署的外网持续集成服务器,包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述目标源代码和所述目标依赖包执行编译构建生成外网容器镜像之后,所述方法还包括:

3.根据权利要求1或2所述的方法,其特征在于,所述向内网持续集成服务器发送第一消息之前,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述基于所述业务应用的上一版本的源代码与所述目标源代码的差异,生成源代码差分包,包括:

5.根据权利要求3所述的方法,其特征在于,所述基于所述业务应用的上一版本的依赖包与所述目标依赖包的差异,生成依赖包差分包,包括:

6.一种业务应用更新方法,其特征在于,应用于内网环境部署的内网持续集成服务器,包括:

7.根据权利要求6所述的方法,其特征在于,所述基于所述第一消息指示的所述目标源代码和所述目标依赖包执行编译构建生成内网容器镜像之后,所述方法还包括:

8.根据权利要求6或7所述的方法,其特征在于,所述第一消息携带源代码差分包和依赖包差分包,所述源代码差分包用于指示所述业务应用的上一版本的源代码与所述目标源代码的差异,所述依赖包差分包用于指示所述业务应用的上一版本的依赖包与所述目标依赖包的差异;

9.一种业务应用更新装置,其特征在于,包括:获取模块,发送模块和生成模块;

10.一种业务应用更新装置,其特征在于,包括:接收模块和生成模块;


技术总结
本公开涉及一种业务应用更新方法及装置,应用于持续集成技术领域,可以有效缩短业务应用在内外网机房版本不一致的时间。该方法包括:获取业务应用的新版本的目标源代码和目标依赖包;向内网环境部署的内网持续集成服务器发送第一消息,第一消息用于指示该目标源代码和该目标依赖包,以使该内网持续集成服务器基于第一消息指示的该目标源代码和该目标依赖包执行编译构建生成内网容器镜像,以在该内网环境基于该内网容器镜像实现该业务应用的版本更新;基于该目标源代码和该目标依赖包执行编译构建生成外网容器镜像,以在该外网环境基于该外网容器镜像实现该业务应用的版本更新。

技术研发人员:张宏波
受保护的技术使用者:聚好看科技股份有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1