一种基于微服务的应用部署系统及方法技术方案

技术编号:33123645 阅读:14 留言:0更新日期:2022-04-17 00:30
本发明专利技术提供一种基于微服务的应用部署系统,该系统将应用从代码到运行的全生命周期按阶段划分为微服务关联模块、微服务管理模块、应用编排模块、应用交付模块以及应用部署模块。对于微服务关联模块和微服务管理模块的操作,可以由具有专业知识的应用系统研发人员来完成;对于后续的应用编排模块、应用交付模块以及应用部署模块,由于这些功能模块的业务逻辑已经较为具体,再结合可视化操作界面,完全可以有应用系统管理人员来操作。本发明专利技术降低了后续维护更新的难度,从而降低了应用系统后期维护的人力成本,提高了用户体验和参与度。提高了用户体验和参与度。提高了用户体验和参与度。

【技术实现步骤摘要】
一种基于微服务的应用部署系统及方法


[0001]本专利技术涉及应用系统部署领域,具体涉及一种基于微服务的应用部署系统及方法。

技术介绍

[0002]随着应用系统业务的复杂化,微服务架构以其独立性和细粒度等方面的优势,正逐渐被开发团队所采用。
[0003]然而,对于这些应用的部署以及维护,对技术门槛的要求会较高,需要操作者对微服务体系技术有较深的了解。比如,对于学校的应用系统而言,需要聘请专业技术人员或者对高校工作人员进行专业培训,才能胜任系统的维护更新等工作,成本较高。另一方面,所有的操作都是从服务这个维度,对校园管理用户来说过于抽象,从使用角度的维度一般都是应用,造成管理上和日常工作有一定脱节,在使用上同样也会增加学习成本。
[0004]另外,在交付的过程中,校园对能够上线的应用必须经过严格流程,逐步进行测试审核,才能够最终部署到正式环境,确保生产环境上的每个服务都是稳定安全的。目前产品这块都是较为简单,经使用jenkins进行简单的管理,很难能够达到流程严谨安全的层面。

技术实现思路

[0005]为了至少解决部分上述所提到的问题,本专利技术提供一种基于微服务的应用部署系统,系统包括:微服务关联模块,用于将属于同一个应用的多个所述微服务关联到同一个组;微服务管理模块,用于至少管理每个所述微服务的权限划分、配置管理、依赖管理和版本管理;应用编排模块,用于将属于同一个应用的所述微服务的代码以及对应的依赖编排并打包成应用部署包;应用交付模块,用于将不同的交付节点封装成组件,若成功完成所述组件的流程,则将所述应用部署包作为镜像推送至镜像仓库;应用部署模块,用于根据属性、配置、运行参数和所述镜像封装成可执行应用,所述可执行应用可在云容器平台上部署运行;所述应用编排模块、应用交付模块和应用部署模块,采用可视化操作界面。
[0006]进一步而言,在所述应用编排模块中,所述交付节点包括代码拉取、代码扫描、代码构建、接口自动测试、质量检测确认,并且在不同的所述交付节点之间预设有流转条件。
[0007]进一步而言,在所述应用部署模块中,部署时自动对数据库数据进行分析,若为第一次部署所述可执行应用时,则进行数据初始化。
[0008]进一步而言,所述云容器平台为Kubernetes集群系统,所述应用编排模块采用Helm将所述微服务的代码以及对应的依赖打包成一个Chart包。
[0009]进一步而言,所述应用交付模块采用Jenkins Pipeline来封装所述交付节点。
[0010]和上述系统相对应,本专利技术提供一种基于微服务的应用部署方法,方法包括以下步骤:将属于同一个应用的多个所述微服务设置关联关系;至少对每个所述微服务进行权限划分、配置管理、依赖管理和版本管理;将属于同一个应用的所述微服务的代码以及对应的依赖编排并打包成应用部署包,所述编程操作在可视化界面完成;将不同的交付节点封
装成组件,若成功完成所述组件的流程,则将所述应用部署包作为镜像推送至镜像仓库,对于不同所述交付节点的组合操作在可视化界面完成;根据属性、配置、运行参数和所述镜像封装成可执行应用,所述可执行应用可在云容器平台上部署运行,对于所述属性、配置和运行参数的输入操作在可视化界面完成。
[0011]进一步而言,所述交付节点包括代码拉取、代码扫描、代码构建、接口自动测试、质量检测确认,并且在不同的所述交付节点之间预设有流转条件。
[0012]进一步而言,部署时自动对数据库数据进行分析,若为第一次部署所述可执行应用时,则进行数据初始化。
[0013]进一步而言,所述云容器平台为Kubernetes集群系统,对应与所述应用编排操作,后台采用Helm将所述微服务的代码以及对应的依赖打包成一个Chart包。
[0014]进一步而言,采用Jenkins Pipeline来封装所述交付节点。
[0015]本专利技术的有益效果:该基于微服务的应用部署系统及方法,将应用系统从代码到运行的全生命周期进行阶段划分,实现应用系统研发人员和应用系统管理人员的业务分离,降低了后续维护更新的难度,从而降低了应用系统后期维护的人力成本,提高了用户体验和参与度。
附图说明
[0016]图1为应用部署系统实施例的流程示意图。
[0017]图2为应用编排模块实施例的流程示意图。
[0018]图3为应用交付模块实施例的流程示意图。
[0019]图4为应用部署模块实施例的流程示意图。
具体实施方式
[0020]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0021]如图1所示,基于微服务的应用部署系统,对应用系统的部署和维护操作等再次封装,以降低这些操作的专业性要求,以面向用户方式,从而更简单易懂的实现日常维护及更新工作。
[0022]该实施例中,应用部署系统各个功能模块,按照操作顺序依次为微服务关联模块、微服务管理模块、应用编排模块、应用交付模块以及应用部署模块。需要将组成一个完成应用系统的多个微服务进行关联将其分为同一个组,可以对属于同一个的不同微服务设置相同的标签,对于一些公用的微服务可以同时设置多个标签。针对每个微服务也需要进行单独管理,如代码托管、分支管理、权限划分、配置管理、依赖管理、版本管理等。对于微服务关联模块和微服务管理模块的操作,可以由具有专业知识的应用系统研发人员来完成。
[0023]对于后续的应用编排模块、应用交付模块以及应用部署模块,由于这些功能模块的业务逻辑已经较为具体,再结合可视化操作界面,完全可以有应用系统管理人员来操作。该方案将应用系统从代码到运行的全生命周期进行阶段划分,实现应用系统研发人员和应
用系统管理人员的业务分离,降低了后续维护更新的难度,从而降低了应用系统后期维护的人力成本,提高了用户体验和参与度。
[0024]以下以校园应用系统为应用场景,进行具体说明。校园应用系统部署运行在云容器平台,具体可以为Kubernetes集群系统。其中,微服务关联模块将属于同一个应用的多个微服务关联到同一个组。这些属于同一个组的微服务具有相同的标签或者具有相同的名字空间,比如将学生信息管理系统中的各个功能模块都设置在同一个名字空间中。对于一些可以复用的微服务,可以设置在集群作用域中,以供不同名字空间都可以调用,比如将对于学生信息的操作功能作为一个复用微服务。
[0025]其中,微服务管理模块,至少管理每个微服务的权限划分、配置管理、依赖管理和版本管理,当然还可以管理代码托管、分支管理等。对于权限划分管理可以采用RBAC(Role

Based Access Control)鉴权,可以将配置管理、依赖管理和版本管理中的部分参数也由角色进行管理。
[0026]具体而言,两个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于微服务的应用部署系统,其特征在于,所述系统包括:微服务关联模块,用于将属于同一个应用的多个所述微服务关联到同一个组;微服务管理模块,用于至少管理每个所述微服务的权限划分、配置管理、依赖管理和版本管理;应用编排模块,用于将属于同一个应用的所述微服务的代码以及对应的依赖编排并打包成应用部署包;应用交付模块,用于将不同的交付节点封装成组件,若成功完成所述组件的流程,则将所述应用部署包作为镜像推送至镜像仓库;应用部署模块,用于根据属性、配置、运行参数和所述镜像封装成可执行应用,所述可执行应用可在云容器平台上部署运行;所述应用编排模块、应用交付模块和应用部署模块,采用可视化操作界面。2.根据权利要求1所述的基于微服务的应用部署系统,其特征在于,在所述应用编排模块中,所述交付节点包括代码拉取、代码扫描、代码构建、接口自动测试、质量检测确认,并且在不同的所述交付节点之间预设有流转条件。3.根据权利要求2所述的基于微服务的应用部署系统,其特征在于,在所述应用部署模块中,部署时自动对数据库数据进行分析,若为第一次部署所述可执行应用时,则进行数据初始化。4.根据权利要求1所述的基于微服务的应用部署系统,其特征在于,所述云容器平台为Kubernetes集群系统,所述应用编排模块采用Helm将所述微服务的代码以及对应的依赖打包成一个Chart包。5.根据权利要求4所述的基于微服务的应用部署系统,其特征在于,所述应用交付模块采用Jenkins Pipeline...

【专利技术属性】
技术研发人员:刘欣荣任刚舒畅肖炯恩
申请(专利权)人:联奕科技股份有限公司
类型:发明
国别省市:

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

1