【Kubernetes】第二十八篇 - 实现自动构建部署

news/2025/1/11 14:03:15/

一,前言

上一篇,介绍了 Deployment、Service 的创建,完成了前端项目的构建部署;

希望实现:推送代码 -> 自动构建部署-> k8s 滚动更新;

本篇,实现自动构建部署


二,推送触发构建

构建 jenkins

重新构建 jenkins:cicd-backend
构建镜像,推送到私有仓库

[root@k8s-master cicd]# kubectl get pods
NAME                             READY   STATUS    RESTARTS   AGE
cicd-backend-98b5d4f57-ftrdk     1/1     Running   0          2d21h
cicd-frontend-77447bfdb4-bgt6t   1/1     Running   0          35h
cicd-mysql-745975859b-c4b6p      1/1     Running   5          2d21h

k8s 滚动更新,使用新的镜像:

[root@k8s-master cicd]# kubectl get pods
NAME                             READY   STATUS              RESTARTS   AGE
cicd-backend-86bf8b44d-8gghn     0/1     ContainerCreating   0          3s
cicd-backend-98b5d4f57-ftrdk     1/1     Running             0          2d21h
cicd-frontend-77447bfdb4-bgt6t   1/1     Running             0          35h
cicd-mysql-745975859b-c4b6p      1/1     Running             5          2d21h[root@k8s-master cicd]# kubectl get pods
NAME                             READY   STATUS    RESTARTS   AGE
cicd-backend-86bf8b44d-8gghn     1/1     Running   2          3m30s
cicd-frontend-77447bfdb4-bgt6t   1/1     Running   0          35h
cicd-mysql-745975859b-c4b6p      1/1     Running   7          2d21h

备注:如果 jenkins 卡死了,需要重启 jenkins

systemctl restart jenkins.service

安装插件

进入 jenkins 系统管理 => 插件管理 => 可选插件标签

搜索 gitee,安装 gitee 插件:

搜索 last changes 安装,可视化查看 git 文件变化:

构建触发器

  • Gitee webhook 触发构建,并记录 webhook URL 地址
  • 生成 Gitee WebHook 密码

前后端项目都需要进行以下配置,以后端 backend 为例:

1,开启 gitee 插件:

http://182.92.4.158:8080/gitee-project/cicd-backend

2,在 jenkins 生成 WebHook 秘钥:

44b40c000287f8db070421d762a6b7bf

3,配置 WebHooks

打开项目的 WebHooks 管理页面

进入gitee 对应仓库 =》管理 =》WebHooks:

4,配置 webhookURL 和 WebHook 秘钥

添加 WebHook:填写前面生成的 url 和秘钥,点击添加即可

前端同上;

  • 注意事项

亲测,使用 jenkins 提示的 ip 和服务器外网是不一样的,不同,需要修改为公网 ip 就可以了

此时,修改代码后提交 gitee,会触发重新构建,k8s 滚动更新

47.94.92.122:8082/cicd-backend:20220114115112

查看 pods:

[root@k8s-master cicd]# kubectl get pods
NAME                             READY   STATUS    RESTARTS   AGE
cicd-backend-86bf8b44d-8gghn     1/1     Running   2          75m
cicd-frontend-5466464465-f5mps   1/1     Running   0          5m22s
cicd-mysql-745975859b-c4b6p      1/1     Running   8          2d22h[root@k8s-master cicd]# kubectl get pods
NAME                             READY   STATUS              RESTARTS   AGE
cicd-backend-59748596c4-jq7sw    0/1     ContainerCreating   0          26s
cicd-backend-86bf8b44d-8gghn     1/1     Running             2          76m
cicd-frontend-5466464465-f5mps   1/1     Running             0          6m24s
cicd-mysql-745975859b-c4b6p      1/1     Running             8          2d22h

三,结尾

本篇,介绍了 jenkins、k8s 自动构建部署的实现;


http://www.ppmy.cn/news/32593.html

相关文章

【C++学习】类和对象(中)一招带你彻底了解六大默认成员函数

前言:在之前,我们对类和对象的上篇进行了讲解,今天我们我将给大家带来的是类和对象中篇的学习,继续深入探讨【C】中类和对象的相关知识!!! 目录 1. 类的6个默认成员函数 2. 构造函数 2.1概念介…

yolov8命令行运行参数详解

序言 整理来自yolov8官方文档常用的一些命令行参数,官方文档YOLOv8 Docs yolov8命令行的统一运行格式为: yolo TASK MODE ARGS其中主要是三部分传参: TASK(可选) 是[detect、segment、classification]中的一个。如果没有显式传递&#xf…

预防ddos攻击选择互联网服务提供商还是专业的ddos防护服务商

随着越来越多的企业进行互联网转型,DDoS (分布式拒绝服务) 攻击也活跃许多。但是大部分企业都依靠他们的互联网服务提供商 (ISP) 来缓解 DDoS 攻击,因为这项服务通常作为 ISP 现有带宽产品的相对低成本的附加服务。黑客非常了解这一点,因此他…

SpringBoot项目切面编程

SpringBoot项目切面编程什么是切面专业术语解释:通俗解释使用Aspect进行切面编程注解说明使用过程Demo什么是切面 专业术语解释: 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通…

极智AI | 百度推出文心一言,对标ChatGPT功力几成

欢迎关注我,获取我的更多经验分享,极智传送《极智AI | 百度推出文心一言,对标 ChatGPT 功力几成》 大家好,我是极智视界,本文介绍一下 百度今日推出文心一言,对标ChatGPT功力几成。 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码下载,链接:https…

【Matlab算法】粒子群算法求解一维线性函数问题(附MATLAB代码)

MATLAB求解一维线性函数问题前言正文函数实现可视化处理可视化结果前言 一维线性函数,也称为一次函数,是指只有一个自变量xxx的函数,且函数表达式可以写成yaxbyaxbyaxb的形式,其中aaa和bbb是常数。具体来说,aaa称为斜…

ChatGPT大解密:带您探讨机器学习背后的秘密、利用与发展

一、什么是机器学习?二、ChatGPT 的运作原理三、ChatGPT 生活利用1、自然语言处理2、翻译3、自动回复四、ChatGPT vs 其他相关技术五、ChatGPT 的未来1、未来发展2、职业取代3、客服人员4、翻译人员5、语言学家6、机遇与挑战六、结语这篇文章,将带着各位…

数据结构—二叉树链式结构的实现

目录 0、前言 1、二叉树链式结构的创建 2、二叉树的遍历 3、 前序、中序以及后序遍历 4、 前序、中序以及后序遍历的实现——双路递归 分治思想 求叶子节点数量,分治思想: 分治思想 求第k层节点个数: ​编辑 分治思想 求二叉树的深…