EQVPS

用于自托管 GitHub Actions runner 的 VPS

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

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

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

runner 需要什么

设置 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

完整的分步设置指南 →

准备好部署了?加密货币付款、无需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。

评论

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

发表评论

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