−25%

Windows 按年付费,截至 10 月 31 日。 查看套餐

EQVPS
开始使用

用于自托管 GitHub Actions runner 的 VPS

在你自己的 VPS 上运行自托管的 GitHub Actions runner——更快的 CI、无按分钟计费、完全掌控构建环境。加密货币付款,无需 KYC。每月 $8 起。

GitHub 托管的 runner 很方便,直到账单或等待时间开始让人难受。超出免费额度后你按分钟付费,每个任务都从“冷”状态启动,并每次重新下载依赖。你自己 VPS 上的自托管 runner 把这三点全部反转:固定的月度成本、缓存已在磁盘上的“热”机器,以及你完全掌控的构建环境——特定的工具版本、更多 RAM、真正能持久保留的 Docker 层缓存。

runner 只需对 GitHub 出站,所以它能在我们最便宜的套餐上运行、用加密货币付款、并且无需 KYC。

runner 需要什么

  • 满足你构建的 CPU 与 RAM。 Small(每月 $8——4 vCPU、4 GB RAM、35 GB NVMe) 对大多数 CI 都很舒适:Node/Go/Rust 构建、测试套件、Docker 镜像构建。繁重编译或并行任务?升级到 Medium 或 Pro 套餐。
  • 用于缓存的 NVMe 磁盘。 自托管的全部意义在于持久化——依赖缓存、Docker 层、构建产物在多次运行之间留在磁盘上。NVMe 让恢复保持快速。
  • 不需要专用 IP。 runner 通过 HTTPS 向 GitHub 拨出;无需任何入站访问。一个 NAT 套餐(每月 $3 起) 就够了。只有当你还自托管某些对外提供流量的服务时,才需要专用 IP。

设置 runner(Ubuntu 24.04)

在你的仓库(或组织)中创建 runner:Settings → Actions → Runners → New self-hosted runner → Linux。GitHub 会显示下载命令和一次性注册令牌。在 VPS 上:

# 以非 root 用户身份(runner 拒绝以 root 运行)
adduser --disabled-password --gecos "" runner
su - runner

mkdir actions-runner && cd actions-runner
curl -o actions-runner-linux-x64.tar.gz -L \
  https://github.com/actions/runner/releases/latest/download/actions-runner-linux-x64.tar.gz
tar xzf actions-runner-linux-x64.tar.gz

# 用 GitHub 界面中的 URL + 令牌注册
./config.sh --url https://github.com/YOUR_ORG/YOUR_REPO --token YOUR_TOKEN

让它作为服务运行

不要在终端里跑 ./run.sh——把它安装为 systemd 服务,让它在重启后存活:

sudo ./svc.sh install runner
sudo ./svc.sh start
sudo ./svc.sh status

现在 runner 在 GitHub 界面中显示为 Idle,并会接手任何指向它的任务。

在 workflow 中使用

用 runs-on 把任务指向你的 runner:

jobs:
  build:
    runs-on: self-hosted        # 或你在注册时设置的自定义标签
    steps:
      - uses: actions/checkout@v4
      - run: make build && make test

基于 Docker 的任务

安装一次 Docker,你的 workflow 就能构建镜像或运行服务容器,层缓存在多次运行之间持久保留:

sudo apt update && sudo apt install -y docker.io
sudo usermod -aG docker runner   # 让 runner 无需 sudo 即可使用 Docker

若要为每个任务做一次性隔离,可把 runner 本身放进容器中运行,并每次重新创建它——这是不受信任构建或矩阵构建的常见做法。

为什么选择 EQVPS 做 CI

  • 固定费用、无限分钟。 无按分钟计量——繁忙的流水线和空闲的花费相同。
  • “热”缓存。 依赖和 Docker 层在多次运行之间留在 NVMe 上;构建变快,而不是变慢。
  • 约 60 秒拿到 root、干净镜像。 通过 cloud-init 提供 Ubuntu、Debian 等;安装你正需要的工具链。
  • 无需 KYC、加密货币付款。 用邮箱注册、用 USDC/USDT 付款。发布高峰时多开几个 runner,之后再关掉。

完整的分步设置指南 →

准备好部署了?加密货币付款、无需KYC——约一分钟上线。

立即部署 →

常见问题

如何在 VPS 上运行自托管的 GitHub Actions runner?

开通一台 Linux VPS(Small——4 vCPU / 4 GB——是合理的默认选择),从仓库的 Settings → Actions → Runners 安装 runner 软件包,用 GitHub 提供的令牌注册它,然后作为服务启动。完整的复制粘贴步骤见下文;你大约一分钟就能拿到 root。

可以在 Docker 中运行 runner 吗?

可以。在容器中运行官方 runner 镜像(或你自己的),或用它为每个任务提供隔离的、一次性的环境。不需要专用 IP——runner 只对 GitHub 发起出站连接,所以 NAT 套餐也可以。

如何让 runner 作为服务持续运行?

runner 自带一个 svc.sh 辅助脚本,用于安装 systemd 单元:./svc.sh install && ./svc.sh start。之后它能在重启后存活,并在失败时重启。下面的指南给出确切命令。

自托管 runner 比 GitHub 托管的分钟数更便宜吗?

对于繁重或频繁的 CI,是的。GitHub 托管的 runner 在免费额度之外按分钟计费;每月 $8 的 VPS 以固定费用运行无限分钟,并保持“热”状态(无冷启动、有缓存的依赖)。一个繁忙的仓库通常就能抵回这台机器的成本。

你们会索要身份证明或信用卡吗?

不会。用邮箱注册,用 USDC 或 USDT 付款。无需文件、无需卡片、永不 KYC。

评论

暂无评论。来做第一个吧。

发表评论

评论在显示前会经过审核。