一种应用程序的部署方法及装置制造方法及图纸

技术编号:23399585 阅读:40 留言:0更新日期:2020-02-22 11:54
本申请公开了一种应用程序的部署方法及装置,其中,方法包括:在接收到应用程序的代码发布指令的情况下,拉取应用程序的应用镜像;依据应用镜像中的应用程序代码和应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像;启动新的代码容器;将新的代码容器挂载集群共享数据卷;将完整应用程序代码拷贝到集群共享数据卷中;获取应用程序的服务镜像;启动新的服务容器;将新的服务容器挂载数据卷。采用本申请提供的应用程序的部署方法,可以解决现有技术在应用升级过程中出现的应用版本混乱的问题。

An application deployment method and device

【技术实现步骤摘要】
一种应用程序的部署方法及装置
本申请涉及电子信息领域,尤其涉及一种应用程序的部署方法及装置。
技术介绍
应用程序(包含应用程序代码、应用程序代码运行依赖的服务(代码运行环境),为了描述以下简称应用)部署完成后,可对外提供服务。目前,应用部署的方式包括虚拟机部署,即将单台物理机硬件资源物理隔离成多个虚拟机,然后,在不同虚拟机上分别部署不同的应用。但是,通过虚拟机部署应用的方式,在应用升级过程中会出现应用版本混乱的问题。
技术实现思路
本申请提供了一种应用程序的部署方法及装置,目的在于解决应用升级过程中应用版本混乱的问题。为了实现上述目的,本申请提供了以下技术方案:本申请提供了一种应用程序的部署方法,包括:在接收到应用程序的代码发布指令的情况下,拉取所述应用程序的应用镜像;依据所述应用镜像中的应用程序代码和所述应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像;启动新的代码容器;将所述新的代码容器挂载集群共享数据卷;将所述完整应用程序代码拷贝到所述集群共享数据卷中;获取所述应用程序的服务镜像;启动新的服务容器;将所述新的服务容器挂载数据卷。可选的,在所述依据所述应用镜像中的应用程序代码和所述应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像之前,还包括:对所述应用程序代码进行规范检测和单元测试;在所述应用程序代码不符合预设的规范检测条件的情况下,输出所述预设的规范检测条件中所述应用程序代码不符合的规范检测条件;在所述应用程序代码不符合预设的单元测试条件的情况下,输出所述预设的单元测试条件中所述应用程序代码不符合的单元测试条件;所述依据所述应用镜像中的应用程序代码和所述应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像,具体为:在所述应用镜像中的应用程序代码符合所述预设的规范检测条件和所述预设的单元测试条件的情况下,依据所述应用镜像中的应用程序代码和所述应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像。可选的,所述应用程序为待升级的应用程序;在所述将所述新的服务容器挂载数据卷之后,还包括:对所述新的服务容器进行心跳检测;在所述新的服务容器的心跳检测无异常的情况下,删除所述待升级的应用程序在升级前的代码容器和服务容器。可选的,相同的服务对应同一个虚拟集群地址,所述方法还包括:在接收到服务请求的情况下,依据服务与虚拟集群地址间的预设对应关系,确定所述服务请求指示的虚拟集群地址,得到目标虚拟集群地址;依据所述目标虚拟集群地址指示的各个服务容器的负载,确定用于响应所述服务请求的服务容器。可选的,所述方法还包括:在检测到系统中已部署的任一服务容器发生故障的情况下,删除该服务容器;部署用于提供目标服务的服务容器;所述目标服务为该服务容器提供的服务。本申请还提供了一种应用程序的部署装置,包括:拉取模块,用于在接收到应用程序的代码发布指令的情况下,拉取所述应用程序的应用镜像;生成模块,用于依据所述应用镜像中的应用程序代码和所述应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像;第一启动模块,用于启动新的代码容器;第一挂载模块,用于将所述新的代码容器挂载集群共享数据卷;拷贝模块,用于将所述完整应用程序代码拷贝到所述集群共享数据卷中;获取模块,用于获取所述应用程序的服务镜像;第二启动模块,用于启动新的服务容器;第二挂载模块,用于将所述新的服务容器挂载数据卷。可选的,还包括:测试模块;所述测试模块,用于在所述依据所述应用镜像中的应用程序代码和所述应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像之前,对所述应用程序代码进行规范检测和单元测试;在所述应用程序代码不符合预设的规范检测条件的情况下,输出所述预设的规范检测条件中所述应用程序代码不符合的规范检测条件;在所述应用程序代码不符合预设的单元测试条件的情况下,输出所述预设的单元测试条件中所述应用程序代码不符合的单元测试条件;所述生成模块,用于依据所述应用镜像中的应用程序代码和所述应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像,具体为:所述生成模块,具体用于在所述应用镜像中的应用程序代码符合所述预设的规范检测条件和所述预设的单元测试条件的情况下,依据所述应用镜像中的应用程序代码和所述应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像。可选的,所述应用程序为待升级的应用程序;所述装置还包括:检测模块;所述检测模块,用于对所述新的服务容器进行心跳检测;在所述新的服务容器的心跳检测无异常的情况下,删除所述待升级的应用程序在升级前的代码容器和服务容器。可选的,相同的服务对应同一个虚拟集群地址,所述装置还包括:响应模块,用于在接收到服务请求的情况下,依据服务与虚拟集群地址间的预设对应关系,确定所述服务请求指示的虚拟集群地址,得到目标虚拟集群地址;依据所述目标虚拟集群地址指示的各个服务容器的负载,确定用于响应所述服务请求的服务容器。可选的,所述装置还包括:删除模块,用于在检测到系统中已部署的任一服务容器发生故障的情况下,删除该服务容器;部署用于提供目标服务的服务容器;所述目标服务为该服务容器提供的服务。本申请所述的应用程序的部署方法及装置,在接收到应用程序的代码发布指令的情况下,拉取应用程序的应用镜像,依据应用镜像中的应用程序代码和应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像;启动新的代码容器;将新的代码容器挂载集群共享数据卷;将完整应用程序代码拷贝到所述集群共享数据卷中;获取应用程序的服务镜像;启动新的服务容器;将新的服务容器挂载数据卷。即本申请是采用容器化的方式对应用进行部署,具体的,依据应用的应用镜像进行一系列的操作,完成对应用的部署。因此,在应用需要升级的情况下,工作人员只需对待升级的应用镜像进行修改,得到升级后的应用镜像,使得本申请只存在升级后的应用镜像,不会同时出现升级前的应用镜像和升级后的应用镜像,即不会出现一个应用存在多个应用镜像的情况。因此,采用本申请提供的应用程序的部署方法,可以解决现有技术在应用升级过程中出现的应用版本混乱的问题。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本神奇实施例公开的一种应用程序的部署方法的流程图;图2为本申请实施例公开的一种服务请求的响应方法的流程图;图3为本申请实施例公开的一种应用程序的本文档来自技高网...

【技术保护点】
1.一种应用程序的部署方法,其特征在于,包括:/n在接收到应用程序的代码发布指令的情况下,拉取所述应用程序的应用镜像;/n依据所述应用镜像中的应用程序代码和所述应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像;/n启动新的代码容器;/n将所述新的代码容器挂载集群共享数据卷;/n将所述完整应用程序代码拷贝到所述集群共享数据卷中;/n获取所述应用程序的服务镜像;/n启动新的服务容器;/n将所述新的服务容器挂载数据卷。/n

【技术特征摘要】
1.一种应用程序的部署方法,其特征在于,包括:
在接收到应用程序的代码发布指令的情况下,拉取所述应用程序的应用镜像;
依据所述应用镜像中的应用程序代码和所述应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像;
启动新的代码容器;
将所述新的代码容器挂载集群共享数据卷;
将所述完整应用程序代码拷贝到所述集群共享数据卷中;
获取所述应用程序的服务镜像;
启动新的服务容器;
将所述新的服务容器挂载数据卷。


2.根据权利要求1所述的方法,其特征在于,在所述依据所述应用镜像中的应用程序代码和所述应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像之前,还包括:
对所述应用程序代码进行规范检测和单元测试;
在所述应用程序代码不符合预设的规范检测条件的情况下,输出所述预设的规范检测条件中所述应用程序代码不符合的规范检测条件;
在所述应用程序代码不符合预设的单元测试条件的情况下,输出所述预设的单元测试条件中所述应用程序代码不符合的单元测试条件;
所述依据所述应用镜像中的应用程序代码和所述应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像,具体为:
在所述应用镜像中的应用程序代码符合所述预设的规范检测条件和所述预设的单元测试条件的情况下,依据所述应用镜像中的应用程序代码和所述应用程序代码中调用的类库构成的完整应用程序代码,生成版本镜像。


3.根据权利要求1~2任意一项所述的方法,其特征在于,所述应用程序为待升级的应用程序;
在所述将所述新的服务容器挂载数据卷之后,还包括:
对所述新的服务容器进行心跳检测;
在所述新的服务容器的心跳检测无异常的情况下,删除所述待升级的应用程序在升级前的代码容器和服务容器。


4.根据权利要求3所述的方法,其特征在于,相同的服务对应同一个虚拟集群地址,所述方法还包括:
在接收到服务请求的情况下,依据服务与虚拟集群地址间的预设对应关系,确定所述服务请求指示的虚拟集群地址,得到目标虚拟集群地址;
依据所述目标虚拟集群地址指示的各个服务容器的负载,确定用于响应所述服务请求的服务容器。


5.根据权利要求1所述的方法,其特征在于,还包括:
在检测到系统中已部署的任一服务容器发生故障的情况下,删除该服务容器;
部署用于提供目标服务的服务容器;所述目标服务为该服务容器提供的服务。


6.一种应用程序的部署装置,其特征在于,包括:
拉取模块,用于在接收到应用程序的代码发...

【专利技术属性】
技术研发人员:李昆仑刘建辉王路
申请(专利权)人:郑州悉知信息科技股份有限公司
类型:发明
国别省市:河南;41

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

1