【技术实现步骤摘要】
本专利技术涉及计算机科学,尤其涉及一种微服务集群ci/cd的实现方法、装置及电子设备。
技术介绍
1、微服务架构将应用程序拆分为多个独立服务,并依靠容器化技术独立每个微服务运行环境,并通过轻量级通信机制交互,使服务具备高灵活性和可伸缩性。持续集成/持续部署(continuous integration/continuous deployment,ci/cd)是一种软件开发实践,通过自动化构建、测试和部署过程来缩短开发周期,提高软件质量,并加快交付速度。
2、在企业项目快速升级迭代的需求下,使用传统单体应用部署的方式,例如,直接使用命令启动微服务部署jar包,是一种简单快捷的做法,但在启动或删除多个微服务程序时,这种方式缺乏统一自动化管理支持。此外,在业务快速开发迭代、测试、生产过程中,手动配置并部署微服务集群存在运维效率低、人工成本高等问题。
技术实现思路
1、本专利技术提供一种微服务集群ci/cd的实现方法、装置及电子设备,用以解决传统应用部署的方式中缺乏统一自动化管理支持的问题,提供一种微服务集群的自动化持续集成和容器化程序部署方法,提高了软件的交付效率。
2、本专利技术提供一种微服务集群ci/cd的实现方法,包括:通过预先设置的触发器检测预定义事件;当所述触发器检测到预定义事件,获取检测到的预定义事件触发的部署方案类型;根据所述部署方案类型对应的预先设置的流水线参数化模版,搭建微服务集群的持续集成/持续部署ci/cd流水线作业;指定一个docker容器
3、根据本专利技术提供的一种微服务集群ci/cd的实现方法,其特征在于,所述部署方案类型包括:微服务部署、微服务重启、微服务副本扩缩容和微服务镜像导出:所述微服务部署对应的流水线参数化模版构建的步骤包括微服务代码拉取、微服务代码编译、微服务镜像构建、推送构建的微服务镜像至私有镜像仓库、在docker swarm集群中通过dockerstack的方式启动部署微服务;所述微服务重启对应的流水线参数化模版构建的步骤包括根据获取的微服务标签和副本数启动微服务;所述微服务副本扩缩容对应的流水线参数化模版构建的步骤包括根据获取的微服务标签和副本数对微服务进行扩缩容;所述微服务镜像导出对应的流水线参数化模版构建的步骤包括根据获取的微服务标签导出微服务镜像。
4、根据本专利技术提供的一种微服务集群ci/cd的实现方法,其特征在于,所述流水线参数化模版通过编写jenkinsfile文件构建。
5、根据本专利技术提供的一种微服务集群ci/cd的实现方法,其特征在于,所述私有镜像仓库使用集成容器镜像漏洞扫描器的harbor镜像存储平台,自动扫描推送镜像中的已知漏洞,生成安全报告;所述私有镜像仓库预先设置有镜像推送策略、镜像保留策略以及仓库复制策略;所述镜像推送策略用于自动阻止高危漏洞镜像推送到所述私有镜像仓库中;所述镜像保留策略用于定期清理满足预设条件的镜像,所述仓库复制策略用于复制同步镜像到其他仓库,避免单点故障问题。
6、根据本专利技术提供的一种微服务集群ci/cd的实现方法,其特征在于,所述微服务集群采用spring cloud框架,所述spring cloud框架的微服务程序镜像文件dockerfile中,启动微服务的cmd命令行埋有skywalking平台的skywalking java agent探针,在微服务容器启动后,将自动收集微服务之间的调用链路数据以及预先设置的追踪数据和性能指标。
7、根据本专利技术提供的一种微服务集群ci/cd的实现方法,其特征在于,所述dockerswarm集群采用云原生网关traefik作为边缘路由器和负载均衡器,以swarm的模式实现集群中微服务的自动发现,实时检测服务变化,以及自动更新路由规则。
8、根据本专利技术提供的一种微服务集群的ci/cd实现方法,其特征在于,所述dockerswarm集群引入容器管理工具portainer以界面化方式进行容器管理工作,并集成由容器分析器cadvisor、远程字典服务redis、服务监控系统prometheus和可视化工具grafana构成的监控模块;其中,cadvisor用于收集容器和宿主机性能资源数据,redis用于存储临时监控数据,prometheus用于拉取cadvisor收集的数据资源,并将收集的数据以时间序列的形式存储,提供以时间为尺度的性能指标查询功能;grafana用于将prometheus收集到数据以监控仪表盘的形式进行展示。
9、本专利技术还提供一种微服务集群ci/cd的实现装置,包括:检测模块,被配置成通过预先设置的触发器检测预定义事件;获取模块,被配置成当所述触发器检测到预定义事件,获取检测到的预定义事件触发的部署方案类型;搭建模块,被配置成根据所述部署方案类型对应的预先设置的流水线参数化模版,搭建微服务集群的持续集成/持续部署ci/cd流水线作业;执行模块,被配置成指定一个docker容器作为执行环境,执行搭建的ci/cd流水线作业。
10、本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述微服务集群ci/cd的实现方法。
11、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述微服务集群ci/cd的实现方法。
12、本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述微服务集群ci/cd的实现方法。
13、本专利技术提供的微服务集群ci/cd的实现方法、装置及电子设备,通过预先设置的触发器检测预定义事件;当触发器检测到预定义事件,获取检测到的预定义事件触发的部署方案类型;根据部署方案类型对应的预先设置的流水线参数化模版,搭建微服务集群的持续集成/持续部署ci/cd流水线作业;指定一个docker容器作为执行环境,执行搭建的ci/cd流水线作业,提高了软件的交付效率。
本文档来自技高网...【技术保护点】
1.一种微服务集群CI/CD的实现方法,其特征在于,包括:
2.根据权利要求1所述的微服务集群CI/CD的实现方法,其特征在于,所述部署方案类型包括:微服务部署、微服务重启、微服务副本扩缩容和微服务镜像导出:所述微服务部署对应的流水线参数化模版构建的步骤包括微服务代码拉取、微服务代码编译、微服务镜像构建、推送构建的微服务镜像至私有镜像仓库、在Docker Swarm集群中通过Docker Stack的方式启动部署微服务;所述微服务重启对应的流水线参数化模版构建的步骤包括根据获取的微服务标签和副本数启动微服务;所述微服务副本扩缩容对应的流水线参数化模版构建的步骤包括根据获取的微服务标签和副本数对微服务进行扩缩容;所述微服务镜像导出对应的流水线参数化模版构建的步骤包括根据获取的微服务标签导出微服务镜像。
3.根据权利要求1所述的微服务集群CI/CD的实现方法,其特征在于,所述流水线参数化模版通过编写Jenkinsfile文件构建。
4.根据权利要求2所述的微服务集群CI/CD的实现方法,其特征在于,所述私有镜像仓库使用集成容器镜像漏洞扫描器的Har
5.根据权利要求2所述的微服务集群CI/CD的实现方法,其特征在于,所述微服务集群采用Spring Cloud框架,所述Spring Cloud框架的微服务程序镜像文件Dockerfile中,启动微服务的CMD命令行埋有Skywalking平台的Skywalking Java Agent探针,在微服务容器启动后,将自动收集微服务之间的调用链路数据以及预先设置的追踪数据和性能指标。
6.根据权利要求2所述的微服务集群CI/CD的实现方法,其特征在于,所述DockerSwarm集群采用云原生网关Traefik作为边缘路由器和负载均衡器,以Swarm的模式实现集群中微服务的自动发现,实时检测服务变化,以及自动更新路由规则。
7.根据权利要求2所述的微服务集群CI/CD的实现方法,其特征在于,所述DockerSwarm集群引入容器管理工具Portainer以界面化方式进行容器管理工作,并集成由容器分析器cAdvisor、远程字典服务Redis、服务监控系统Prometheus和可视化工具Grafana构成的监控模块;其中,cAdvisor用于收集容器和宿主机性能资源数据,Redis用于存储临时监控数据,Prometheus用于拉取cAdvisor收集的数据资源,并将收集的数据以时间序列的形式存储,提供以时间为尺度的性能指标查询功能;Grafana用于将Prometheus收集到数据以监控仪表盘的形式进行展示。
8.一种微服务集群CI/CD的实现装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的微服务集群CI/CD的实现方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的微服务集群CI/CD的实现方法。
...【技术特征摘要】
1.一种微服务集群ci/cd的实现方法,其特征在于,包括:
2.根据权利要求1所述的微服务集群ci/cd的实现方法,其特征在于,所述部署方案类型包括:微服务部署、微服务重启、微服务副本扩缩容和微服务镜像导出:所述微服务部署对应的流水线参数化模版构建的步骤包括微服务代码拉取、微服务代码编译、微服务镜像构建、推送构建的微服务镜像至私有镜像仓库、在docker swarm集群中通过docker stack的方式启动部署微服务;所述微服务重启对应的流水线参数化模版构建的步骤包括根据获取的微服务标签和副本数启动微服务;所述微服务副本扩缩容对应的流水线参数化模版构建的步骤包括根据获取的微服务标签和副本数对微服务进行扩缩容;所述微服务镜像导出对应的流水线参数化模版构建的步骤包括根据获取的微服务标签导出微服务镜像。
3.根据权利要求1所述的微服务集群ci/cd的实现方法,其特征在于,所述流水线参数化模版通过编写jenkinsfile文件构建。
4.根据权利要求2所述的微服务集群ci/cd的实现方法,其特征在于,所述私有镜像仓库使用集成容器镜像漏洞扫描器的harbor镜像存储平台,自动扫描推送镜像中的已知漏洞,生成安全报告;所述私有镜像仓库预先设置有镜像推送策略、镜像保留策略以及仓库复制策略;所述镜像推送策略用于自动阻止高危漏洞镜像推送到所述私有镜像仓库中;所述镜像保留策略用于定期清理满足预设条件的镜像;所述仓库复制策略用于同步镜像到其他仓库,避免单点故障问题。
5.根据权利要求2所述的微服务集群ci/cd的实现方法,其特征在于,所述微服务集群采用spring cloud框架,所述spring cloud框架的微服务程序镜像文件dockerfile中...
【专利技术属性】
技术研发人员:张俊,尹艺玲,资辉,王斌,
申请(专利权)人:天信达信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。