当前位置: 首页 > news >正文

【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性能测试九、总结(尾部小惊喜)前言 常见的接口&#xf…...

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 接下来配置文件:在相应…...

Android本地AI智能家居框架:ZeroClaw架构设计与工程实践

1. 项目缘起与核心愿景几年前,我还在为一个智能家居项目焦头烂额,试图让家里的灯光、空调和音箱能听懂人话,而不是只会执行预设的“回家模式”或“睡眠模式”。当时市面上主流的方案,要么是依赖某个封闭的云平台,所有指…...

ComfyUI-Impact-Pack完整安装指南:为什么你的V8版本功能不全?终极解决方案

ComfyUI-Impact-Pack完整安装指南:为什么你的V8版本功能不全?终极解决方案 【免费下载链接】ComfyUI-Impact-Pack Custom nodes pack for ComfyUI This custom node helps to conveniently enhance images through Detector, Detailer, Upscaler, Pipe, …...

别再只用VGG19做分类了!手把手教你用PyTorch提取4096维图像特征向量(实战教程)

突破分类局限:用PyTorch解锁VGG19的深度特征提取实战 当你第一次接触VGG19时,可能被它的ImageNet分类能力所震撼。但如果你只把它当作一个分类器,那就如同用瑞士军刀只开瓶盖——大材小用。在计算机视觉领域,预训练模型真正的价值…...

原来市面上这些匹克球装备制造厂,都有啥独特之处?

匹克球运动近年来愈发火热,市面上的匹克球装备制造厂也如雨后春笋般涌现,每个品牌都有其独特的优势和特点。下面为你介绍其中一部分具有代表性的厂家及其独特之处。凯瑞麟体育用品:科技与文化的融合凯瑞麟体育用品成立于2025年11月&#xff0…...

从零搭建生产级LLM API服务:架构设计、部署与性能调优实战

1. 项目概述与核心价值 最近在折腾大语言模型本地部署和API服务搭建的朋友,估计都绕不开一个词:文档。不是模型本身的论文,而是那些能把复杂技术栈串起来、让你从“能跑起来”到“能稳定用起来”的操作指南。我关注到 GitHub 上一个名为 var…...

从医学到金融:用Python实战Cox比例风险模型进行企业风险预测(附完整代码)

从医学到金融:用Python实战Cox比例风险模型进行企业风险预测 在医疗领域,Cox比例风险模型早已成为生存分析的金标准。但鲜为人知的是,这套强大的统计工具同样适用于金融风险评估——从预测企业破产概率到评估供应链中断风险,生存分…...

宇树GO2机器人ROS2控制:从零到自主导航的完整指南

宇树GO2机器人ROS2控制:从零到自主导航的完整指南 【免费下载链接】go2_ros2_sdk Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU 项目地址: https://gitcode.com/gh_mirrors/go/go2_ros2_sdk Unitree GO2 ROS2 SDK是一个专门为宇树科技GO2系列机…...

LSLib深度解析:掌握《神界原罪》与《博德之门3》MOD制作的专业工具链

LSLib深度解析:掌握《神界原罪》与《博德之门3》MOD制作的专业工具链 【免费下载链接】lslib Tools for manipulating Divinity Original Sin and Baldurs Gate 3 files 项目地址: https://gitcode.com/gh_mirrors/ls/lslib LSLib是一个专为《神界原罪》系列…...

X-TRACK开源GPS自行车码表终极指南:从硬件组装到软件配置的完整教程

X-TRACK开源GPS自行车码表终极指南:从硬件组装到软件配置的完整教程 【免费下载链接】X-TRACK A GPS bicycle speedometer that supports offline maps and track recording 项目地址: https://gitcode.com/gh_mirrors/xt/X-TRACK X-TRACK是一款功能强大的开…...

04 - 运行 rocrtst 第一个测试

本文档帮助你成功运行 rocrtst 的第一个测试,并掌握各种运行方式。 1. 运行前检查清单 在运行测试之前,确认以下条件: # ✅ 1. rocrtst64 已构建并安装 ls $ROCM_PREFIX/bin/rocrtst64# ✅ 2. GPU kernel 已编译(检查你的 GPU …...