Skip to content

如何设置自托管的 GitHub Runner

开始我们自己的 GitHub runner 需要的条件:

  • PAT 令牌
  • 组织名称
  • 含有 github runner 的容器
  • Docker 主机

让我们一步步地设置它。对于含有 github runner 的容器,我们将使用 github-runner

获取 PAT 令牌

  1. 访问 Personal Access Tokens 页面并点击 Generate new tokenpat_1
  2. 输入 Token 名称,选择 Resource owner(你组织的名称)和 Expiration(出于安全原因,最好不要使用无限时间)。 pat_2
  3. 点击 Organization permissions 右侧的箭头。 pat_3
  4. Self-hosted runners 选择 Access: Read and writepat_4
  5. 现在点击 Generate tokenpat_5
  6. 将生成的令牌(它以 github_pat_... 开头)复制到一个安全的地方。

获取组织名称

我是多个组织的所有者。例如,我将为 fasthelp-ai 组织使用自托管 runner。 org_1

启动我们的 runner

可能需要更改 docker.sock 的权限,因为我们的 runner 需要访问 docker.sock。可以通过在终端使用以下命令来实现。在 debian/ubuntu 的情况下:

shell
sudo chmod 666 /var/run/docker.sock

选项 1. Docker 单行命令

现在,我们可以使用我们的 PAT 令牌、组织名称和可选名称。

shell
docker run --rm \
  -e ORG=fasthelp-ai \
  -e ACCESS_TOKEN=github_pat_... \
  -e NAME=hetzner-1 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  ghcr.io/romnovi/github-runner:main

选项 2. Docker compose

shell
services:
  runner:
    image: ghcr.io/romnovi/github-runner:main
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - ORG=fasthelp-ai
      - ACCESS_TOKEN=github_pat_...
      - NAME=hetzner-1

检查

启动 runner 后,我们可以在组织的设置页面检查其状态:Actions -> Runnerscheck_1