如何衡量 GitHub Codespaces 的使用
GitHub Codespaces 实例(即“代码空间”)产生两类费用。
- 计算时间:代码空间处于活动状态时的处理时间和计算资源。
- 存储:代码空间或预构建所占用的磁盘空间量,只要它们存在。
此外,任何预构建的代码空间都是使用 Actions 分钟生成的,参见 关于 GitHub Codespaces 预构建。
计算时间
代码空间的计算时间是该代码空间处于活动状态的时长。每种处理器类型的计算时间总使用量通过汇总计费至特定账户的所有代码空间使用时间来计算。这些总量每小时报告给计费服务,并按月计费。
代码空间的存储容量
存储是一种基于时间的 GB‑hour 计量方式。对代码空间计量的存储包括
- 您在代码空间中使用的任何文件,例如克隆的仓库和配置文件
- 加载到代码空间的任何数据(例如,仓库中运行的软件的输入或输出)
- 任何扩展
- 任何预构建的代码空间,参见 关于 GitHub Codespaces 预构建
- 任何自定义开发容器,参见 开发容器简介
从自定义配置构建的代码空间的存储容量
默认情况下,您的代码空间是基于默认 Linux 镜像(即“默认开发容器配置”)构建的。如果您使用自定义开发容器配置来构建代码空间,存储容量会相应增加。参见 开发容器简介。
- 默认 Linux 镜像:代码空间的存储容量仅基于仓库中的文件以及您添加到代码空间的文件。
- 自定义基础镜像:代码空间的存储容量包括自定义开发容器以及仓库和代码空间中的所有文件。
基于默认镜像的容器不计入您的存储容量,即使您在开发容器配置中添加了功能。参见 向 devcontainer.json 文件添加功能。
个人账户的免费和计费使用
面向组织和企业的 GitHub 计划不包含 GitHub Codespaces 的免费配额。
免费配额
所有 GitHub 个人账户均包含 GitHub Codespaces 的免费计算时间和存储配额。超出包含额度的使用将计费至个人账户。
| 账户计划 | 每月存储 | 每月计算时间 |
|---|---|---|
| GitHub 免费(个人账户) | 15 GB‑month | 120 小时 |
| GitHub 专业版 | 20 GB‑month | 180 小时 |
注意
GitHub Codespaces 不适用于受管理用户账户拥有的仓库。更多信息请参见 关于企业受管理用户。
有关如何让您的可用配额使用得更久的技巧,请参见 充分利用包含的使用量。
使用超过包含的配额
如果您的账户没有有效的付款方式,配额耗尽后将被阻止使用。
如果您因被阻止而无法恢复代码空间,但仍需继续在代码空间中工作,您可以执行以下任意操作:
- 添加付款方式并检查预算设置,以确保其满足您的使用需求。参见 设置预算以控制按量计费产品的支出。
- 将代码空间中的更改导出到分支。参见 将更改导出到分支。
- 等待下一个计费周期开始时,每月包含的使用量重置。
使用付费
您使用为 GitHub 账户设置的付款方式为 Codespaces 付费。参见 管理付款和计费信息。
- 要估算付费 GitHub Codespaces 使用的费用,请使用 GitHub 定价计算器。
- 要查看您当前的分钟数和存储量,请参见 查看按量计费产品和许可证的使用情况。
- 优化代码空间的使用
- 个人账户请参见 充分利用包含的使用量
- 组织账户请参见 管理组织中 GitHub Codespaces 的费用
定价
计算费用与您为代码空间选择的机器类型的处理器核心数量成正比,如下表所示。例如,在 16 核机器上使用代码空间一小时的计算费用是 2 核机器的八倍。
| 组件 | 机器类型 | 计量单位 | 包含使用量倍率 | 价格 |
|---|---|---|---|---|
| Codespaces 计算 | 2 核 | 1 小时 | 2 | $0.18 |
| Codespaces 计算 | 4 核 | 1 小时 | 4 | $0.36 |
| Codespaces 计算 | 8 核 | 1 小时 | 8 | $0.72 |
| Codespaces 计算 | 16 核 | 1 小时 | 16 | $1.44 |
| Codespaces 计算 | 32 核 | 1 小时 | 32 | $2.88 |
| Codespaces 存储 | 存储 | 1 GB‑month | 不适用 | $0.07 |
费用如何分配到计费账户
所有使用量要么计费给创建代码空间的个人,要么计费给所属组织。参见 在组织中选择代码空间的所有者和付费方。
当仓库转移到另一个组织时,与该仓库关联的代码空间的所有权和计费责任会根据新组织的设置进行相应更改。
如果用户被从组织或仓库中移除,其代码空间将被自动删除。
分叉仓库
从分叉仓库创建的代码空间默认计费给您的个人账户,除非上游(或父)仓库所在的组织已经允许您(作为该组织的成员或外部协作者)使用组织费用来使用代码空间。
例如,若某组织已为成员或外部协作者开启了代码空间费用由组织承担的权限,而该用户拥有对组织所有的私有仓库的分叉权限,则该用户可以在新分叉仓库上创建并使用代码空间,费用由组织承担。因为组织是父仓库的所有者。请注意,组织所有者可以撤销用户对私有仓库、分叉仓库以及相应代码空间的访问权限,也可以删除父仓库,从而连带删除分叉仓库。参见 管理仓库的分叉策略。
如果您为分叉仓库创建预构建,这些预构建的存储费用会先从您每月包含的存储配额中扣除(在配额还有剩余时)。如果已用尽包含的存储且已设置计费,您的个人账户将被计费。即便为分叉创建的代码空间是由父仓库所属的组织支付费用,这一点仍然适用。
GitHub Codespaces 模板
任何组织都可以维护一个用于 GitHub Codespaces 的模板仓库。与组织中的其他仓库一样,若组织允许创建代码空间的用户使用组织费用,该模板仓库创建的代码空间将计费给组织;否则计费给创建代码空间的用户。
如果用户将从模板创建的代码空间发布,代码空间将被发布到由该用户个人账户拥有的新仓库。如果该代码空间当前计费给组织,则所有权和计费会转移给创建代码空间的用户。
受管理用户账户不能成为代码空间的计费所有者。因此
- 受管理用户账户只能在代码空间计费给组织时,从模板创建代码空间。
- 受管理用户账户无法将从模板创建的代码空间发布到新仓库。
管理 GitHub Codespaces 的预算
如果您的账户没有有效的付款方式,配额耗尽后将被阻止使用。
如果您已添加有效的付款方式,支出可能会被一个或多个预算限制。请检查为您的账户设置的预算,以确保它们符合您的使用需求。参阅设置预算以控制计量产品的支出。
在计费周期内,当您的 GitHub Codespaces 包含使用量达到 90% 和 100% 时,您还可以收到电子邮件通知。更多信息请参见 预算与警报。
如果您的个人、组织或企业账户已使用完全部配额或预算,您将无法再创建或恢复计费给该账户的代码空间。但仍可将任何进行中的更改导出到新分支。更多信息请参见 将更改导出到分支。