按真实工作负载估算分钟数
小应用也可能因为矩阵构建、Docker 镜像层、浏览器测试、依赖安装和频繁 PR 更新快速消耗额度。
CI/CD 免费层不只是构建分钟数。真正的选择还包括 Runner 类型、缓存与制品存储、密钥处理、部署审批、排队时间,以及流水线和代码托管平台要绑定到什么程度。
| 提供商 | 免费套餐 | 使用额度 | 功能特性 | 工作区限制 | 关键限制 | 操作 |
|---|---|---|---|---|---|---|
GitHub Actions仓库原生 CI/CD | GitHub Free;公开仓库免费 | GitHub Free 含每月 2,000 分钟、500 MB 制品存储和 10 GB 缓存;公开仓库和自托管 Runner 免费 | 支持 Workflow YAML、矩阵构建、缓存、制品、Dependabot 集成和丰富的 Action 市场 | 公开仓库、Dependabot 和自托管 Runner 免费;私有仓库消耗账号额度 | Large Runner 始终收费;私有仓库托管 Runner 额度耗尽后若未绑定支付方式会直接停用 | 访问官网 ↗ |
GitLab CI/CDDevSecOps 全家桶 | 每用户每月 0 美元起 | 5 个授权用户、每月 400 计算分钟、10 GiB 存储 | 内置源码管理、流水线、合并请求、Runner、安全扫描和完整 DevSecOps 流程 | 适合希望把代码托管和 CI 放在同一平台的小团队或开源项目 | 免费层上限为 5 个授权用户和 400 计算分钟,额外分钟和存储需单独购买 | 访问官网 ↗ |
Azure Pipelines微软 DevOps | 开源项目可免费使用 | 开源项目可用 10 个免费并行任务且分钟不限;私有项目的微软托管用量含每月 1,800 分钟 | 支持 YAML 流水线、多阶段发布、容器构建、多平台任务和深度 Azure 集成 | 适合开源项目、连接 GitHub 的流程以及需要托管或自托管 Agent 的团队 | 私有项目一旦超出托管并行任务数或托管分钟额度,就会从免费切到付费 | 访问官网 ↗ |
阿里云 云效阿里云 DevOps | 个人使用模式免费,研发资源含免费额度 | 含 20 GiB Git 存储、20 GiB Git LFS、10 GiB 制品库存储和每月 3000 核分构建资源 | 包含 Codeup、Flow 流水线、Packages、Projex 协作以及 Insight / Appstack 效能工具 | 个人模式最多 5 个账号;企业协作模式支持更大规模组织 | Region 版按量计费;超出免费研发资源或启用企业协作模式后会进入付费 | 访问官网 ↗ |
Bitbucket PipelinesAtlassian 代码 + CI | 最多 5 个用户可永久免费 | 每月 50 构建分钟、1 GB 工作区存储和 1 GB Git LFS | 支持仓库内 CI/CD、部署环境、Pull Request 和适配 Jira 的团队流程 | 适合希望把源码管理和部署流程放在同一工作区的小型 Atlassian 团队 | 免费层限制在 5 个用户和 50 构建分钟,额外分钟单独收费 | 访问官网 ↗ |
CircleCI按使用量计费的流水线 | 每月 0 美元起 | 最多 6,000 构建分钟、5 个活跃用户、2 GB 存储和 1 GB 网络流量 | 支持配置即代码流水线、Docker/Windows/Linux/macOS 执行器、自托管 Runner 和并发控制 | 适合需要多执行器选择和相对可预期免费 CI 容量的团队 | 免费层按 credits 和用量计算,超出免费包后会很快进入付费 | 访问官网 ↗ |
代码已经在 GitHub 上,并且需要 Action 市场、Pull Request 检查、Release 自动化和自托管 Runner 时,优先看 GitHub Actions。
当源码管理、合并请求、流水线、包仓库、安全扫描和部署环境都希望在一个平台里管理时,GitLab CI/CD 更合适。
Azure 用量较重、开源项目需要较慷慨托管能力,或多平台任务依赖微软 DevOps 时,可以看 Azure Pipelines。
当代码、制品、部署和团队协作需要国内访问体验与阿里云集成时,可以看云效。
小应用也可能因为矩阵构建、Docker 镜像层、浏览器测试、依赖安装和频繁 PR 更新快速消耗额度。
托管 Runner 方便但受额度限制。自托管 Runner 能降低 CI 账单,但补丁、密钥隔离、容量和清理都要自己负责。
依赖、Docker 和构建缓存能节省分钟数,但过期缓存也可能掩盖可复现性问题,或意外占用存储配额。
生产部署应要求保护分支、环境审批、最小权限密钥、回滚路径和可见部署历史。
端到端测试、移动端构建、Windows/macOS 任务和 Docker 构建,比只跑 lint 的流水线重很多。
不要把生产密钥暴露给不可信 PR。应使用环境审批、日志脱敏和最小权限 Token。
构建制品、覆盖率报告、截图和发布包需要保留规则,否则会悄悄消耗存储额度。
Workflow 使用越多市场 Action、专有上下文和托管服务,未来迁移 CI 平台就越难。
每个 PR 运行类型检查和单元测试,分支生成预览环境,受保护主分支触发生产部署。
镜像只构建一次,先扫描再推送到镜像仓库,然后用不可变标签经过预发和生产审批部署。
使用路径过滤、依赖图和共享缓存,让变更只触发相关包、测试和部署任务。
GitHub Actions 通常是最简单的默认选择,因为检查、权限、Action 市场、环境和 Release 都内置在 GitHub 工作流里。公开仓库尤其宽松。
先统计每月 PR 和提交触发次数,乘以平均任务时长,再加上 Docker 构建、浏览器测试、移动端构建和发布流水线这类重任务。
多数平台不会对自托管机器收托管 Runner 分钟费,但你仍要承担基础设施、维护、隔离、网络、监控和安全加固成本。
常见隐藏成本包括缓慢依赖安装、不受控 Docker 构建、长时间浏览器测试、制品保留、缓存存储,以及付费 macOS 或大规格 Runner。
当排队时间影响开发、生产部署需要审批和审计、托管分钟长期耗尽,或安全要求需要更强控制时,就应该升级。