本申请公开了一种容器应用自动部署方法、设备、装置、设备及介质,涉及容器技术领域,该方法包括:利用打包工具将发送至代码仓库的代码进行编译打包以得到容器镜像,并将容器镜像发送至第一环境的镜像仓库;代码包括应用代码以及位于部署文件目录中的主执行脚本和符合部署需求数量的部署描述文件;利用基于部署触发工具确定的镜像同步触发逻辑对第二环境的镜像仓库与第一环境的镜像仓库进行镜像同步操作,以便于第二环境的镜像仓库获取述容器镜像;利用部署执行工具执行第二环境获取到的容器镜像中包含的所述主执行脚本,实现容器应用在容器集群中的自动部署。通过上述方案,将跨环境的交互简化为容器镜像文件的传输,有效提高了隔离性与安全性。高了隔离性与安全性。高了隔离性与安全性。
【技术实现步骤摘要】
一种容器应用自动部署方法、设备、装置、设备及介质
[0001]本专利技术涉及容器
,特别涉及一种容器应用自动部署方法、设备、装置、设备及介质。
技术介绍
[0002]容器技术的发展,使得应用的部署方式发生了较大改变,以Docker(开源的应用容器引擎)为代表的容器技术,将应用的运行环境封装成一个镜像,屏蔽了外部环境的差异性,极大的提高了应用在多个环境(如开发、测试、生产)的部署效率。随着容器规模的增长,又诞生了以Kubernetes(以下简称K8S)为代表的容器编排管理工具,它对多个复杂的容器应用的部署形式,通过一种声明式的YAML(Yet Another Markup Language,一种标记语言)文件进行描述(以下简称部署描述文件),部署描述文件定义了应用部署的各种信息,如应用部署的副本数、容器规格、镜像版本、启动参数、健康检查方式等。因此,基于容器(如Docker)及容器编排管理(如K8S)等技术,在容器化时代可以实现应用的快速部署。但是,应用部署往往存在多个环境(如开发、测试、生产),尤其在金融行业,这些环境都是有隔离要求或安全管控的,如何在多个环境之间实现统一管理及简化部署,是一个值得研究的问题。
技术实现思路
[0003]有鉴于此,本专利技术的目的在于提供一种容器应用自动部署方法、设备、装置、设备及介质,能够在多个环境之间实现统一管理及简化部署,将跨环境的交互简化为容器镜像文件的传输,有效提高了隔离性及安全性,降低了部署风险。其具体方案如下:
[0004]第一方面,本申请公开了一种容器应用自动部署方法,包括:
[0005]利用打包工具将发送至代码仓库的代码进行编译打包以得到容器镜像,并将所述容器镜像发送至第一环境的镜像仓库;所述代码包括应用代码以及位于部署文件目录中的主执行脚本和符合部署需求数量的部署描述文件;
[0006]利用基于部署触发工具确定的镜像同步触发逻辑对第二环境的镜像仓库与所述第一环境的镜像仓库进行镜像同步操作,以便于所述第二环境的镜像仓库获取所述第一环境的镜像仓库推送的所述容器镜像;
[0007]利用部署执行工具执行所述第二环境获取到的所述容器镜像中包含的所述主执行脚本,以实现容器应用在容器集群中的自动部署。
[0008]可选的,所述利用打包工具将发送至代码仓库的代码进行编译打包以得到容器镜像,包括:
[0009]利用打包工具对发送至所述代码仓库的所述代码进行编译打包后得到相应的制品,并利用所述打包工具中部署的预设容器镜像定义文件模板生成与所述制品对应的容器镜像。
[0010]可选的,所述利用打包工具对发送至所述代码仓库的所述代码进行编译打包后得到相应的制品,并利用所述打包工具中部署的预设容器镜像定义文件模板生成与所述制品
对应的容器镜像,还包括:
[0011]利用打包工具对所述应用代码进行编译打包以得到所述应用代码的制品,并利用所述打包工具中部署的预设容器镜像定义文件模板对得到的所述应用代码的制品以及所述部署文件目录进行打包以得到所述容器镜像。
[0012]可选的,所述利用基于部署触发工具确定的镜像同步触发逻辑对第二环境的镜像仓库与所述第一环境的镜像仓库进行镜像同步操作,以便于所述第二环境的镜像仓库获取所述第一环境的镜像仓库推送的所述容器镜像,包括:
[0013]基于镜像信息来确定是否触发所述第二环境的镜像仓库与所述第一环境的镜像仓库之间的镜像同步操作;其中,所述镜像信息是用户在所述部署触发工具提供的页面中输入的当前需要部署的所述容器应用的镜像信息,包括所述镜像名称以及版本号。
[0014]可选的,所述基于镜像信息来确定是否触发所述第二环境的镜像仓库与所述第一环境的镜像仓库之间的镜像同步操作,包括:
[0015]判断所述第二环境的镜像仓库中是否存在用户在所述部署触发工具提供的页面中输入的当前需要部署的所述容器应用的镜像信息;
[0016]若不存在,则触发所述第二环境的镜像仓库与所述第一环境的镜像仓库之间的镜像同步操作,以便于所述第二环境的镜像仓库获取所述第一环境的镜像仓库推送的所述容器镜像。
[0017]可选的,所述第二环境的镜像仓库获取所述第一环境的镜像仓库推送的所述容器镜像之后,还包括:
[0018]通过所述第二环境利用基于预设的容器运行指令运行的临时容器对所述容器镜像中的所述部署文件目录进行复制,并将复制得到的所述部署文件目录推送至所述第二环境的镜像仓库。
[0019]可选的,所述利用部署执行工具执行所述第二环境获取到的所述容器镜像中包含的所述主执行脚本,以实现容器应用在容器集群中的自动部署,包括:
[0020]基于所述部署执行工具中加入的环境变量的取值来确定当前环境,并执行与所述当前环境对应的所述部署文件目录中的所述主执行脚本,以实现容器应用在容器集群中的自动部署。
[0021]第二方面,本申请公开了一种容器应用自动部署装置,包括
[0022]容器镜像发送模块,用于利用打包工具将发送至代码仓库的代码进行编译打包以得到容器镜像,并将所述容器镜像发送至第一环境的镜像仓库;所述代码包括应用代码以及位于部署文件目录中的主执行脚本和符合部署需求数量的部署描述文件;
[0023]容器镜像获取模块,用于利用基于部署触发工具确定的镜像同步触发逻辑对第二环境的镜像仓库与所述第一环境的镜像仓库进行镜像同步操作,以便于所述第二环境的镜像仓库获取所述第一环境的镜像仓库推送的所述容器镜像;
[0024]自动部署实现模块,用于利用部署执行工具执行所述第二环境获取到的所述容器镜像中包含的所述主执行脚本,以实现容器应用在容器集群中的自动部署。
[0025]第三方面,本申请公开了一种电子设备,包括:
[0026]存储器,用于保存计算机程序;
[0027]处理器,用于执行所述计算机程序,以实现前述公开的所述的容器应用自动部署
方法的步骤。
[0028]第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的所述的容器应用自动部署方法的步骤。
[0029]本申请在进行容器应用自动部署时,先利用打包工具将发送至代码仓库的代码进行编译打包以得到容器镜像,并将所述容器镜像发送至第一环境的镜像仓库;所述代码包括应用代码以及位于部署文件目录中的主执行脚本和符合部署需求数量的部署描述文件;然后利用基于部署触发工具确定的镜像同步触发逻辑对第二环境的镜像仓库与所述第一环境的镜像仓库进行镜像同步操作,以便于所述第二环境的镜像仓库获取所述第一环境的镜像仓库推送的所述容器镜像;最终利用部署执行工具执行所述第二环境获取到的所述容器镜像中包含的所述主执行脚本,以实现容器应用在容器集群中的自动部署。可见,本申请通过将不同环境的部署文件与应用代码放在一起,做到代码和部署统一版本管理;并利用容器镜像的特点,把部署文件和代码打包到一个镜像中,实现镜像即部署。之后利用部署触发工具以及部署执行本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种容器应用自动部署方法,其特征在于,包括:利用打包工具将发送至代码仓库的代码进行编译打包以得到容器镜像,并将所述容器镜像发送至第一环境的镜像仓库;所述代码包括应用代码以及位于部署文件目录中的主执行脚本和符合部署需求数量的部署描述文件;利用基于部署触发工具确定的镜像同步触发逻辑对第二环境的镜像仓库与所述第一环境的镜像仓库进行镜像同步操作,以便于所述第二环境的镜像仓库获取所述第一环境的镜像仓库推送的所述容器镜像;利用部署执行工具执行所述第二环境获取到的所述容器镜像中包含的所述主执行脚本,以实现容器应用在容器集群中的自动部署。2.根据权利要求1所述的容器应用自动部署方法,其特征在于,所述利用打包工具将发送至代码仓库的代码进行编译打包以得到容器镜像,包括:利用打包工具对发送至所述代码仓库的所述代码进行编译打包后得到相应的制品,并利用所述打包工具中部署的预设容器镜像定义文件模板生成与所述制品对应的容器镜像。3.根据权利要求2所述的容器应用自动部署方法,其特征在于,所述利用打包工具对发送至所述代码仓库的所述代码进行编译打包后得到相应的制品,并利用所述打包工具中部署的预设容器镜像定义文件模板生成与所述制品对应的容器镜像,还包括:利用打包工具对所述应用代码进行编译打包以得到所述应用代码的制品,并利用所述打包工具中部署的预设容器镜像定义文件模板对得到的所述应用代码的制品以及所述部署文件目录进行打包以得到所述容器镜像。4.根据权利要求1所述的容器应用自动部署方法,其特征在于,所述利用基于部署触发工具确定的镜像同步触发逻辑对第二环境的镜像仓库与所述第一环境的镜像仓库进行镜像同步操作,以便于所述第二环境的镜像仓库获取所述第一环境的镜像仓库推送的所述容器镜像,包括:基于镜像信息来确定是否触发所述第二环境的镜像仓库与所述第一环境的镜像仓库之间的镜像同步操作;其中,所述镜像信息是用户在所述部署触发工具提供的页面中输入的当前需要部署的所述容器应用的镜像信息,包括所述镜像名称以及版本号。5.根据权利要求4所述的容器应用自动部署方法,其特征在于,所述基于镜像信息来确定是否触发所述第二环境的镜像仓库与所述第一环境的镜像仓库之间的镜像同步操作,包括:判断所...
【专利技术属性】
技术研发人员:周飒,
申请(专利权)人:招银云创信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。