【技术实现步骤摘要】
业务应用更新方法及装置
[0001]本申请实施例涉及持续集成
更具体地讲,涉及一种业务应用更新方法及装置。
技术介绍
[0002]目前,业务应用部署在内网环境和外网环境的多个机房时,由于内网环境下的机房不具备访问公网的条件,通常将持续集成服务器部署在外网环境的机房。持续集成服务器从项目代码仓库获取到开发人员新提交的源代码,并从依赖包仓库下载源代码对应的依赖包之后,基于源代码和依赖包执行编译构建,生成容器镜像。对该容器镜像执行本地自动化测试用例后,如果验证没有问题,则再将该容器镜像推送到(外网环境)本地机房的容器镜像仓库之后,再通过网闸通道或者虚拟专用网络(Virtual Private Network,VPN)通道等传输方式,将该容器镜像同步到内网环境机房的容器镜像仓库。
[0003]由于传输方式的限制,跨机房镜像传输的速度过慢,以网闸通道传输方式为例,网闸通道的传输速率小于1MB/s,而容器镜像一般大于800MB,往往需要等待10分钟以上才能完成从外网环境到内网环境的容器镜像同步。在执行容器镜像同步的等待窗 ...
【技术保护点】
【技术特征摘要】
1.一种业务应用更新方法,其特征在于,应用于外网环境部署的外网持续集成服务器,包括:获取业务应用的新版本的目标源代码和目标依赖包;向内网环境部署的内网持续集成服务器发送第一消息,所述第一消息用于指示所述目标源代码和所述目标依赖包,以使所述内网持续集成服务器基于所述第一消息指示的所述目标源代码和所述目标依赖包执行编译构建生成内网容器镜像,以在所述内网环境基于所述内网容器镜像实现所述业务应用的版本更新;基于所述目标源代码和所述目标依赖包执行编译构建生成外网容器镜像,以在所述外网环境基于所述外网容器镜像实现所述业务应用的版本更新。2.根据权利要求1所述的方法,其特征在于,所述基于所述目标源代码和所述目标依赖包执行编译构建生成外网容器镜像之后,所述方法还包括:基于所述外网容器镜像执行自动化测试用例;在所述自动化测试用例执行成功的情况下,向所述内网持续集成服务器发送第二消息,所述第二消息用于所述内网持续集成服务器将所述内网容器镜像推送至所述内网环境部署的容器镜像仓库,以在所述内网环境实现所述业务应用的版本更新;将所述外网容器镜像推送至所述外网环境部署的容器镜像仓库,以在所述外网环境实现所述业务应用的版本更新。3.根据权利要求1或2所述的方法,其特征在于,所述向内网持续集成服务器发送第一消息之前,所述方法还包括:基于所述业务应用的上一版本的源代码与所述目标源代码的差异,生成源代码差分包;基于所述业务应用的上一版本的依赖包与所述目标依赖包的差异,生成依赖包差分包;所述第一消息携带所述源代码差分包和所述依赖包差分包,所述源代码差分包用于所述内网持续集成服务器根据所述源代码差分包以及本地缓存的所述上一版本的源代码生成所述目标源代码,所述依赖包差分包用于所述内网持续集成服务器根据所述依赖包差分包以及本地缓存的所述上一版本的依赖包生成所述目标依赖包。4.根据权利要求3所述的方法,其特征在于,所述基于所述业务应用的上一版本的源代码与所述目标源代码的差异,生成源代码差分包,包括:在所述上一版本的源代码与所述目标源代码相比,存在至少一个需要删除的代码文件的情况下,确定所述源代码差分包包括至少一个代码文件标识,每个代码文件标识用于指示一个需要删除的代码文件;在所述上一版本的源代码与所述目标源代码相比,存在至少一个需要更新的代码文件的情况下,确定所述源代码差分包包括所述至少一个需要更新的代码文件对应的各个更新后的代码文件;在所述上一版本的源代码与所述目标源代码相比,存在至少一个需要新增的代码文件的情况下,确定所述源代码差分包包括所述至少一个需要新增的代码文件。5.根据权利要求3所述的方法,其特征在于,所述基于所述业务应用的上一版本的依赖包与所述目标依赖包的差异,生成依赖包差分包,包括:
在所述上一版本的依赖包与所述目标依赖包相比,存在至少一个需要删除的依赖文件的情况下,确定所述依赖包差分包包括至少一个依赖文件标识,每个依赖文件标识用于指示一个需要删除的依赖文件;在所述上一版本的依赖包与所述目标依赖包相比,存在至少一个需要更新的依赖文件的情况下,确定所述依赖包差分包包括所述至少一个需要更新的依赖文件对应的各个更新后的依赖文件;在所述上一版本的依赖包与所述目标依赖包相比,存在至少一个需要新增的依赖文件的情况下,确定所述依赖包差分包包括所述至少一个需要新增...
【专利技术属性】
技术研发人员:张宏波,
申请(专利权)人:聚好看科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。