Skip to content

Copilot 代码审查默认在标准 GitHub 托管 Runner 上运行。需要更好性能时可切换到更大规格 Runner 或自托管 ARC Runner。自托管 Runner 需放行三个域名,更大规格 Runner 按更高费率计费。2026 年 6 月起所有审查运行消耗 Actions 分钟数。

GitHub Copilot 代码审查 Runner 配置:自托管与大规格 Runner 指南

为什么需要配置 Runner

Copilot 代码审查在 GitHub Actions 环境中运行。默认使用标准 GitHub 托管 Runner,但在以下场景需要自定义 Runner:

  • 性能要求高:大型代码库的审查耗时较长,更大规格 Runner 能加快速度
  • 网络隔离:企业内网环境需要自托管 Runner 才能访问私有资源
  • 合规要求:部分企业要求代码只在自有基础设施上运行

Runner 类型对比

Runner 类型性能费用适用场景
标准 GitHub 托管标准标准每分钟费率一般项目
更大规格 GitHub 托管更高更高每分钟费率大型代码库
ARC 自托管 Runner可自定义自行承担基础设施网络隔离/合规场景

注意:目前仅支持 ARC 管理的 Ubuntu x64 作为自托管 Runner,不支持其他架构或非 ARC 方式部署的 Runner。

自托管 Runner 防火墙配置

自托管 Runner 必须能访问以下域名(出站 HTTPS 443 端口):

api.githubcopilot.com
uploads.github.com
user-images.githubusercontent.com

如果防火墙有严格出站限制,需要将这三个域名加入白名单,否则 Copilot 审查会失败。

更改 Runner 配置

在仓库的 copilot-setup-steps.yml 中指定 Runner:

使用更大规格 GitHub 托管 Runner

yaml
jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest-16-cores  # 或 ubuntu-latest-8-cores
    steps:
      - name: 检出代码
        uses: actions/checkout@v4

使用 ARC 自托管 Runner

yaml
jobs:
  copilot-setup-steps:
    runs-on: [self-hosted, linux, x64]
    steps:
      - name: 检出代码
        uses: actions/checkout@v4

该文件通常位于 .github/workflows/copilot-setup-steps.yml,如果不存在则 Copilot 使用默认配置。

费用说明(2026 年 6 月起)

2026 年 6 月 1 日起,Copilot 代码审查运行会计入 GitHub Actions 分钟消耗:

  • 标准 Runner(Linux):按标准 Linux 分钟费率
  • 更大规格 Runner:按对应规格的更高费率(通常是标准的 2~8 倍)
  • 自托管 Runner:不消耗 GitHub Actions 分钟配额,但需要自行运维

在启用大规模自动审查之前,建议先估算团队的 PR 频率 × 平均审查时长 × 费率,评估成本。

ARC Runner 部署参考

ARC(Actions Runner Controller)是 GitHub 官方的 Kubernetes 运算符,用于管理自托管 Runner。基本流程:

  1. 在 Kubernetes 集群中安装 ARC operator
  2. 创建 AutoscalingRunnerSet 资源,指定 Runner 镜像和配置
  3. copilot-setup-steps.yml 中通过标签选择该 Runner

完整 ARC 部署文档参考 GitHub 官方 Actions Runner Controller 文档。

常见问题

Q: 自托管 Runner 审查失败,报网络错误怎么处理?

A: 检查 Runner 所在网络是否能出站访问 api.githubcopilot.com(HTTPS 443)。用 curl -v https://api.githubcopilot.com 在 Runner 上测试连通性。

Q: 仓库没有 copilot-setup-steps.yml 文件,Copilot 用哪个 Runner?

A: 使用 GitHub 默认 Runner(ubuntu-latest,标准规格)。创建该文件只在需要自定义 Runner 类型或预安装依赖时才必要。

Q: 非 ARC 的自托管 Runner 可以用吗?

A: 目前官方不支持非 ARC 管理的自托管 Runner 用于 Copilot 代码审查。使用非标准方式部署的 Runner 可能出现兼容性问题,不在官方支持范围内。