Jenkins+Docker+K8S+Git+CICD自动化部署SpringBoot前后端分离项目

本文概述了一种利用Jenkins、Git、Docker和Kubernetes构建的持续集成与部署流程,包括代码触发、构建、镜像管理与弹性伸缩,以及如何通过yaml文件进行K8s集群部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、构建流程图

在这里插入图片描述

  1. 自动触发jenkins部署通过svn或Git的hooks来实现,是否自动触发根据项目内部沟通决定,我们目前没有自动触发,原因是QA在测试的过程中不希望被自动触发的部署打断,不过也可以方便的在jenkins上手动触发执行;
  2. jenkins从Git拉代码 --> 编译 --> JS/CSS合并压缩 --> 其他初始化操作 -->
    生成最终线上运行的代码包,通过Dockerfile打包成镜像上传到docker hub,然后触发kubernetes滚动更新;
  3. 镜像包含了基础镜像+项目代码,基础镜像就是根据项目运营环境打包的一个最小化的运行环境(不包含项目代码),根据项目依赖的技术栈不同我们打包了很多不通类型的基础镜像,例如包含nginx服务的基础镜像,包含jdk+tomcat的基础镜像;
  4. 如果发现程序上线出错或有bug短时间内无法解决,可通过jenkins快速回滚到上一镜像版本,十分方便;
  5. 如果发现流量突然增高,可以通过kubernetes快速调整容器副本数量。
  6. 使用Harbor来做镜像仓库

Jenkins+git+docker构建持续化集成环境

总体流程就是,三台服务器分别部署jenkins,git/harbor,docker,分别安装好了以后,在jenkins中配置git/harbor拉取代码和上传镜像的shell脚本,并在jenkins中利用shell脚本推送新镜像到docker中运行。

2、k8s集群部署

在这里插入图片描述
在这里插入图片描述
参考1

参考2

参考3

整体来说就是采用yaml文件来对每个服务进行集群部署,每个服务集群要进行交互的话,还要开放ip+端口来供外部服务访问,具体实现步骤参考上面链接部署,过程比较繁杂。

3、项目部署

Kubernetes(K8S) + Harbor + Ingress 部署 SpringBoot + Vue 前后端分离项目:
https://blog.csdn.net/m0_74823524/article/details/144299527

以下是一个基于JenkinsGitee,Harbor,DockerK8s的CI/CD部署流程: 1. 安装Jenkins: - 下载Jenkins war包:在Jenkins官网下载最新的jenkins.war文件。 - 启动Jenkins:使用java -jar jenkins.war命令启动Jenkins。 - 安装插件:在Jenkins控制台中安装相关插件,如GitDockerKubernetes等插件。 2. 配置Gitee: - 创建Gitee账号:在Gitee官网注册一个新账号。 - 创建代码仓库:在Gitee上创建一个新的代码仓库,并将代码上传到仓库中。 3. 安装Harbor: - 下载Harbor安装包:在Harbor官网下载最新版本的Harbor安装包。 - 安装Harbor:按照Harbor安装文档进行安装和配置。 4. 安装Docker: - 下载Docker安装包:在Docker官网下载适用于您的操作系统的Docker安装包。 - 安装Docker:按照Docker安装文档进行安装和配置。 5. 安装K8s: - 安装K8s工具:根据需要选择Kubeadm、Kops、Kubespray等工具进行安装。 - 部署K8s集群:使用K8s工具进行集群的部署和配置。 6. 配置Jenkins: - 配置Jenkins插件:在Jenkins控制台中安装相关插件,如DockerKubernetes等插件。 - 配置Jenkins作业:创建一个新的Jenkins作业,配置代码仓库和构建步骤(如Docker构建、推送到Harbor等)。 7. 配置K8s: - 配置K8s命名空间:创建一个新的K8s命名空间,用于存储应用程序和服务。 - 部署应用程序:使用K8s配置文件部署应用程序到集群中。 8. 测试CI/CD流程: - 触发Jenkins构建:在Jenkins控制台中触发一个新的构建作业。 - 自动部署应用程序:通过Jenkins、Harbor和K8s实现自动化构建、测试和部署应用程序。 - 测试应用程序:使用K8s进行自动化测试,并将测试结果发送到开发人员的邮箱或Slack等通知工具上。 - 自动回滚:如果测试失败,K8s会自动回滚到之前的版本。 以上是一个基于JenkinsGitee,Harbor,DockerK8s的CI/CD部署流程。在实际应用中,还需要进行相关的配置和调优,以满足具体的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值