关于 GitHub Codespaces 定价
注意:GitHub 可能会提前对按流量计费的成本值应用临时授权保留,这将在帐户的付款方式中显示为待定费用。
GitHub Codespaces 由组织、企业或个人帐户支付。 个人帐户的免费版和专业版计划包括免费使用 GitHub Codespaces,每月有最多固定使用量。
如果下列所有条件均成立,则向组织或企业收取费用:
- 在其中启动 codespace 的存储库(如果是分支存储库,则为父存储库)归组织所有。
- 组织已配置为承担从存储库或存储库分支创建的 codespace 的费用。
- 创建 codespace 的用户属于组织或是与组织关联的外部协作者,并且组织已选择为此用户所使用的归组织所有的 codespace 付费。
否则,GitHub Codespaces 的使用费将计入创建 codespace 的人员的个人帐户,并消耗该个人帐户每月包含的使用量的一部分,或者根据超出所含配额的使用量向该帐户进行计费。
有关如何将组织配置为根据 codespace 使用量计费的信息,请参阅“为组织启用 GitHub Codespaces”。 面向组织和企业帐户的免费版、团队版和企业版计划不包括对 GitHub Codespaces 的任何免费使用。
付费使用定价
GitHub Codespaces 实例(“codespace”)在处于活动状态时会根据计算时间产生费用,并在存在时根据 codespace 占用的磁盘空间大小产生费用。 计算成本与为 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 美元 |
有关 GB/月度量值单位的详细信息,请参阅“关于存储使用情况的计费”。
如果启用代码空间的预构建,则会产生额外费用。 有关详细信息,请参阅“关于 Codespaces 预构建的计费”。
关于 GitHub Codespaces 的计费
GitHub Codespaces 是根据 codespaces 使用的计算时间长度和存储空间大小以美元 (USD) 计费的。 始终按月计算 GitHub Codespaces 的费用,即使你的帐户按年计费也是如此。
GitHub Codespaces 的计费将使用帐户的现有付款方式和收据。 有关详细信息,请参阅“查看订阅和结算日期”。
如果你是组织所有者或企业所有者,则可以将 Azure 订阅 ID 连接到组织或企业帐户,以启用和支付 GitHub Codespaces 使用量。 有关详细信息,请参阅“连接 Azure 订阅”。
关于计算使用量的计费
Codespace 的计算使用量是该 codespace 处于活动状态的时间长度乘以定价表中该 codespace 计算机类型的乘数。 总计算使用量的计算方式是将可向特定帐户计费的所有 codespace 使用的时间相加。 这些总数每小时向计费服务报告一次,并按月计费。
例如,如果 codespace 处于活动状态 1 小时 15 分钟,则计算成本将是 codespace 的每小时成本(由其计算机类型确定)乘以 1.25。
可通过停止 codespace 来控制计算使用量。 如需相关信息,请参阅“停止和启动 codespace”。 Codespace 在一段可配置的非活动时间后自动停止。 超时期限可以由用户配置,也可以在组织级别配置。 有关详细信息,请参阅“设置 GitHub Codespaces 超时期限”和“限制空闲超时期限”。
关于存储使用量计费
出于 GitHub Codespaces 计费目的,存储空间包括帐户中所有 codespace 和预生成所使用的磁盘空间。 这包括在 codespace 中使用的所有文件,例如克隆的存储库、配置文件、加载到 codespace 的数据(例如作为存储库中运行的软件的输入和输出的数据)以及扩展等内容。 对于你现有的所有 codespace,无论这些 codespace 处于活动状态还是非活动状态,都会对存储进行计费,但因已用尽包含的使用配额或达到支出限制而被阻止的使用除外。 Codespace 的存储计费在其被删除时终止。 但是,删除 codespace 不会减少当前计费月的已用存储量,因为这是一个累积数字。
注意
使用默认的开发容器配置时,将从 codespace 的默认 Linux 映像生成开发容器。 有关详细信息,请参阅“开发容器简介”。 基于默认映像的容器不计为已用存储,无论是否在开发容器配置中添加了功能。 有关详细信息,请参阅“向 devcontainer.json 文件添加功能”。
如果使用默认映像,则 codespace 的存储使用量将基于存储库中的文件以及随后添加到 codespace 的任何文件。 如果使用备用基础映像,则生成的容器和 codespace 中的所有文件都将计为已用存储。
有关如何检查是否从默认映像生成 codespace 的信息,请参阅“充分利用包含的使用量”。
以 GB/月为单位报告 codespace 存储。 计费月是从一个月的固定日期到下个月的同一天。 在大多数情况下,该固定日期由你开始执行当前 GitHub 计划的日期决定。 GB/月存储的计算方式如下。 每小时评估一次当前处于活动状态和停止状态的所有 codespace 所使用的存储空间。 然后,此数字除以当前计费月的小时数:total storage size / hours this month
。 结果将与当月 codespace 存储的累积总计相加。
例如,如果有一个 codespace 使用 100 GB 存储空间且已存在一小时,则在该月(30 天)已使用 100 / (24 * 30) = 0.1388
GB/月存储空间。 如果一个月(30 天)内使用的 GitHub Codespaces 包含两个 100 GB codespace,并且这两个 codespace 都存在整整三天,则将有针对这些 codespace 的存储的 24 * 3
个每小时报告,总共 (24 * 3) * 200 / (24 * 30) = 20
GB/月。
对于每一个每小时报告,前一小时的存储使用量以秒为单位计算。 因此,如果 codespace 的存在时间未满 60 分钟,则不会收取整整一小时的存储费用。 到月底,GitHub 会将您的存储量舍入到最接近的 MB。
组织所有者可以执行以下操作:
- 列出组织中当前处于活动状态和停止状态的 codespace。 有关详细信息,请参阅“列出组织中的 codespace”。 除了这些 codespace 的成本外,当月的 GitHub Codespaces 成本可能包括当月早些时候存在但之后已被删除的 codespace 的成本。
- 查看组织当月到目前为止的 GitHub Codespaces 计算和存储使用总量。 有关详细信息,请参阅“查看 GitHub Codespaces 使用情况”。
- 配置组织设置以管理 GitHub Codespaces 成本。 有关详细信息,请参阅“管理组织中的 GitHub Codespaces 成本”。
要估算计量服务的成本,可使用 GitHub 定价计算器。
关于 Codespaces 预生成的计费
预生成为存储库、分支和 devcontainer.json
配置文件的特定组合组装 codespace 的主要组件。 它提供了一种快速创建新 codespace 的方法。 特别是对于复杂和/或大型的存储库,你可以使用预生成更快地创建新 codespace。有关详细信息,请参阅“关于 GitHub Codespaces 预生成”。
预生成的 GitHub Actions 成本
预生成是通过在 GitHub 托管的运行器上运行 GitHub Actions 工作流来创建和更新的。 可配置期望的预生成更新的自动触发方式。 如需相关信息,请参阅“配置预生成”。
与其他工作流一样,在预生成工作流运行时,它们会消耗帐户中包含的 GitHub Actions 分钟数(如果有),或者它们会根据 GitHub Actions 分钟数产生费用。 有关 GitHub Actions 分钟定价的详细信息,请参阅“关于 GitHub Actions 的计费”。 创建或更新预生成不会产生 Codespaces 计算成本。
可通过下载帐户的使用情况报告来跟踪预生成工作流和存储的使用情况。 有关详细信息,请参阅“查看 GitHub Codespaces 使用情况”。
预生成的存储成本
除了 GitHub Actions 分钟数,还将针对与给定存储库和区域的每个预生成配置关联的预生成的存储计费。 预生成的存储按与 codespace 存储相同的费率计费。
单个区域中预生成的存储成本将类似于存储从该预生成创建的单个 codespace 所产生的存储成本。 例如,如果在 codespace 创建期间使用 updateContentCommand
和 postCreateCommand
命令将更多文件下载到开发容器,则生成的 codespace 的存储成本可能高于预生成的成本。
与预生成配置关联的总存储成本将取决于以下因素。
- 每 GB 存储价格。 请参阅本文前面的表。
- 生成的预生成的大小(以 GB 为单位)。
- 预生成可用的区域数(因为预生成的副本存储在每个区域)。
- 保留的预生成的旧版本数。
因此,预生成配置生成的预生成的存储成本计算方式如下:price per GB * size (GB) * regions * versions
。
通过查看个人或组织帐户的当前计费数据,可以检查预生成使用的存储量(以 GB/月为单位)。 有关详细信息,请参阅“查看 GitHub Codespaces 使用情况”。
控制预生成成本
为了减少 Actions 分钟数的消耗,可将预生成设置为仅在对开发容器配置文件进行更改时更新,或者仅在自定义计划中进行更新。 还可通过调整保留的每个预生成的早期版本数来管理存储使用量。 有关详细信息,请参阅“配置预生成”。
要限制与预生成关联的存储成本,可选择仅在选定区域创建预生成,并且可指定将保留的预生成的旧版本数。 有关详细信息,请参阅“配置预生成”。
如果删除预生成配置,会删除所有关联的预生成,从此时起存储消耗会减少。 有关详细信息,请参阅“管理预生成”。
注释:
- 在一个计费月内,预生成可能会多次更新。 预生成的新版本可能大于或小于早期版本。 这将影响存储费用。 有关如何计算一个计费月内的存储的详细信息,请参阅本文前面的“存储使用量计费”。
- 与删除 codespace 一样,删除预生成不会减少当前计费月的已用存储量,因为这是一个累积数字。
从预生成创建的 codespace 的成本
使用预生成创建的 codespace 的费用与常规 codespace 相同。
设置支出限制
注意:必须为个人、组织或企业帐户设置非零支出限制,然后才能向帐户对 GitHub Codespaces 的使用进行计费。
默认情况下,所有帐户的 GitHub Codespaces 支出限制为 0 美元。 这可以防止创建新的 codespace 或打开现有 codespace,如果执行这些操作,将对个人、组织或企业帐户产生可计费成本。 对于个人帐户,如果帐户尚未达到其每月包含的使用量限制,则始终可以创建和使用 codespace。 对于组织和企业,默认支出限制意味着,要允许用户创建向组织或其父企业计费的 codespace,必须将限制更改为高于 0 美元的值。
有关管理和更改帐户支出限制的信息,请参阅“管理 GitHub Codespaces 的支出限制”。
如果个人、组织或企业帐户达到其支出限制,则无法再创建或恢复可向该帐户计费的 codespace。 但你仍然可以将任何正在进行的更改导出到新分支。 有关详细信息,请参阅“将更改导出到分支”。
限制组织拥有的 codespace 的计算机类型
默认情况下,创建 codespace 时将使用具有最低有效资源的计算机类型。 但是,用户可能能够选择具有更多资源的计算机类型。 他们可以在创建 codespace 时执行此操作,也可以更改现有 codespace 的计算机类型。 有关详细信息,请参阅“为存储库创建 codespace”和“更改代码空间的计算机类型”。
如果选择了具有更多资源的计算机类型,这将影响该 codespace 的每小时费用,如本文前面表中所示。
对于向组织或企业帐户计费的 codespace,组织所有者可创建策略来限制用户可为其选择的计算机类型。 有关详细信息,请参阅“限制对计算机类型的访问”。
如何处理复刻的存储库的计费
从分支存储库创建的 codespace 的使用费将计入个人帐户,除非上游(或父)存储库位于以下类型的组织内:允许组织的成员或外部协作者使用 codespace,费用由组织承担。
例如,以某个组织的成员或外部协作者为例,该组织同意为该用户的 codespace 付费。 如果该用户有权对组织拥有的专用存储库创建分支,则可在之后为这个新存储库创建 codespace 并使用它,其费用由组织承担。 这是因为组织是父存储库的所有者。 请注意,组织所有者可以删除用户对专用存储库、分支存储库以及 codespace 的访问权限。 组织所有者还可以删除父存储库,这也将删除分支存储库。 有关详细信息,请参阅“管理仓库的复刻政策”。
注意:如果为某些组织成员和协作者或整个组织禁用 GitHub Codespaces 的计费,则任何可以将更改推送到组织中的存储库或创建分支的人仍然可以使用其个人帐户为该存储库创建 codespace。 但是,这不会对组织产生任何费用。 有关限制对存储库的访问的信息,请参阅“管理有权访问存储库的团队和人员”。
存储库转让给其他组织时如何处理计费
使用量每小时计算一次。 组织支付从组织拥有的任何存储库创建的 codespace 的使用费,其中组织设置允许对组织计费。 有关详细信息,请参阅“为组织启用 GitHub Codespaces”。 存储库转出组织后,与该存储库关联的任何 codespace 的所有权和计费责任都将相应地改变。
移除用户后会发生什么情况
如果从组织或存储库中移除用户,则会自动删除其代码空间。