Appearance
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。基本流程:
- 在 Kubernetes 集群中安装 ARC operator
- 创建
AutoscalingRunnerSet资源,指定 Runner 镜像和配置 - 在
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 可能出现兼容性问题,不在官方支持范围内。