[发明专利]自动化CI/CD项目部署方法、存储介质有效
申请号: | 201910039184.5 | 申请日: | 2019-01-16 |
公开(公告)号: | CN109814879B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 刘德建;郭联钰;林琛 | 申请(专利权)人: | 福建省天奕网络科技有限公司 |
主分类号: | G06F8/60 | 分类号: | G06F8/60;G06F8/41 |
代理公司: | 福州市博深专利事务所(普通合伙) 35214 | 代理人: | 张明;董晗 |
地址: | 350212 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自动化 ci cd 项目 部署 方法 存储 介质 | ||
本发明提供自动化CI/CD项目部署方法、存储介质,方法包括:上传项目代码至Gitlab仓库管理系统;通过Jenkins持续集成引擎从Gitlab仓库管理系统拉取项目代码后进行编译构建,获取对应的项目;Jenkins持续集成引擎将所述项目以镜像方式发布到Harbor镜像仓库;kubernetes容器编排引擎从Harbor镜像仓库中拉取镜像项目至预设个数的本地服务器上分别运行成为容器;kubernetes容器编排引擎将所述容器编排至每一个pod对象中。本发明不仅能实现全自动化项目部署,且部署工作简单高效;而且还能保证项目的稳定可靠;进一步的,还具备自动扩容缩容和资源调度的功能,实现负载均衡。
技术领域
本发明涉及服务端项目自动化部署领域,具体涉及自动化CI/CD项目部署方法、存储介质。
背景技术
由于目前大多数发布项目都是采用人工将项目打包编译出来后生成一个文件包,然后把此文件包上传到线上服务器进行部署,然后项目上线。
采用人工部署线上项目适用于项目类型小的场景。此场景下部署方式会比较简单,但是如果在发布一款中大型项目,并且项目由许多的系统组成,每个系统都是独立存在且独立部署,而且在访问量大的情况下如何做到快速的集群部署或者分布式将对人工产生一定的困难,不仅耗时也耗财,如电商、ERP等大型项目。
因此,有必要提供一种基于Kubernetes和Jenkins自动化CI/CD项目部署的方案,能够以纯自动化、无人工干预的方式自动发布项目到线上服务器并保证项目的稳定可靠。
发明内容
本发明所要解决的技术问题是:提供一种自动化CI/CD项目部署方法、存储介质,能实现自动化部署、扩容缩容和资源调度,让部署工作简单且高效。
为了解决上述技术问题,本发明采用的技术方案为:
自动化CI/CD项目部署方法,包括:
上传项目代码至Gitlab仓库管理系统;
通过Jenkins持续集成引擎从所述Gitlab仓库管理系统拉取项目代码后进行编译构建,获取对应的项目;
Jenkins持续集成引擎将所述项目以镜像方式发布到Harbor镜像仓库;
kubernetes容器编排引擎从Harbor镜像仓库中拉取镜像项目至预设个数的本地服务器上分别运行成为容器;
kubernetes容器编排引擎将所述容器编排至每一个pod对象中。
本发明提供的另一个技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能实现上述自动化CI/CD项目部署方法所包含的步骤。
本发明的有益效果在于:通过Jenkins拉取Gitlab上的项目代码后进行编译构建,然后将对应项目以镜像方式发布到Harbor上,然后kubernetes从Harbor上拉取镜像项目后依据负载实况存放在预设个数的本地服务器上,以容器运行线上项目方式供用户访问,不仅能实现无人工干预的全自动化CI/CD项目部署,让部署工作变得简单且高效;而且还能基于负载实况实现灵活地扩容缩容,实现负载均衡和资源调度;进一步的,还能优化用户体验,提升用户与网站的粘性。
附图说明
图1为本发明自动化CI/CD项目部署方法的步骤流程示意图;
图2为本发明实施例一的自动化CI/CD项目部署方法对应的交互示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建省天奕网络科技有限公司,未经福建省天奕网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910039184.5/2.html,转载请声明来源钻瓜专利网。