如何使用自托管 GitHub Runner 运行 GitHub Actions 工作流?

有时候github action 提供的runner不能满足我们的一些需求,此时我们可以使用自托管runner来运行github action jobs, 设置步骤如下.

✅ 步骤一:在服务器部署自托管 runner

  1. 进入你的 GitHub 仓库(或组织)页面。
  2. 点击右上角 “Settings” → “Actions” → “Runners”。
  3. 选择 “New self-hosted runner”,根据你的操作系统下载对应的 runner。
  4. 按照 GitHub 提示进行配置和运行:
1
2
3
4
5
6
7
8
9
10
11
12

# 下载和解压 runner(以 Linux 为例)
mkdir actions-runner && cd actions-runner
curl -O -L https://github.com/actions/runner/releases/download/v2.x.x/actions-runner-linux-x64-2.x.x.tar.gz
tar xzf ./actions-runner-linux-x64-2.x.x.tar.gz

# 配置 runner
./config.sh --url https://github.com/<your_org_or_user>/<your_repo> --token <token>

# 启动 runner
./run.sh

你也可以用 svc.sh install 注册为系统服务。

✅ 步骤二:在 Workflow 中使用自托管 runner

.github/workflows/xxx.yml 中,将 job 的 runs-on 设置为 self-hosted 并加上自定义标签:

1
2
3
4
5
6
7
8
9

jobs:
build:
runs-on: [self-hosted-runner, another-self-hosted-runner]
steps:
- uses: actions/checkout@v3
- name: Build
run: echo "运行在selfhosted的 runner 上"

✅ 可选:多个中国节点时做区域调度

如果你有多个节点,可以给每个 runner 加上不同的标签(如 tag-atag-b),并通过 GitHub Actions 的 matrixif 做条件调度。

如何使用自托管 GitHub Runner 运行 GitHub Actions 工作流?

https://pengtech.net/github/selfhosted-github-runner.html

作者

鹏叔

发布于

2025-05-01

更新于

2025-05-01

许可协议

评论