基于容器的微服务应用开发方法及开发平台技术

技术编号:28870934 阅读:22 留言:0更新日期:2021-06-15 23:03
本发明专利技术揭示了一种基于容器的微服务应用开发方法,包括:代码编译步骤、镜像构建步骤、镜像部署步骤和应用监控步骤。本发明专利技术还揭示了一种基于容器的微服务应用开发平台,包括:平台数据库、可视化界面组件、后配置组件和协调组件。本发明专利技术的基于容器的微服务应用开发方法和开发平台可以统一管理微服务应用的开发、部署、日志收集等动作。针对不同开发语言和开发方式的微服务应用,平台的管理流程可以利用容器化技术手段,对该过程进行抽象和统一。开发环节中由于各个步骤会使用到业内通用的第三方软件,为了降低学习相对复杂的第三方软件所增加的额外的学习成本,平台还进行了集成,解决复杂性问题,简化使用。

【技术实现步骤摘要】
基于容器的微服务应用开发方法及开发平台
本专利技术涉及软件
,更具体地说,涉及Paas

技术介绍
随着SaaS(SoftwareasaService)模式的快速发展,作为SaaS开发支持的PaaS(PlatformasaService)也随之获得了快速发展。因为SaaS微服务应用会在各种不同的操作系统、运行环境下工作,因此开发过程也会随之存在很多差异。对于软件开发企业来说,在不同的操作系统、运行环境下开发SaaS需要研发人员付出额外的学习成本,这就使得开发成本增加,开发周期变长。通过PaaS的应用可以改善这个问题,提供统一的开发平台,在开发平台上以统一的语言和数据格式进行开发,然后再针对不同操作系统、运行环境进行微调之后部署,可以有效降低开发成本、缩短开发周期。
技术实现思路
根据本专利技术的一实施例,提出一种基于容器的微服务应用开发方法,包括如下的步骤:代码编译步骤,使用代码仓库为微服务应用管理代码;镜像构建步骤,以可视化界面根据设定的镜像构建流程为代码构建镜像,并将构建的镜像推送到镜像仓库,镜像是适用于容器集群的容器镜像;镜像部署步骤,以可视化界面接受部署指令,依据部署指令产生期望部署配置,将容器镜像部署到容器集群并跟踪部署状态,以可视化界面跟踪部署状态并进行调整,使得部署状态与期望部署配置相一致;应用监控步骤,在容器镜像部署完毕,微服务应用启动工作后,追踪微服务应用的运行过程。在一个实施例中,该基于容器的微服务应用开发方法还包括:应用创建步骤,在平台数据库中创建微服务应用并为该应用关联对应的代码仓库,应用创建步骤在代码编译步骤之前执行。在一个实施例中,该基于容器的微服务应用开发方法还包括:镜像构建配置步骤,镜像构建配置步骤创建镜像构建流水线,镜像构建流水线定义镜像构建流程,包括:代码拉取步骤,从代码仓库拉取新的代码;本地程序构建步骤,识别代码所使用的语言,使用本地语言构建本地程序;本地程序复制步骤,将所构建的本地程序复制到镜像工作目录下;本地镜像构建步骤,基于本地程序构建本地镜像,所述本地镜像是适用于容器集群的容器镜像;镜像推送步骤,将本地镜像推送到镜像仓库;其中,镜像构建配置步骤中生成可视化界面引导镜像构建流水线的创建。在一个实施例中,镜像部署步骤包括:当次部署接受步骤,生成可视化界面并接受当次部署,产生当次部署配置;期望部署计算步骤,基于微服务应用的运行环境和当次部署配置,计算得到期望部署配置;容器集群部署步骤,根据期望部署配置生成容器集群能够识别的部署数据,将容器镜像部署到容器集群;部署调整步骤,获取容器集群在部署容器镜像时的实际状态,将实际状态与期望部署配置相比较,按照实际状态趋向期望部署配置的方向对部署进行调整,直至容器集群在部署容器镜像的实际状态与期望部署配置相一致,其中,部署调整的过程生成可视化界面。在一个实施例中,该基于容器的微服务应用开发方法还包括:镜像部署配置步骤,镜像部署配置步骤中生成可视化界面,设置微服务应用的运行环境的环境变量和启动参数。在一个实施例中,应用监控步骤包括收集容器日志,包括如下的步骤:部署并配置日志客户端;微服务应用启用日志收集并配置关键环境变量;日志客户端基于关键环境变量发现相应的微服务应用;日志客户端为微服务应用收集日志。根据本专利技术的一实施例,提出一种基于容器的微服务应用开发平台,包括:平台数据库、可视化界面组件、后配置组件和协调组件。平台数据库以YAML格式存储数据。可视化界面组件生成可视化界面,通过可视化界面接收指令并呈现进度。后端配置组件依据可视化界面接收的指令生成配置文件,配置文件为YAML格式。协调组件与第三方组件对接,协调组件依据配置文件与第三方组件进行数据交换和格式转换,并根据配置文件调整第三方组件的运行状态,其中第三方组件包括:代码仓库、镜像构建工具和镜像仓库、容器集群和应用监控组件。代码仓库用于为微服务应用管理代码。可视化界面组件通过交互确定镜像构建流程,后端配置组件生成镜像构建流程的配置文件,协调组件将镜像构建流程的配置文件推送给镜像构建工具,镜像构建工具根据镜像构建流程为所述代码构建镜像,并将构建的镜像推送到镜像仓库,镜像是适用于容器集群的容器镜像。可视化界面组件接受部署指令,后端配置组件部署指令产生期望部署配置,协调组件将容器镜像部署到容器集群并跟踪部署状态,协调组件对部署状态进行调整,使得部署状态与期望部署配置相一致,可视化组件呈现部署状态的调整过程。在容器镜像部署完毕,微服务应用启动工作后,应用监控组件追踪微服务应用的运行过程并反馈给协调组件。在一个实施例中,代码仓库是Gitlab,在平台数据库中创建微服务应用时为该应用关联常用Git分支。在一个实施例中,镜像构建工具为Jenkins,镜像构建流水线为Jenkins流水线,可视化界面组件以可视化界面引导镜像构建流水线的创建,镜像构建流水线定义镜像构建流程,包括:代码拉取步骤,从代码仓库拉取新的代码;本地程序构建步骤,基于代码使用本地语言构建本地程序;本地程序复制步骤,将所构建的本地程序复制到镜像工作目录下;本地镜像构建步骤,基于本地程序构建本地镜像,所述本地镜像是适用于容器集群的容器镜像;镜像推送步骤,将本地镜像推送到镜像仓库;后端配置组件按照所创建的镜像构建流水线生成镜像构建流程的配置文件,协调组件将镜像构建流程的配置文件推送给Jenkins,Jenkins生成Jenkins流水线实现镜像构建流水线的功能。在一个实施例中,协调组件将镜像构建流程的配置文件推送给Jenkins以生成Jenkins流水线包括:YAML构建检查,检查YAML各项配置;载入YAML配置,协调组件加载各YAML配置文件;判断是否使用模板生成Jenkins流水线;如果使用模板生成Jenkins流水线,则加载模板并配置,基于模板产生Jenkins流水线,将Jenkins流水线推送到Jenkins;如果不使用模板,则直接对Jenkins进行配置以生成Jenkins流水线;记录并更新该Jenkins流水线的名称。在一个实施例中,可视化界面组件生成可视化界面以接受当次部署,后端配置组件产生当次部署配置;后端配置组件基于微服务应用的运行环境和当次部署配置,计算得到期望部署配置;协调组件根据期望部署配置生成容器集群能够识别的部署数据,并将容器镜像部署到容器集群,协调组件获取容器集群在部署容器镜像时的实际状态,将实际状态与期望部署配置相比较,按照实际状态趋向期望部署配置的方向对部署进行调整,直至容器集群在部署容器镜像的实际状态与期望部署配置相一致,部署调整的过程反馈给可视化界面组件在可视化界面上呈现,所述容器集群是Kubernetes。在一个实施例中,可视化界面组件生成可视化界面以设本文档来自技高网...

【技术保护点】
1.一种基于容器的微服务应用开发方法,其特征在于,包括:/n代码编译步骤,使用代码仓库为微服务应用管理代码;/n镜像构建步骤,以可视化界面根据设定的镜像构建流程为所述代码构建镜像,并将构建的镜像推送到镜像仓库,所述镜像是适用于容器集群的容器镜像;/n镜像部署步骤,以可视化界面接受部署指令,依据部署指令产生期望部署配置,将容器镜像部署到容器集群并跟踪部署状态,以可视化界面跟踪部署状态并进行调整,使得部署状态与期望部署配置相一致;/n应用监控步骤,在容器镜像部署完毕,微服务应用启动工作后,追踪微服务应用的运行过程。/n

【技术特征摘要】
1.一种基于容器的微服务应用开发方法,其特征在于,包括:
代码编译步骤,使用代码仓库为微服务应用管理代码;
镜像构建步骤,以可视化界面根据设定的镜像构建流程为所述代码构建镜像,并将构建的镜像推送到镜像仓库,所述镜像是适用于容器集群的容器镜像;
镜像部署步骤,以可视化界面接受部署指令,依据部署指令产生期望部署配置,将容器镜像部署到容器集群并跟踪部署状态,以可视化界面跟踪部署状态并进行调整,使得部署状态与期望部署配置相一致;
应用监控步骤,在容器镜像部署完毕,微服务应用启动工作后,追踪微服务应用的运行过程。


2.如权利要求1所述的基于容器的微服务应用开发方法,其特征在于,还包括:
应用创建步骤,在平台数据库中创建微服务应用并为该应用关联对应的代码仓库,应用创建步骤在代码编译步骤之前执行。


3.如权利要求1所述的基于容器的微服务应用开发方法,其特征在于,还包括:镜像构建配置步骤,镜像构建配置步骤创建镜像构建流水线,镜像构建流水线定义镜像构建流程,包括:
代码拉取步骤,从代码仓库拉取新的代码;
本地程序构建步骤,识别代码所使用的语言,使用本地语言构建本地程序;
本地程序复制步骤,将所构建的本地程序复制到镜像工作目录下;
本地镜像构建步骤,基于本地程序构建本地镜像,所述本地镜像是适用于容器集群的容器镜像;
镜像推送步骤,将本地镜像推送到镜像仓库;
其中,镜像构建配置步骤中生成可视化界面引导镜像构建流水线的创建。


4.如权利要求1所述的基于容器的微服务应用开发方法,其特征在于,所述镜像部署步骤包括:
当次部署接受步骤,生成可视化界面并接受当次部署,产生当次部署配置;
期望部署计算步骤,基于微服务应用的运行环境和当次部署配置,计算得到期望部署配置;
容器集群部署步骤,根据期望部署配置生成容器集群能够识别的部署数据,将容器镜像部署到容器集群;
部署调整步骤,获取容器集群在部署容器镜像时的实际状态,将实际状态与期望部署配置相比较,按照实际状态趋向期望部署配置的方向对部署进行调整,直至容器集群在部署容器镜像的实际状态与期望部署配置相一致,其中,部署调整的过程生成可视化界面。


5.如权利要求1所述的基于容器的微服务应用开发方法,其特征在于,还包括:镜像部署配置步骤,镜像部署配置步骤中生成可视化界面,设置微服务应用的运行环境的环境变量和启动参数。


6.如权利要求1所述的基于容器的微服务应用开发方法,其特征在于,应用监控步骤包括收集容器日志,包括如下的步骤:
部署并配置日志客户端;
微服务应用启用日志收集并配置关键环境变量;
日志客户端基于关键环境变量发现相应的微服务应用;
日志客户端为微服务应用收集日志。


7.一种基于容器的微服务应用开发平台,其特征在于,包括:
平台数据库,平台数据库以YAML格式存储数据;
可视化界面组件,可视化界面组件生成可视化界面,通过可视化界面接收指令并呈现进度;
后端配置组件,后端配置组件依据可视化界面接收的指令生成配置文件,配置文件为YAML格式;
协调组件,协调组件与第三方组件对接,协调组件依据配置文件与第三方组件进行数据交换和格式转换,并根据配置文件调整第三方组件的运行状态,其中第三方组件包括:
代码仓库,代码仓库用于为微服务应用管理代码;
镜像构建工具和镜像仓库,可视化界面组件通过交互确定镜像构建流程,后端配置组件生成镜像构建流程的配置文件,协调组件将镜像构建流程的配置文件推送给镜像构建工具,镜像构建工具根据镜像构建流程为所述代码构建镜像,并将构...

【专利技术属性】
技术研发人员:王泰舟
申请(专利权)人:食亨上海科技服务有限公司
类型:发明
国别省市:上海;31

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

1