[发明专利]一种基于容器的多机房批量自动化部署应用的方法及系统在审
申请号: | 202110964053.5 | 申请日: | 2021-08-21 |
公开(公告)号: | CN113672240A | 公开(公告)日: | 2021-11-19 |
发明(设计)人: | 丁金龙;董勋;王智博 | 申请(专利权)人: | 焦点科技股份有限公司 |
主分类号: | G06F8/60 | 分类号: | G06F8/60;G06F8/71;G06F9/455 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
地址: | 210032 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 容器 机房 批量 自动化 部署 应用 方法 系统 | ||
1.一种基于容器的多机房批量自动化部署应用的方法,其特征在于,包括如下步骤:
步骤1:在应用部署系统中录入应用部署信息,所述应用部署信息包含组织架构信息、应用信息、版本信息、环境信息及连接配置信息;
所述组织架构信息包含部门名称及部门类别;所述部门类别包含研发、测试、运维、项目管理及其他;
所述应用信息包含微服务应用名称、部门名称、依赖应用列表及微服务应用的类别;所述依赖应用列表根据不同微服务应用之间的依赖关系,配置不同微服务应用名称之间的关联;所述依赖应用列表记录存在关联的微服务应用名称;所述微服务应用的类别包含前端应用和后端应用;所述前端应用用于返回用户请求的页面或数据报文;所述后端应用用于数据计算和数据存储且不直接与用户进行交互;
在所述版本信息中,针对业务需求形成编制版本,1个业务需求对应1个编制版本,1个编制版本关联至少1个微服务应用的编制;所述版本信息包含编制版本的版本号、部门名称、关联的微服务应用名称、版本上线时间;
所述环境信息用于定义机房及机器,所述机房及机器用于应用部署的应用环境配置,所述应用环境至少配置在1个机房内的1个机器上;所述环境信息包含应用环境类型、机房名称、机器编号;所述应用环境类型包含开发环境、测试环境及生产环境;
所述连接配置信息是指应用部署所需的连接信息,包含机房名称、应用环境类型、连接地址;所述连接地址包含IP地址和端口号;
步骤2:分配基于组织架构的用户权限,具体为:
步骤2-1:定义用户的身份类别:获取组织架构信息,以用户的隶属部门定义身份类别,所述身份类别包含研发类别、测试类别、运维类别、项目管理类别及其他类别;
步骤2-2:根据用户的身份类别,分配相应应用环境中的应用部署权限;若用户的身份类别为研发类别,开启开发环境中的应用部署权限,关闭测试环境及生产环境中的应用部署权限;若用户的身份类别为测试类别,开启测试环境中的应用部署权限,关闭开发环境及生产环境中的应用部署权限;若用户的身份类别为运维类别,开启生产环境中的应用部署权限,关闭开发环境及测试环境中的应用部署权限;若用户的身份类别为项目管理类别,开启开发环境及测试环境中的应用部署权限,关闭生产环境中的应用部署权限;若用户的身份类别为其他类别,关闭所有应用环境中的应用部署权限;
步骤3:建立基于生命周期的应用构建,所述生命周期包括应用的开发阶段、测试阶段和发布阶段;首先,在应用编制时,以每个编制版本的版本号为单位,为版本号关联的应用标识转测时间和发布时间;其次,以转测时间和发布时间区分该应用所处的生命周期的阶段;所述发布时间取版本信息中的版本上线时间的值;动态监测应用所处的生命周期的阶段,若当前时间在转测时间之前,应用的生命周期阶段为开发阶段;若当前时间在转测时间和发布时间之间,应用的生命周期阶段为测试阶段;若当前时间在发布时间之后,应用的生命周期阶段为生产阶段;
在任一个生命周期的阶段,监听从应用部署系统发送的应用构建指令后触发应用构建;所述应用构建指令中包含版本号和应用名称;待系统接收到应用构建指令后,根据应用名称获取应用程序源码,应用程序源码经应用构建生成应用镜像文件存入镜像仓库,所述应用镜像文件包含应用程序源码和应用部署所依赖的软件;所述应用镜像文件生成时以应用构建指令中包含的版本号和应用名称命名;
步骤4:编排应用部署的优先级:根据依赖应用列表编排应用部署的顺序,当多个微服务应用同时部署时,依照微服务应用的类别区分前端应用和后端应用,先执行后端应用的部署,再执行前端应用的部署;调用当前待部署后端应用的依赖应用列表,先执行依赖应用列表中的后端应用部署,再执行当前待端署后端应用的部署;调用当前待部署前端应用的依赖应用列表,先执行依赖应用列表中的前端应用部署,再执行当前待端署前端应用的部署;
步骤5:以版本号为单位,执行部署与版本号关联的多个微服务应用,具体为:
步骤5-1:下载应用镜像至部署机房:待系统接收到包含版本号的应用部署指令,根据版本信息,匹配关联版本号的微服务应用名称;获取应用的生命周期的阶段,以应用的生命周期的阶段作为部署环境的应用环境类型;待确认指令发出用户在部署环境中具有应用部署权限后,根据环境信息,匹配与部署环境的环境类型一致的机房名称及机器编号;下载文件名包含版本号和应用名称的应用镜像文件至部署机房的机器内;
步骤5-2:以容器的形式启动微服务应用在不同环境和机房内的部署:以容器封装应用镜像文件的微服务应用名称、应用程序源码及应用部署所依赖的软件;按照步骤4的优先级编排规则,编排待部署应用的部署顺序,容器内的应用镜像文件按照部署顺序启动运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于焦点科技股份有限公司,未经焦点科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110964053.5/1.html,转载请声明来源钻瓜专利网。