1. 官方 Runner 的配置是默认 2C7G 吗?会动态调整吗?#
- 默认配置: 是的,对于最常用的 Linux 标准 Runner,官方默认配置确实接近你说的参数。
- Linux (Standard): 2 vCPU, 7 GB RAM, 14 GB SSD 存储空间。
- Windows (Standard): 2 vCPU, 7 GB RAM。
- macOS (Standard): 3 vCPU, 14 GB RAM (M1 芯片) 或其他配置,通常较高。
- 动态调整: 不会。
- GitHub 不会根据你任务的负载自动给你“加内存”或“加 CPU”。如果你的编译任务内存溢出(OOM),任务会直接失败。
- 例外情况: GitHub 提供了 "Larger Runners"(大型 Runner),你可以手动配置使用 4核、8核甚至 64核的机器,但这需要你额外设置并付费(费用比标准版贵得多)。它不是自动调整的,是你必须在 YAML 文件里指定
runs-on: ubuntu-latest-8-cores这种标签。
2. Self-hosted 会消耗 GitHub 的使用时间(Minutes)吗?#
- 结论:不会。
- 详细说明:
- Self-hosted Runner 是 完全免费 使用 GitHub Actions 服务的。
- 它不消耗你账户里的“每月免费额度”(例如 Free 账号的 2000 分钟/月)。
- 你哪怕让 Self-hosted Runner 24小时跑满一个月,GitHub 这里的账单也是 0。
- 成本转移: 你的成本变成了你自己服务器的费用。
| 特性 | GitHub-Hosted (官方) | Self-hosted (自托管) |
|---|---|---|
| 环境纯净度 | 每次都是全新的。任务结束,VM直接销毁。环境极其纯净,无残留。 | 环境是持久的。上次编译留下的文件、Docker 镜像、缓存都会保留。 |
| 构建速度 | 慢。每次都要重新拉取 Docker 镜像、重新安装 npm install (除非用了 Actions Cache)。 | 极快。如果你做了缓存,第二次编译可能只需要几秒(利用本地 Docker 层级缓存和 node_modules)。 |
| 维护成本 | 零。不用管系统升级、磁盘清理、网络配置。 | 高。你需要自己装 Docker、Git,还得定期清理 Docker 垃圾(docker prune),否则磁盘很快爆满。 |
| 安全性 | 高。适合开源项目(Public Repo)。防止恶意 PR 攻击。 | 低 (对公网项目)。千万不要在公开仓库用 Self-hosted! 如果有人提个 PR 改了脚本,能直接控制你的服务器挖矿或删库。 |
| 网络环境 | Azure 美国机房网络。连接外网通常较快,但连国内服务器慢。 | 取决于你的服务器。如果你在内网部署,可以直接访问内网数据库进行集成测试。 |
| 并发限制 | 受限于 GitHub 套餐(Free 账号通常并发 20 个)。 | 受限于你的服务器数量和性能。你可以开 100 个 Agent 只要你服务器扛得住。 |
评论
还没有评论,来发第一个吧