一种将应用部署到运行环境的方法、装置及系统与流程

文档序号:19417855发布日期:2019-12-14 01:06阅读:来源:国知局

技术特征:

1.一种将应用部署到运行环境的方法,其特征在于,包括:

确定待部署应用的应用配置信息,以及所述应用的每一个分支,不同分支对应的分支标识不同;

接收外部客户端提供的每一个所述分支的环境配置信息,所述环境配置信息包括运行环境的地址;

在接收到所述客户端发来的、包括有第一分支标识的部署请求时,确定所述第一分支标识对应的第一分支的第一环境配置信息;

根据所述应用配置信息和所述第一环境配置信息,确定所述应用的应用结构,其中,所述应用结构包括:源代码文件、依赖于至少一个源代码文件的元素声明、依赖于至少一个元素声明的任务、依赖于一任务的元素声明;

根据所述应用结构,确定所述应用结构中的每一个待执行任务;

根据所述应用结构、所述第一环境配置信息和预设的规则库,生成每一个所述待执行任务的任务脚本;

根据所述应用结构和生成的各个所述任务脚本,生成任务执行队列;

根据所述第一环境配置信息中包括的运行环境的地址、所述第一分支和所述任务执行队列,顺序处理生成的每一个所述任务脚本,以将所述应用部署到相应运行环境。

2.根据权利要求1所述的方法,其特征在于,

所述应用结构包括的元素声明有:依赖于服务编排任务的应用声明、依赖于镜像构建任务的镜像声明、依赖于制品构建任务的制品声明、依赖于至少一个源代码文件的源代码工程声明;

所述应用结构包括的任务有:依赖于至少一个镜像声明的服务编排任务、依赖于至少一个制品声明的镜像构建任务、依赖于至少一个源代码工程声明的制品构建任务。

3.根据权利要求2所述的方法,其特征在于,

所述根据所述应用配置信息和所述第一环境配置信息,确定所述应用的应用结构,包括:

根据所述应用配置信息,确定所述应用的应用结构;

判断所述第一环境配置信息中是否包括有热部署路径信息,若是,根据所述热部署路径信息修改所述应用结构,否则,继续当前流程;

其中,

判断结果为是时,所述根据所述应用结构,确定所述应用结构中的每一个待执行任务,包括:将所述应用结构中,除去第一镜像声明所依赖的镜像构建任务和所间接依赖的每一个制品构建任务之外,剩余的每一个任务均确定为待执行任务,其中,所述第一镜像声明具有所述热部署路径信息中包括的镜像标识;

判断结果为否时,所述根据所述应用结构,确定所述应用结构中的每一个待执行任务,包括:将所述应用结构中的每一个任务均确定为待执行任务。

4.根据权利要求3所述的方法,其特征在于,

所述顺序处理生成的每一个所述任务脚本,以将所述应用部署到相应运行环境,包括:

除去生成的服务编排任务的任务脚本之外,顺序执行生成的每一个其他任务脚本,并将生成的制品产物存储至外部的制品仓库中,将生成的镜像产物存储至外部的镜像仓库中;

将生成的服务编排任务的任务脚本发送给外部的服务编排系统,以触发所述服务编排系统根据所述第一环境配置信息中包括的运行环境的地址、生成的镜像脚本、所述热部署路径信息中指定的基础镜像,以及所述第一镜像声明所间接依赖的每一个源代码工程声明的源代码工程产物,通过执行接收到的服务编排任务,以将所述应用部署到相应运行环境。

5.根据权利要求2所述的方法,其特征在于,

所述根据所述应用结构、所述第一环境配置信息和预设的规则库,生成每一个所述待执行任务的任务脚本,包括:

判断所述第一环境配置信息中是否包括有代码编译方式信息和/或制品部署方式信息,若是,根据所述代码编译方式信息和/或制品部署方式信息、预设的规则库,生成每一个所述待执行任务的任务脚本,否则,根据所述规则库,生成每一个所述待执行任务的任务脚本。

6.根据权利要求5所述的方法,其特征在于,

所述代码编译方式信息包括:编译模式、制品标识和/或制品类型;

其中,所述根据所述代码编译方式信息和/或制品部署方式信息、预设的规则库,生成每一个所述待执行任务的任务脚本,包括:

所述第一环境配置信息中包括有代码编译方式信息时,针对每一个待执行的制品构建任务,均执行下述操作:

a1:判断所述代码编译方式信息中是否包括有,依赖于当前制品构建任务的目标制品声明所属的制品类型,若是,执行a3,否则,执行a2;

a2:判断所述代码编译方式信息中是否包括有,所述目标制品声明的制品标识,若是,执行a3,否则,执行a4;

a3:根据预设的规则库、所述代码编译方式信息中包括的编译模式,生成所述当前制品构建任务的任务脚本,并结束当前流程;

a4:根据所述规则库,生成所述当前制品构建任务的任务脚本。

7.根据权利要求5所述的方法,其特征在于,

所述制品部署方式信息包括:运行模式、镜像标识和/或镜像类型;

其中,所述根据所述代码编译方式信息和/或制品部署方式信息、预设的规则库,生成每一个所述待执行任务的任务脚本,包括:

所述第一环境配置信息中包括有制品部署方式信息时,针对每一个待执行的镜像构建任务,均执行下述操作:

b1:判断所述制品部署方式信息中是否包括有,依赖于当前镜像构建任务的目标镜像声明所属的镜像类型,若是,执行b3,否则,执行b2;

b2:判断所述制品部署方式信息中是否包括有,所述目标镜像声明的镜像标识,若是,执行b3,否则,执行b4;

b3:根据所述规则库、所述制品部署方式信息中包括的运行模式,生成所述当前镜像构建任务的任务脚本,并结束当前流程;

b4:根据所述规则库,生成所述当前镜像构建任务的任务脚本。

8.根据权利要求1至7中任一所述的方法,其特征在于,

在所述顺序处理生成的每一个所述任务脚本,以将所述应用部署到相应运行环境之前,进一步包括:

判断所述第一环境配置信息中是否包括有环境变量信息,若是,确定所述环境变量信息中的变量名和变量值,并根据所述第一环境配置信息中包括的运行环境的地址,确定相应运行环境中、具有所述变量名的目标环境变量,以及将所述目标环境变量的取值更改为所述变量值,并继续当前流程,否则,继续当前流程。

9.一种应用配置、集成和部署系统,其特征在于,用于执行如权利要求1至8中任一所述将应用部署到运行环境的方法,该系统包括:

确定单元,用于确定待部署应用的应用配置信息,以及所述应用的每一个分支,不同分支对应的分支标识不同;

环境配置信息接收单元,用于接收外部客户端提供的每一个所述分支的环境配置信息,所述环境配置信息包括运行环境的地址;

部署请求接收单元,用于在接收到所述客户端发来的、包括有第一分支标识的部署请求时,确定所述第一分支标识对应的第一分支的第一环境配置信息;

应用结构确定单元,用于根据所述应用配置信息和所述第一环境配置信息,确定所述应用的应用结构,其中,所述应用结构包括:源代码文件、依赖于至少一个源代码文件的元素声明、依赖于至少一个元素声明的任务、依赖于一任务的元素声明;

任务确定单元,用于根据所述应用结构,确定所述应用结构中的每一个待执行任务;

任务脚本生成单元,用于根据所述应用结构、所述第一环境配置信息和预设的规则库,生成每一个所述待执行任务的任务脚本;

任务执行队列生成单元,用于根据所述应用结构和生成的各个所述任务脚本,生成任务执行队列;

应用部署处理单元,用于根据所述第一环境配置信息中包括的运行环境的地址、所述第一分支和所述任务执行队列,顺序处理生成的每一个所述任务脚本,以将所述应用部署到相应运行环境。

10.一种将应用部署到运行环境的系统,其特征在于,包括:

客户端、制品仓库、镜像仓库、服务编排系统,以及如权利要求9所述的应用配置、集成和部署系统;

其中,所述客户端,用于针对待部署应用的每一个分支,将外部输入的每一个所述分支的环境配置信息,发送给所述应用配置、集成和部署系统,其中,不同分支对应的分支标识不同,所述环境配置信息包括运行环境的地址;外部触发第一分支以请求部署时,将包括有所述第一分支的分支标识的部署请求,发送给所述应用配置、集成和部署系统;

所述应用配置、集成和部署系统,用于将通过执行制品构建任务的任务脚本而生成的制品产物,存储至所述制品仓库;将通过执行镜像构建任务的任务脚本而生成的镜像产物,存储至所述镜像仓库;将生成的服务编排任务的任务脚本发送给所述服务编排系统;

所述服务编排系统,用于根据所述第一分支的环境配置信息中包括的运行环境的地址,基于所述镜像仓库中存储的镜像产物,通过执行接收到的服务编排任务,以将所述应用部署到相应运行环境。


技术总结
本发明提供了一种将应用部署到运行环境的方法、装置及系统,该方法包括:确定应用的应用配置信息及其各个分支、各分支的环境配置信息;客户端针对第一分支请求部署时,根据应用配置信息和该分支的环境配置信息,确定应用的应用结构,应用结构包括源代码文件、依赖于源代码文件的元素声明、依赖于元素声明的任务、依赖于任务的元素声明;根据应用结构确定各待执行任务;根据应用结构、环境配置信息和预设规则库生成各待执行任务的任务脚本;根据应用结构和各任务脚本生成任务执行队列;根据环境配置信息中的环境地址、第一分支和任务执行队列,顺序处理各任务脚本以将应用部署到相应运行环境。本方案能够自动生成任务脚本,从而提高应用部署效率。

技术研发人员:纪鹏
受保护的技术使用者:山东浪潮通软信息科技有限公司
技术研发日:2019.09.09
技术公布日:2019.12.13
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1