用 Docker 私有化部署 GitHub Actions Runner(Runner Fleet)

💡 原文中文,约6500字,阅读约需16分钟。
📝

内容提要

我整理了 GitHub 自托管 Runner 的经验,开发了开源工具 Runner Fleet,旨在简化 Runner 的管理与维护,提供轻量级 Web 管理界面,支持多种运行模式,帮助用户高效部署和扩容。

🎯

关键要点

  • 开发了开源工具 Runner Fleet,旨在简化 GitHub 自托管 Runner 的管理与维护。
  • Runner Fleet 提供轻量级 Web 管理界面,支持多种运行模式。
  • 目标是将自托管 Runner 的部署、扩容、维护收敛成可复用的流程。
  • 自托管 Runner 的管理难点在于长期稳定性,而非简单的启动。
  • 多个 Runner 的管理会导致 Token 分散、环境污染和任务混乱等问题。
  • Runner Fleet 提供安装、注册、启停、编辑、状态聚合及自愈巡检功能。
  • 支持两种运行模式:宿主机模式和容器模式,便于环境隔离。
  • 推荐将 Runner 拆分为通用、容器和重任务三类,以提高管理效率。
  • 容器模式解决了 Runner 之间环境污染和升级回滚的问题。
  • 提供详细的服务器环境准备和容器部署步骤。
  • 通过 GitHub 获取 Runner Token,初始化 Fleet Runner 并配置 GitHub CI。
  • 修改 CI 配置文件以启用自部署的 Runner,简化使用流程。
  • Fleet 还支持裸金属和 Dind 模式,后续将分享更多使用方法。
➡️

继续阅读