Gitea Action实战:5分钟搞定Docker镜像构建与K8s部署(含飞书通知)

Gitea Action 实战:从零搭建自动化部署流水线 本文详细介绍了如何从零开始使用Gitea Action搭建自动化部署流水线。通过实战步骤,指导读者完成环境准备、Runner配置、编写工作流文件,并实现从代码提交到Docker镜像构建、推送,再到Kubernetes集群自动部署的完整CI/CD流程,帮助个人开发者及小团队以极低成本实现高效、可靠的自动化运维。 阅读详情

Gitea Action实战:5分钟搞定Docker镜像构建与K8s部署(含飞书通知)

你是否还在为每次代码更新后,手动构建镜像、推送仓库、再到服务器上执行kubectl命令而烦恼?对于中小团队或个人开发者来说,一套轻量、自托管且功能完整的CI/CD流水线,往往是提升开发效率、保证部署一致性的关键。Gitea,这个广受欢迎的自托管Git服务,其内置的Actions功能,为我们提供了一个绝佳的解决方案。它并非GitHub Actions的简单复制,而是在私有化部署场景下,一个可控、灵活且资源消耗友好的自动化引擎。

今天,我们就来深入实战,手把手带你搭建一套基于Gitea Action的自动化流水线。这套流程将覆盖从代码提交触发,到Docker镜像构建、推送至私有仓库,再到Kubernetes集群滚动更新,最终通过飞书机器人将部署结果精准通知到团队的全过程。整个过程力求清晰、可复现,即便你是初次接触Gitea Action,也能在短时间内搭建起属于你自己的“发布高速公路”。

1. 环境准备与核心概念梳理

在开始编写第一行YAML之前,我们需要确保战场已经清扫干净,并且理解手中的武器。Gitea Action的运行依赖于Runner,你可以将其理解为一个待命的“工人”,它监听仓库的事件(比如push),一旦事件触发,就按照你编写的“工作说明书”(即Workflow文件)执行任务。

首先,你需要在你的Gitea实例中启用并配置Runner。进入Gitea的管理后台,在“动作Runner”页面,你可以添加新的Runner。Gitea支持多种Runner类型,对于大多数场景,选择Docker容器类型的Runner就足够了,它轻量且易于管理。添加成功后,你会获得一个Token,用于在服务器上注册Runner。

在你的服务器(可以是虚拟机、物理机,甚至是一台开发机)上,运行以下命令来注册并启动Runner:

# 下载并运行Gitea Actions Runner
docker run -d \
  --name gitea_runner \
  --restart always \
  -e GITEA_INSTANCE_URL=https://your-gitea.com \
  -e GITEA_RUNNER_REGISTRATION_TOKEN=YOUR_TOKEN_HERE \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /path/to/runner/data:/data \
  gitea/act_runner:latest

注意:将 https://your-gitea.com 和 YOUR_TOKEN_HERE 替换为你实际的Gitea地址和Token。挂载Docker套接字 (/var/run/docker.sock) 是为了让Runner能够在容器内执行Docker命令(例如构建镜像),这是关键一步。

接下来,我们需要在目标仓库中设置几个关键的密钥(Secrets)。这些敏感信息(如私有仓库的密码、K8s配置)绝不能硬编码在Workflow文件中。在仓库的“设置” -> “动作” -> “密钥”页面,添加以下密钥:

  • REGISTRY_USERNAME: 你的私有容器仓库用户名(如Docker Hub、Harbor、阿里云ACR等)。
  • REGISTRY_PASSWORD: 对应的仓库密码或访问令牌。
  • REGISTRY_URL: 仓库地址(例如 docker.io 或 registry.your-company.com)。
  • KUBECONFIG_DATA: 经过Base64编码的整个Kubernetes配置文件(~/.kube/config 的内容)。
  • FEISHU_WEBHOOK_URL: 飞书群聊机器人的Webhook地址。

准备好这些,我们的舞台和演员就位了。

2. 构建与推送:打造可交付的Docker镜像

CI/CD流水线的第一步,是将我们的源代码转化为一个可随处运行的、标准化的容器镜像。Gitea Action提供了丰富的市场(Marketplace),我们可以直接使用社区维护的成熟Action来完成这些步骤,无需重复造轮子。

在你的代码仓库根目录下,创建 .gitea/workflows/deploy.yml 文件。这是所有工

GitLab vs Gitea:代码托管选型指南与踩坑经验 在软件开发中,代码托管平台是团队协作与版本管理的基石。从SVN迁移到Git后,团队面临的核心问题不再是“要不要用Git”,而是如何在GitLab与Gitea等轻量级方案之间做出选择。GitLab定位为一站式DevOps平台,内置成熟的CI/CD、细粒度权限控制与审计能力,适合20人以上、对流程规范有严格要求的团队;而Gitea以提供极简的Git仓库托管为核心,单文件部署、内存占用极低,在10人以下小团队或资源受限环境中表现优异。理解两者在资源消耗、部署门槛、权限模型及CI/CD能力上的本质差异,是做出正确决 阅读详情

相关推荐

从零开始打造自托管 CI/CD:Gitea Actions 安装、配置与使用全攻略

这篇详细指南深入讲解如何通过Docker Compose快速安装和配置Gitea与Gitea Actions,详细解析Runner注册Token获取、Secrets管理及常用工作流示例,帮助你快速打造轻量自托管CI/CD流水线,满足企业私有化需求与自动化构建、测试、部署等最佳实践从基础到高级应俱全。

楠搏万的博客 9709

Gitea来了:自托管Git服务的轻松之旅

Gitea是一个轻量级自托管Git服务,适合个人和小团队使用。相比GitLab需要2-8GB内存,Gitea仅需100-300MB即可流畅运行,2GB服务器就能支持10人团队协作。它具备代码托管、团队协作、CI/CD等核心功能,部署简单,仅需1条Docker命令即可完成。Gitea支持中文界面,开源免费,与主流开发工具无缝兼容,是数据合规需求场景的理想选择。本文详细介绍了Gitea的优势、5分钟快速部署方法、基础使用流程以及HTTPS配置、数据备份等进阶技巧,帮助用户轻松搭建私有Git服务。

从零开始,掌握网络安全。提供全面的网络安全教程、攻防演练技巧和行业动态。 625

FPGA实战:手把手教你用Verilog实现Modbus CRC16校验(附完整代码)

本文详细介绍了在FPGA中实现Modbus RTU协议CRC16校验模块的完整实战方案。针对硬件设计中的时序、资源与性能挑战,文章从算法原理出发,提供了清晰的Verilog模块接口、状态机设计、查表ROM实现及优化策略,并附带了完整的可综合代码与测试平台,帮助工程师高效构建稳定可靠的工业通信系统。

weixin_29164185的博客 432

西门子S7-200 SMART与施耐德ATV变频器Modbus通讯实战:从接线到稳定运行的完整指南

本文详细介绍了西门子S7-200 SMART PLC与施耐德ATV变频器之间实现稳定Modbus通讯的完整实战指南。内容涵盖从硬件接线、参数配置、PLC程序编写到触摸屏设计的全流程,并分享了提升通讯稳定性的关键技巧和常见故障排查方法,助力工业自动化系统可靠运行。

kkk56的博客 1106

UVM入门与进阶学习笔记17——寄存器模型(3)

目录寄存器模型的常规方法mirror、desired和actual valueprediction的分类自动预测显式预测uvm_reg的访问方法mem与reg的联系和差别内建(built-in)sequences寄存器模型内建序列存储模型内建序列寄存器健康检查寄存器应用场景寄存器检查功能覆盖率概述覆盖率自动收集模式覆盖率外部事件触发收集 寄存器模型的常规方法 mirror、desired和actual value 在应用寄存器模型时,除了利用它的寄存器信息,也会利用它跟踪寄存器的值。 寄存器模型中的每

weixin_41979380的博客 7536

Zephyr RTOS详解

Zephyr 是一个开源的实时操作系统(RTOS),专为资源受限的嵌入式设备设计,支持多种架构(如 ARM Cortex-M、RISC-V、x86 等)。

weixin_43484713的博客 4108

Claude Code VSCode集成开发指南:AI编程助手完整配置

Claude Code与Visual Studio Code的深度集成为开发者提供了强大的AI编程支持。本文详细介绍Claude Code VSCode扩展的安装配置、功能特性和实际应用方法。通过完整的配置流程和代码示例,帮助开发者充分利用Claude AI的智能编程能力。文章涵盖从环境搭建到高级功能应用的完整指南,包括代码自动补全、智能重构、实时代码分析等核心功能的使用技巧,以及与现有开发工作流的整合方案。

2501_93058131的博客 5984

embedding计算过程

文章目录embedding计算过程(错了跟我讲,我会改)参考示例个人理解过程图示总结(基于pytorch) embedding计算过程(错了跟我讲,我会改) 参考示例 https://www.jianshu.com/p/63e7acc5e890 个人理解过程图示 总结(基于pytorch) 总的来说,就是将独热向量的长度(对应嵌入层的num_embeddings)转变为嵌入层的emdedding_size(而独热向量的维数就是你的数据中一共产生了多少个不一样的词,至少是这么多)。 数据的变化,将二维

纸上得来终觉浅,绝知此事要躬行! 1632

Labview执行adbshell操作

一、目录 1、实现思路 2、adbshell工具配置 3、Labview执行命令窗口 1、实现思路 使用Labview的优点: 1、可以配合电源系统或者调用其他接口工具实现更高程度的自动化测试; 2、直接执行Linux相关命令,编写相关执行顺序或者逻辑更简易; --------可以用adbpush命令将.sh的脚本文件推入控制器内部执行; 3、Ubuntu系统比较大,如果只是日常执行脚本测试还是比较占用磁盘空间; 2、adbshell工具配置 1)下载adbshell工具; adbshell工具下载链

zataji的博客 2053

基于四旋翼模型的火箭型无人机视线角保持控制仿真设计

本文针对火箭型无人机的视线角保持控制问题展开研究。基于四旋翼动力学模型,通过改造设计了一种摄像头朝上安装的特殊无人机系统,用于追踪空中目标。文章详细推导了坐标系定义、运动学和动力学方程,重点分析了摄像头安装与视线几何关系,建立了目标运动模型和视线向量计算方法。通过解算期望姿态角,实现了使机体Z轴始终对准目标的控制目标。仿真结果表明,该系统能有效完成视线角保持任务,为空对空监视等应用场景提供了可行方案。~~~~~

huanghm88的专栏 142

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 利用SEED-DEC5502 DSP实现智能交通灯控制系统
下一篇: SpringBoot参数校验实战:@Valid和@Validated注解的5个常见坑点及解决方案
cuda7parallel
博客等级 码龄1天 0粉丝 1273原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值