如何衡量 GitHub Codespaces 的使用情况
GitHub Codespaces 实例(“codespace”)会产生两种类型的费用。
- 计算时间:codespace 处于活动状态时的处理时间和功率****。
- 存储空间:codespace 或预生成 codespace(存在时)占用的磁盘空间量****。
此外,任何预生成 codespace 都是使用操作分钟数生成的,请参阅 关于 GitHub Codespaces 预生成。
计算时间
codespace 的计算时间是该 codespace 处于活动状态的时间长度。 每种处理器类型的总计算时间的计算方式是将可向特定帐户计费的所有 codespaces 使用的时间相加。 这些总数每小时向计费服务报告一次,并按月计费。
Codespaces 的存储卷
存储空间是基于时间的存储空间使用量度量(以 GB 小时为单位)。 针对 codespaces 测量的存储包括:
- 你在 codespace 中使用的任何文件,例如克隆的仓库和配置文件
- 加载到 codespace 的任何数据(例如,作为仓库中运行的软件的输入或输出)
- 任何扩展
- 任何预生成的 codespace,请参阅 关于 GitHub Codespaces 预生成
- 任何自定义开发容器,请参阅 开发容器简介
根据自定义配置生成的 codespaces 的存储卷
默认情况下,codespace 是从默认 Linux 映像(也称为“默认开发容器配置”)生成的。 如果从自定义开发容器配置生成 codespace,可看到存储卷增加。 请参阅“开发容器简介”。
- 默认 Linux 映像:codespace 的存储卷仅基于仓库中的文件以及添加到 codespace 的任何文件****。
- 自定义基础映像:除了仓库和 codespace 中的所有文件之外,codespace 的存储卷还包括自定义开发容器****。
基于默认映像的容器不会包含在存储卷中,即使在开发容器配置中添加了该功能也是如此。 请参阅“向 devcontainer.json 文件添加功能”。
个人帐户免费使用和付费使用
针对组织和企业的 GitHub 计划不包含 GitHub Codespaces 的免费配额。
免费配额
所有 GitHub 个人帐户都包含 GitHub Codespaces 的免费计算时间和存储配额。 超出所含量的任何使用量都会记入个人帐户。
帐户计划 | 每月存储空间 | 每月计算时间 |
---|---|---|
面向个人帐户的 GitHub Free | 15 GB/月 | 120 小时 |
GitHub Pro | 20 GB/月 | 180 小时 |
注意
GitHub Codespaces 不适用于托管用户帐户拥有的存储库。 有关详细信息,请参阅“关于 Enterprise Managed Users”。
有关使允许的使用量用得更久的提示,请参阅“充分利用包含的使用量”。
使用量超出包含的配额
如果你的帐户未添加有效的付款方式,则配额用尽后将无法继续使用服务。
如果恢复 codespace 的操作受到阻止,并且需要继续处理 codespace 中的更改,可以执行以下任一操作:
- 添加付款方式并查看预算设置,确保其满足你的使用需求。 请参阅“设置预算以控制按流量计费的产品的支出”。
- 将 codespace 中的更改导出到分支。 请参阅“将更改导出到分支”。
- 等待每月包含的使用量在下一个月度计费周期开始时重置。
支付使用费用
可以使用为 GitHub 帐户设置的付款方式支付使用 Codespaces 的费用。 请参阅“管理付款和账单信息”。
- 要估算付费 GitHub Codespaces 的使用费用,请使用 GitHub 定价计算器。
- 要查看当前分钟数和存储空间,请参阅 查看按流量计费的产品和许可证的使用情况。
- 优化 codespaces 的使用:
- 对于个人帐户,请参阅 充分利用包含的使用量
- 对于组织帐户,请参阅 管理组织中的 GitHub Codespaces 成本
定价
计算成本与为 codespace 选择的计算机类型中的处理器核心数成正比,如下表所示。 例如,在 16 核计算机上使用 codespace 一小时的计算成本是 2 核计算机的 8 倍。
组件 | 计算机类型 | 度量单位 | 包含的使用量乘数 | 价格 |
---|---|---|---|---|
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-月 | 不适用 | 0.07 美元 |
如何将成本分配给可计费帐户
所有使用费用均记入 codespace 创建者或所属组织的帐户。 请参阅“选择谁拥有组织中的 codespace 并为其付费”。
当仓库转移到不同组织时,与该仓库相关的任何 codespaces 的所有权和计费责任都会根据新组织的设置而发生变化。
如果从组织或存储库中移除用户,则会自动删除其代码空间。
分支仓库
从分支仓库创建的 codespaces 会记入你的个人帐户,除非上游(或父)仓库所在的组织允许你(作为组织成员或外部协作者)使用 codespaces,费用由组织承担。
例如,以某个组织的成员或外部协作者为例,该组织同意为该用户的 codespace 付费。 如果该用户有权对组织拥有的专用存储库创建分支,则可在之后为这个新存储库创建 codespace 并使用它,其费用由组织承担。 这是因为组织是父存储库的所有者。 请注意,组织所有者可以删除用户对专用存储库、分支存储库以及 codespace 的访问权限。 组织所有者还可以删除父存储库,这也将删除分支存储库。 请参阅“管理仓库的复刻政策”。
如果为分支存储库创建预生成,则这些预生成的存储成本将从每月包含的存储中减去(如有)。 如果已使用完所有包含的存储,并且已设置计费,则会对个人帐户进行收费。 即使为分支创建的 codespace 是由拥有父存储库的组织支付,也是如此。
GitHub Codespaces templates
任何组织都可以维护用于 GitHub Codespaces 的模板存储库。 与组织中的其他仓库一样,如果组织允许用户以组织账户支付费用创建 Codespace,那么从模板仓库创建的 Codespace 也将由组织承担费用。 否则,将向创建 codespace 的用户收取 codespace 费用。
如果用户发布从模板创建的 codespace,则 codespace 将发布到用户个人帐户拥有的新存储库。 如果 codespace 当前向组织计费,则 codespace 的所有权和计费将转移给创建 codespace 的用户。
托管用户帐户 不能是 codespace 的可计费所有者。 因此:
- 托管用户帐户 仅当 codespace 向组织计费时,才能从模板创建 codespace。
- 托管用户帐户 无法将从模板创建的 codespace 发布到新存储库。
管理 GitHub Codespaces 的预算
如果你的帐户未添加有效的付款方式,则配额用尽后将无法继续使用服务。
默认情况下,即使已添加有效付款方式,支出额度仍为 0 美元,除非你设置了预算。 你可通过设置并管理预算,来限制特定产品或 SKU 的支出额度。 请参阅“设置预算以控制按流量计费的产品的支出”。
Accounts that have migrated from the old billing platform may contain automatically generated budgets that mirror their previous spending limits.
如果个人、组织或企业帐户用完了其所有额度或预算,则无法再创建或恢复可向该帐户计费的 codespace。 但你仍然可以将任何正在进行的更改导出到新分支。 有关详细信息,请参阅“将更改导出到分支”。