type
status
date
slug
summary
category
tags
create_time
Oct 14, 2025 09:54 AM
icon
password
my_create_time
📝 前言
在现代软件交付体系中,CI/CD(持续集成与持续部署)已成为研发效率的关键组成部分。
虽然 GitHub Actions 功能强大,但对于自建代码仓库或私有化部署需求的团队而言,Gitea Actions 提供了一个轻量、安全且兼容性极高的替代方案。
本文将介绍如何通过 Kubernetes 中运行 Gitea Runner,实现一套完整的自动化构建与部署流水线。
📌 Runner 运行在 K8S 上的优势
相较于直接在主机或虚拟机运行,将 Gitea Runner 部署到 Kubernetes 带来以下显著优势:
- 弹性伸缩
Runner 可根据任务负载自动扩缩容,确保在高并发构建场景下保持稳定性能,同时在空闲时释放资源,降低成本。
- 资源隔离与安全性
每个构建任务都在独立 Pod 中执行,不同项目间互不干扰,最大限度降低安全风险与环境污染问题。
- 一致性与环境可复用
借助容器化环境,Runner 的执行环境可通过镜像精确控制,避免“在我电脑上没问题”的情况,实现可预测的构建。
- 集群统一管理
所有 Runner 作为 K8S 工作负载运行,日志、监控、网络策略均可通过现有集群工具(如 Prometheus、Grafana)统一管理。
PS:我们之前也有介绍过通过二进制的方式部署 Runner:《使用二进制部署 Gitea Runner 指南(实战二)》
📋 前提条件
- 已部署 Gitea 服务端
可参看之前的文章:《使用 Docker 快速部署 Gitea 指南(实战一)》
PS:当然也可以将 Gitea 服务端也一并部署到 K8S 集群上。
- 已安装部署 kubernetes 集群
可参看之前的文章一键部署:《第四部分:使用 sealos 部署集群》
🚀 详细步骤
1️⃣ 创建 Runner Token
进入 Gitea 服务管理页面 → 设置 → Actions → 创建 Runner Token,复制Token。
后续注册 Runner 时使用。

2️⃣ 在 Kubernetes 中部署 Gitea Runner
gitea-runner.yaml
执行部署命令:
若显示为
Running
,并且在 Gitea → Actions → Runner 页面中状态为 空闲
,表示成功注册。3️⃣ 实战示例:构建并部署镜像
.gitea/workflows/build.yaml
示例:注意首次启动比较慢,因为要拉取标签对应的构建镜像:
docker.gitea.com/runner-images:ubuntu-latest
可将该镜像传到私有镜像仓库会极大提高构建效率。有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
- 作者:青萍叙事
- 链接:https://blog.lusyoe.com/article/gitea-runner-on-kubernetes
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。