[发明专利]一种将应用部署到运行环境的方法、装置及系统有效
| 申请号: | 201910847016.9 | 申请日: | 2019-09-09 |
| 公开(公告)号: | CN110569044B | 公开(公告)日: | 2022-07-12 |
| 发明(设计)人: | 纪鹏 | 申请(专利权)人: | 浪潮通用软件有限公司 |
| 主分类号: | G06F8/61 | 分类号: | G06F8/61;G06F8/71 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 李世喆 |
| 地址: | 250100 山东*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 应用 部署 运行 环境 方法 装置 系统 | ||
1.一种将应用部署到运行环境的方法,其特征在于,包括:
确定待部署应用的应用配置信息,以及所述应用的每一个分支,不同分支对应的分支标识不同;
接收外部客户端提供的每一个所述分支的环境配置信息,所述环境配置信息包括运行环境的地址;
在接收到所述客户端发来的、包括有第一分支标识的部署请求时,确定所述第一分支标识对应的第一分支的第一环境配置信息;
根据所述应用配置信息和所述第一环境配置信息,确定所述应用的应用结构,其中,所述应用结构包括:源代码文件、依赖于至少一个源代码文件的元素声明、依赖于至少一个元素声明的任务、依赖于一任务的元素声明;
根据所述应用结构,确定所述应用结构中的每一个待执行任务;
根据所述应用结构、所述第一环境配置信息和预设的规则库,生成每一个所述待执行任务的任务脚本;
根据所述应用结构和生成的各个所述任务脚本,生成任务执行队列;
根据所述第一环境配置信息中包括的运行环境的地址、所述第一分支和所述任务执行队列,顺序处理生成的每一个所述任务脚本,以将所述应用部署到相应运行环境;
所述应用结构包括的元素声明有:依赖于服务编排任务的应用声明、依赖于镜像构建任务的镜像声明、依赖于制品构建任务的制品声明、依赖于至少一个源代码文件的源代码工程声明;
所述应用结构包括的任务有:依赖于至少一个镜像声明的服务编排任务、依赖于至少一个制品声明的镜像构建任务、依赖于至少一个源代码工程声明的制品构建任务;
所述根据所述应用配置信息和所述第一环境配置信息,确定所述应用的应用结构,包括:
根据所述应用配置信息,确定所述应用的应用结构;
判断所述第一环境配置信息中是否包括有热部署路径信息,若是,根据所述热部署路径信息修改所述应用结构,否则,继续当前流程;
其中,
判断结果为是时,所述根据所述应用结构,确定所述应用结构中的每一个待执行任务,包括:将所述应用结构中,除去第一镜像声明所依赖的镜像构建任务和所间接依赖的每一个制品构建任务之外,剩余的每一个任务均确定为待执行任务,其中,所述第一镜像声明具有所述热部署路径信息中包括的镜像标识;
判断结果为否时,所述根据所述应用结构,确定所述应用结构中的每一个待执行任务,包括:将所述应用结构中的每一个任务均确定为待执行任务;
所述顺序处理生成的每一个所述任务脚本,以将所述应用部署到相应运行环境,包括:
除去生成的服务编排任务的任务脚本之外,顺序执行生成的每一个其他任务脚本,并将生成的制品产物存储至外部的制品仓库中,将生成的镜像产物存储至外部的镜像仓库中;
将生成的服务编排任务的任务脚本发送给外部的服务编排系统,以触发所述服务编排系统根据所述第一环境配置信息中包括的运行环境的地址、生成的镜像脚本、所述热部署路径信息中指定的基础镜像,以及所述第一镜像声明所间接依赖的每一个源代码工程声明的源代码工程产物,通过执行接收到的服务编排任务,以将所述应用部署到相应运行环境;
所述根据所述应用结构、所述第一环境配置信息和预设的规则库,生成每一个所述待执行任务的任务脚本,包括:
判断所述第一环境配置信息中是否包括有代码编译方式信息和/或制品部署方式信息,若是,根据所述代码编译方式信息和/或制品部署方式信息、预设的规则库,生成每一个所述待执行任务的任务脚本,否则,根据所述规则库,生成每一个所述待执行任务的任务脚本;
所述代码编译方式信息包括:编译模式、制品标识和/或制品类型;
其中,所述根据所述代码编译方式信息和/或制品部署方式信息、预设的规则库,生成每一个所述待执行任务的任务脚本,包括:
所述第一环境配置信息中包括有代码编译方式信息时,针对每一个待执行的制品构建任务,均执行下述操作:
A1:判断所述代码编译方式信息中是否包括有,依赖于当前制品构建任务的目标制品声明所属的制品类型,若是,执行A3,否则,执行A2;
A2:判断所述代码编译方式信息中是否包括有,所述目标制品声明的制品标识,若是,执行A3,否则,执行A4;
A3:根据预设的规则库、所述代码编译方式信息中包括的编译模式,生成所述当前制品构建任务的任务脚本,并结束当前流程;
A4:根据所述规则库,生成所述当前制品构建任务的任务脚本;
所述制品部署方式信息包括:运行模式、镜像标识和/或镜像类型;
其中,所述根据所述代码编译方式信息和/或制品部署方式信息、预设的规则库,生成每一个所述待执行任务的任务脚本,包括:
所述第一环境配置信息中包括有制品部署方式信息时,针对每一个待执行的镜像构建任务,均执行下述操作:
B1:判断所述制品部署方式信息中是否包括有,依赖于当前镜像构建任务的目标镜像声明所属的镜像类型,若是,执行B3,否则,执行B2;
B2:判断所述制品部署方式信息中是否包括有,所述目标镜像声明的镜像标识,若是,执行B3,否则,执行B4;
B3:根据所述规则库、所述制品部署方式信息中包括的运行模式,生成所述当前镜像构建任务的任务脚本,并结束当前流程;
B4:根据所述规则库,生成所述当前镜像构建任务的任务脚本;
在所述顺序处理生成的每一个所述任务脚本,以将所述应用部署到相应运行环境之前,进一步包括:
判断所述第一环境配置信息中是否包括有环境变量信息,若是,确定所述环境变量信息中的变量名和变量值,并根据所述第一环境配置信息中包括的运行环境的地址,确定相应运行环境中、具有所述变量名的目标环境变量,以及将所述目标环境变量的取值更改为所述变量值,并继续当前流程,否则,继续当前流程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮通用软件有限公司,未经浪潮通用软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910847016.9/1.html,转载请声明来源钻瓜专利网。





