【Kubernetes】第二十八篇 - 实现自动构建部署
一,前言
上一篇,介绍了 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 自动构建部署的实现;
相关文章:

【Kubernetes】第二十八篇 - 实现自动构建部署
一,前言 上一篇,介绍了 Deployment、Service 的创建,完成了前端项目的构建部署; 希望实现:推送代码 -> 自动构建部署-> k8s 滚动更新; 本篇,实现自动构建部署 二,推送触发构…...
蓝桥杯刷题第十天
第一题:裁纸刀问题描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。小蓝有一个裁纸刀,每次可以将一张纸沿一条直线裁成两半。小蓝用一张纸打印出两行三列共 6 个二维码,至少使用九次裁出来…...

网络安全缓冲区溢出与僵尸网络答题分析
一、缓冲区溢出攻击 缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上。理想的情况是:程序会检查数据长度,而且并不允许输入超过缓冲区长度的字符。但是绝大多数程序都会假设数据长度总是…...

机器学习:逻辑回归模型算法原理(附案例实战)
机器学习:逻辑回归模型算法原理 作者:AOAIYI 作者简介:Python领域新星作者、多项比赛获奖者:AOAIYI首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏&#x…...

IO流之 File 类和字节流
文章目录一、File 类1. 概述2. 创建功能3. 删除功能4. 判断和获取功能5. 递归策略5.1 递归求阶乘5.2 遍历目录二、字节流1. IO 流概述2. 字节流写数据2.1 三种方式2.2 换行及追加2.3 加异常处理3. 字节流读数据3.1 一次读一个字节3.2 一次读一个字节数组3.3 复制文本文件3.4 复…...

【华为机试真题 Python实现】2023年1、2月高频机试题
文章目录2023年1季度最新机试题机考注意事项1. 建议提前刷题2. 关于考试设备3. 关于语言环境3.1. 编译器信息3.2. ACM 模式使用sys使用input(推荐)3. 关于题目分值及得分计算方式4. 关于做题流程5. 关于作弊2023年1季度最新机试题 两个专栏现在有200博文…...

【拳打蓝桥杯】最基础的数组你真的掌握了吗?
文章目录一:数组理论基础二:数组这种数据结构的优点和缺点是什么?三:数组是如何实现随机访问的呢?四:低效的“插入”和“删除”原因在哪里?五:实战解题1. 移除元素暴力解法双指针法2…...

断崖式难度的春招,可以get这些点
前言 大家好,我是bigsai,好久不见,甚是想念。 开学就等评审结果,还好擦边过了,上周答辩完整理材料,还好都过了(终于可以顺利毕业了),然后后面就是一直安享学生时代的晚年。 最近金三银四黄金…...

一年经验年初被裁面试1月有余无果,还遭前阿里面试官狂问八股,人麻了
最近接到一粉丝投稿:年初被裁员,在家躺平了6个月,然后想着学习下再去面试,现在面试了1个月有余,无果,天天打游戏到半夜,根本无法静下心来学习。下面是他这些天面试经常会被问到的一些问题&#…...

我从功能测试到python接口自动化测试涨到22k,谁知道我经历了什么......
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 常见的接口…...

SDG,ADAM,LookAhead,Lion等优化器的对比介绍
本文将介绍了最先进的深度学习优化方法,帮助神经网络训练得更快,表现得更好。有很多个不同形式的优化器,这里我们只找最基础、最常用、最有效和最新的来介绍。 优化器 首先,让我们定义优化。当我们训练我们的模型以使其表现更好…...

【项目实现典型案例】12.数据库数据类型不一致导致查询慢
目录一:背景介绍二:索引失效复现四:索引实现的六种情况1、类型转换,函数2、ISNULL3、通配符开头4、范围查询5、组合索引,不符合最左匹配原则6、WHERE子句中的OR四:总结一:背景介绍 MySql数据库…...
【大数据开发】报错汇总
目录 Hadoop Attempting to operate on hdfs namenode as root jps后没有namenode Hive Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V Caused by:o…...

HTTPS的加密原理(工作机制)
现在很多网站使用的都是HTTPS协议,比如CSDN他们为什么要使用HTTPS协议而不是继续使用HTTP协议呢?以及HTTPS都做了些什么?HTTP协议与HTTPS有哪些区别? 下面我来 讲解这些问题?(篇幅可能有些长,请求耐心观看,我以0基础的角度去讲解这些东西, 如果你有一定的基础前面的跳过就好…...
Git仓库迁移
背景 由于公司原来的gitee地址需要改完新的gitlab仓库,大量的服务模块已再本地进行开发,且存在大量分支进行维护,迁移要求历史提交记录也得同步,需要简单快捷一并完成各服务已经分支迁移。 一、在新的目标git中创建新代码仓 新…...
用CHATGPT生成C++面试题及答案
以下是C的面试题及其答案: 什么是C?C与C语言有什么区别? C是一种高级编程语言,是对C语言的扩展。C具有更强大的面向对象编程能力,支持类、继承、多态等特性。 什么是面向对象编程? 面向对象编程是一种编程…...

二进制,八进制,十进制,十六进制的相互转换【简单易懂】(含代码模板)
目录 二进制转十进制 十进制原理: 二进制转十进制计算: 八、十六进制转十进制 八、十六进制转十进制计算: 十进制转其他进制 十进制转二进制: 十进制转八进制: 十进制转十六进制: 不同进制之间的相互转…...

Redis技术详解
Redis技术详解 Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存&…...

解决mybatis-plus updateById方法不能set null
原因 因为 MyBatis-Plus 自带的更新方法,都有对对象空值进行判空。只有不为空的字段才会进行数据更新 所以像updateById等方法,在更新时会自动忽略为null的字段,只更新非null字段值 但在某些情况下,我们的需求就是将数据库中的值…...
Linux的mysql 数据库及开发包安装
注意:以下操作都以 root 用户进行操作 直接按照下列步骤在命令行输入即可 下载 1: sudo yum install -y mariadb 2: sudo yum install -y mariadb-server 3: sudo yum install -y mariadb-devel 接下来配置文件:在相应…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
在Spring Boot中集成RabbitMQ的完整指南
前言 在现代微服务架构中,消息队列(Message Queue)是实现异步通信、解耦系统组件的重要工具。RabbitMQ 是一个流行的消息中间件,支持多种消息协议,具有高可靠性和可扩展性。 本博客将详细介绍如何在 Spring Boot 项目…...

vxe-table vue 表格复选框多选数据,实现快捷键 Shift 批量选择功能
vxe-table vue 表格复选框多选数据,实现快捷键 Shift 批量选择功能 查看官网:https://vxetable.cn 效果 代码 通过 checkbox-config.isShift 启用批量选中,启用后按住快捷键和鼠标批量选取 <template><div><vxe-grid v-bind"gri…...
MeanFlow:何凯明新作,单步去噪图像生成新SOTA
1.简介 这篇文章介绍了一种名为MeanFlow的新型生成模型框架,旨在通过单步生成过程高效地将先验分布转换为数据分布。文章的核心创新在于引入了平均速度的概念,这一概念的引入使得模型能够通过单次函数评估完成从先验分布到数据分布的转换,显…...
【系统架构设计师-2025上半年真题】综合知识-参考答案及部分详解(回忆版)
更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20~21题】【第…...
LTR-381RGB-01RGB+环境光检测应用场景及客户类型主要有哪些?
RGB环境光检测 功能,在应用场景及客户类型: 1. 可应用的儿童玩具类型 (1) 智能互动玩具 功能:通过检测环境光或物体颜色触发互动(如颜色识别积木、光感音乐盒)。 客户参考: LEGO(乐高&#x…...