跳至主要内容

关于 GitHub Codespaces 的计费

了解使用 GitHub Codespaces 的费用以及 GitHub 个人帐户包含的每月使用配额。

注意

2024 年 11 月 13 日之后在 GitHub 团队计划上创建的组织帐户可以访问增强的计费平台。

增强的计费平台提供更好的支出控制和详细的可视性,可帮助您了解您的使用情况以及更细粒度的控制。请参阅“使用新的计费平台”。

关于 GitHub Codespaces 定价

请注意,GitHub 可能会提前对基于用量的成本值应用临时授权保留,这将在您的帐户的付款方式中显示为待处理的费用。

GitHub Codespaces 由组织、企业或个人帐户付费。个人帐户的免费版和专业版包含每月最多固定使用量的免费 GitHub Codespaces 使用权限。

组织可以选择从其存储库创建的 codespaces 是用户拥有的还是组织拥有的。请参阅“选择谁拥有和支付组织中的 codespaces”。如果以下所有情况均属实,则组织将为 codespace 付费。

  • 组织已选择将 Codespaces 设置为组织所有。
  • 组织已为 GitHub Codespaces 设置了非零支出限额。
  • Codespace 是从组织的某个存储库或组织某个存储库的分支创建的。这包括公共和私有存储库。
  • 创建 Codespace 的用户是组织的成员或协作者,并且组织已为此用户启用了 GitHub Codespaces。如果组织已选择为所有用户启用 Codespaces,则这可能包括所有成员和协作者。如果未为用户启用 Codespaces,他们仍然可以从组织的公共存储库中创建 Codespaces,但用户需要为这些 Codespaces 付费。

有关为用户启用 GitHub Codespaces 的更多信息,请参阅“为您的组织启用或禁用 GitHub Codespaces”。

否则,GitHub Codespaces 的使用适用于创建 Codespace 的个人账户,并且要么消耗其个人账户每月包含的使用量的一部分,要么根据其超出包含配额的使用量对其账户进行计费。

组织和企业账户的免费、团队和企业套餐不包含任何免费使用 GitHub Codespaces 的内容。

个人账户每月包含的存储空间和核心小时

以下存储空间和核心小时的使用量包含在内,个人账户免费使用。

账户套餐每月存储空间每月核心小时
GitHub 免费个人账户15 GB-月120
GitHub Pro20 GB-月180

了解 GB-月和核心小时

个人账户包含的使用量以 GB-月和核心小时为单位进行衡量。

GB-月

存储空间的 GB-月单位是一种基于时间的度量,1 GB-月表示整个月 1 GB 的存储空间使用量。所有 Codespaces 和预构建的磁盘空间每小时评估一次,并且会重新计算您当前的 GB-月使用量。因此,在您拥有 Codespaces 和预构建时,您的 GB-月使用量将在整个月内增加。例如,如果存储空间总计 15 GB,并且在整个每月账单周期内保持不变,那么在月中您将使用了 7.5 GB,在月底您将使用了 15 GB。请参阅本文后面的“关于存储空间使用量的计费”。

核心小时

“核心小时”是用于包含的计算使用量的度量。要计算核心小时,请将 Codespace 处于活动状态的小时数乘以本文后面定价表中的乘数。对于基本机器类型,乘数是托管 Codespace 的机器中的处理器核心数。例如

  • 使用 2 核机器 1 小时等于 2 核心小时
  • 使用 8 核机器 1 小时等于 8 核心小时
  • 使用 8 核机器 2 小时等于 16 核心小时

使用包含的使用量

当您已使用包含配额的 75%、90% 和 100% 时,系统会通过电子邮件通知您。通知也会显示在 VS Code 和 VS Code Web 客户端中的“提示”消息中。如果需要,您可以关闭电子邮件通知。请参阅“管理 GitHub Codespaces 的支出限额”。

当个人账户已使用所有包含的存储空间或计算使用量(以先到达者为准),并且未配置支出限额时,将阻止使用 GitHub Codespaces。您必须设置付款方式和支出限额才能在当前账单月继续使用 GitHub Codespaces。在下个月的账单周期开始时,包含的使用量将重置。在阻止使用 GitHub Codespaces 期间,将不会对存储空间进行计费。

您可以随时查看本月使用情况的详细信息。请参阅“查看您的 GitHub Codespaces 使用情况”。

如果您被阻止恢复 Codespace 并且您希望继续处理在 Codespace 中所做的更改,您可以执行以下任一操作

  • 添加付款方式和大于 0 美元的支出限额。
  • 将 Codespace 中的更改导出到分支。请参阅“将更改导出到分支”。
  • 等待在下个月的账单周期开始时重置您的每月包含的使用量。

如果您已使用所有包含的存储空间使用量或包含的计算使用量,并且您已设置付款方式和支出限额,则您个人账户拥有的 Codespaces 的任何进一步使用将产生相应使用类型的费用,该使用类型没有剩余的包含配额。在您也使用完其所有包含配额之前,您不会被收取其他使用类型的费用。

有关如何充分利用允许的使用量的提示,请参阅“充分利用包含的使用量”。

付费使用价格

GitHub Codespaces 实例(“Codespace”)在处于活动状态时会产生计算时间的费用,并且在存在时会产生 Codespace 占用的磁盘空间量。计算成本与您为 Codespace 选择的机器类型中的处理器核心数量成正比,如下表所示。例如,在一台 16 核机器上使用 Codespace 一小时的计算成本是 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-月不适用$0.07

有关 GB-月计量单位的更多信息,请参阅“关于存储空间使用量的计费”。

如果您启用 Codespaces 的预构建,这将产生额外的费用。请参阅“关于 Codespaces 预构建的计费”。

关于您的 GitHub Codespaces 账单

GitHub Codespaces 将以美元 (USD) 为单位进行计费,具体取决于您的 Codespaces 使用的计算时间和存储空间量。GitHub Codespaces 的费用始终按月计费,即使您的账户以其他方式按年计费也是如此。

GitHub Codespaces 的计费共享您的账户的现有付款方式和收据。请参阅“查看您的订阅和账单日期”。

如果您是组织所有者,您可以将 Azure 订阅 ID 连接到您的组织账户以启用和支付 GitHub Codespaces 使用费用。请参阅“连接 Azure 订阅”。

关于计算使用量的计费

Codespace 的计算使用量是指该 Codespace 处于活动状态的时间长度乘以定价表中 Codespace 机器类型的乘数。总计算使用量是通过对特定账户可计费的所有 Codespaces 使用的时间进行求和计算的。这些总数每小时报告给计费服务,并按月计费。

例如,如果 Codespace 处于活动状态 1 小时 15 分钟,则计算成本将是 Codespace 的每小时成本(由其机器类型确定)乘以 1.25。

您可以通过停止 Codespaces 来控制计算使用量。有关信息,请参阅“停止和启动 Codespace”。Codespaces 在一段时间空闲后会自动停止。超时时间可以由用户或在组织级别配置。请参阅“设置您的 GitHub Codespaces 超时时间”和“限制空闲超时时间”。

关于存储空间使用量的计费

出于 GitHub Codespaces 计费目的,存储空间包括您账户中所有 Codespaces 和预构建使用的磁盘空间。这包括您在 Codespace 中使用的任何文件,例如克隆的存储库、配置文件、加载到 Codespace 的数据(例如作为存储库中运行的软件的输入或输出)以及扩展等。将对所有现有 Codespaces 的存储空间进行计费,无论它们是处于活动状态还是非活动状态,但由于包含的使用量配额用尽或达到支出限额而导致的使用被阻止的情况除外。Codespace 的存储空间计费在其被删除时结束。但是,删除 Codespace 不会减少您本月使用的存储空间量,因为这是一个累积数字。

基于默认映像的容器的存储空间计费

当您使用默认的开发容器配置时,您的容器将从 Codespaces 的默认 Linux 映像构建。请参阅“开发容器简介”。

即使您在开发容器配置中添加了功能,基于默认映像的容器也不会计为已使用存储空间。请参阅“向 devcontainer.json 文件添加功能”。

如果您使用默认映像,则 Codespace 的存储空间使用量将基于存储库中的文件以及您随后添加到 Codespace 的任何文件。如果您使用其他基本映像,则生成的容器和 Codespace 中的所有文件将计为已使用存储空间。

有关如何检查 Codespace 是否是从默认开发容器映像构建的信息,请参阅“充分利用包含的使用量”。

存储空间使用情况报告

Codespace 存储以 GB-月为单位报告。您的账单月从一个月的固定日期开始,持续到下一个月的同一天。在大多数情况下,月份的天数由您开始使用当前 GitHub 计划的那一天决定。您的 GB-月存储计算如下。每小时计算一次所有当前处于活动状态和已停止的 Codespace 使用的存储。然后将此数字除以当前账单月的小时数:总存储大小 / 本月小时数。结果将添加到本月的 Codespace 存储的运行总计中。

例如,如果您有一个 Codespace 使用了 100 GB 的存储,并且已存在一小时,那么在一个 30 天的月份中,您将使用了 100 / (24 * 30) = 0.1388 GB-月的存储。如果在 30 天的月份中,您使用 GitHub Codespaces 的情况包括两个都存在了整整三天的 100 GB Codespace,那么这些 Codespace 的存储将有 24 * 3 个小时报告,总计为 (24 * 3) * 200 / (24 * 30) = 20 GB-月。

对于每个小时报告,都会计算前一小时的存储使用情况(以秒为单位)。因此,如果 Codespace 未存在整整 60 分钟,则不会收取整整一小时的存储费用。在月末,GitHub 会将您的存储量四舍五入到最接近的 MB。

组织所有者可以

要估算基于用量的计费成本,您可以使用 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 创建期间使用updateContentCommandpostCreateCommand命令将更多文件下载到开发容器,则生成的 Codespace 的存储成本可能会高于预构建的成本。

与预构建配置相关的总存储成本将取决于以下因素。

  • 每个 GB 的存储价格(请参阅本文前面部分的表格)
  • 生成的预构建的大小(以 GB 为单位)
  • 预构建可用的区域数(因为预构建的副本存储在每个区域中)
  • 保留的旧版预构建的数量

因此,预构建配置生成的预构建的存储成本计算为:每 GB 价格 * 大小 (GB) * 区域 * 版本

您可以通过查看个人或组织帐户的当前账单数据来检查预构建已使用了多少 GB-月的存储。请参阅“查看您的 GitHub Codespaces 使用情况”。

如果您为派生仓库创建预构建,则这些预构建的存储成本将从您的每月包含存储中扣除(如果可用)。如果您已使用完所有包含的存储,并且已设置计费,则您的个人帐户将被计费。即使您为派生创建的 Codespace 由拥有父仓库的组织付费,情况也是如此。请参阅“派生仓库的计费处理方式”。

控制预构建的成本

为了减少 Actions 分钟的消耗,您可以将预构建设置为仅在您更改开发容器配置文件时或仅根据自定义计划进行更新。您还可以通过调整保留的每个预构建的先前版本的数量来管理存储使用情况。请参阅“配置预构建”。

为了限制与预构建相关的存储成本,您可以选择仅在选定的区域中创建预构建,并且可以指定将保留的旧版预构建的数量。请参阅“配置预构建”。

如果您删除预构建配置,则所有关联的预构建都将被删除,从而从那时起减少您的存储消耗。请参阅“管理预构建”。

预构建可以在账单月内多次更新。每次更新都可能会更改预构建的大小,这会影响您的存储费用。有关在账单月内如何计算存储的详细信息,请参阅本文前面部分的“关于存储使用情况的计费”。

提示

与删除 Codespace 一样,删除预构建不会减少您在本账单月内使用的存储量,因为这是一个累积数字。

使用预构建创建的 Codespace 的成本

使用预构建创建的 Codespace 的使用按与常规 Codespace 相同的费率收费。

设置支出限额

注意

在帐户可以因使用 GitHub Codespaces 而被计费之前,您必须在个人、组织或企业帐户上设置一个非零支出限额。

默认情况下,所有帐户的 GitHub Codespaces 支出限额为 0 美元。如果这样做会产生可计费的成本到您的个人、组织或企业帐户,这将阻止创建新的 Codespace 或打开现有的 Codespace。对于个人帐户,如果您有权创建 Codespace,则只要帐户未达到每月包含使用量的限制,您就可以这样做。对于组织和企业,默认支出限额意味着,为了允许人们创建计费到组织或其父级企业的 Codespace,必须将限额更改为高于 0 美元的值。

有关管理和更改帐户支出限额的信息,请参阅“管理 GitHub Codespaces 的支出限额”。

如果您的个人、组织或企业帐户达到其支出限额,您将无法再创建或恢复可计费到该帐户的 Codespace。但是,您仍然可以将任何正在进行的更改导出到新分支。有关更多信息,请参阅“将更改导出到分支”。

查看组织的预计使用情况

组织所有者和账单管理员可以查看组织当前每月账单周期的 GitHub Codespaces 的估计总使用成本。请参阅“查看您的 GitHub Codespaces 使用情况”。

组织账单页面上显示的预计使用情况是根据当前日期之前的前七天内产生的 Codespaces 计算和存储使用总成本计算得出的。这将被预测到账单月的剩余时间,让您了解当前账单周期的总成本可能为多少。

用于此估算的计算公式为

<前 7 天的完整天数成本>/7 * <账单月剩余天数(包括当天)> + <本账单月内已产生的成本>

预计使用量未考虑诸如 GitHub Codespaces 是否仍处于启用状态、当前存在的 Codespaces 数量或大小以及您的预构建设置等信息。因此,即使今天删除了组织的所有 Codespaces 和预构建,计费月份的预计使用量仍将显示高于已累积使用量的数字。但是,如果 7 天内没有进一步使用 Codespaces,则预计使用量将与当前已累积的使用量相同。

限制组织拥有的 Codespaces 的机器类型

默认情况下,创建 Codespace 时会使用具有最低有效资源的机器类型。但是,用户可能能够选择具有更多资源的机器类型。他们可以在创建 Codespace 时执行此操作,也可以更改现有 Codespace 的机器类型。请参阅“为存储库创建 Codespace”和“更改 Codespace 的机器类型”。

如果选择了具有更多资源的机器类型,则会影响该 Codespace 的每小时收费,如表 本文前面部分所示。

组织所有者可以创建策略来限制用户可用于计费到组织或企业帐户的 Codespaces 的机器类型选择。请参阅“限制对机器类型的访问”。

限制组织拥有的 Codespaces 的数量

组织所有者可以限制用户可以创建的 Codespaces 的数量,其中组织将为 Codespace 付费。这有助于减少组织的存储费用。请参阅“限制用户可以创建的组织计费 Codespaces 的数量”。

如何处理分支存储库的计费

从分支存储库创建的 Codespaces 的使用将计费到您的个人帐户,除非上游(或父)存储库位于允许您(作为组织的成员或外部协作者)以组织的费用使用 Codespaces 的组织中。

例如,考虑一个组织的成员或外部协作者,该组织已允许为该用户计费 Codespaces。如果用户有权为组织拥有的私有存储库创建分支,则他们随后可以以组织的费用为新存储库创建和使用 Codespace。这是因为组织是父存储库的所有者。请注意,组织所有者可以删除用户对私有存储库、分支存储库以及因此也对 Codespace 的访问权限。组织所有者还可以删除父存储库,这也会删除分支存储库。请参阅“管理存储库的分支策略”。

如果您为分支存储库创建预构建,则会在可用时从您的每月包含存储中减去这些预构建的存储成本。如果您已使用完所有包含的存储,并且已设置计费,则您的个人帐户将被计费。即使您为分支创建的 Codespaces 由拥有父存储库的组织付费,情况也是如此。

如何处理将存储库转移到另一个组织时的计费

每小时计算一次使用量。组织为从组织拥有的任何存储库创建的 Codespaces 的使用付费,前提是组织设置允许组织被计费。请参阅“选择谁拥有和支付组织中的 Codespaces”。当存储库从您的组织中转移出去时,与该存储库关联的任何 Codespaces 的所有权和计费责任将相应更改。

如何处理 GitHub Codespaces 模板的计费

您可以从模板创建 Codespace 来开始一个新项目。从模板创建的 Codespaces 最初未与存储库关联,但您可以将 Codespace 发布到您的个人帐户拥有的存储库。请参阅“从模板创建 Codespace”。

任何组织都可以维护一个供 GitHub Codespaces 使用的模板存储库。与组织中的任何其他存储库一样,如果组织已为 GitHub Codespaces 设置了支出限额并允许创建 Codespace 的用户以组织的费用这样做,则从模板存储库创建的 Codespace 将计费到该组织。否则,Codespace 将计费到创建 Codespace 的用户。

如果用户发布了从模板创建的 Codespace,则该 Codespace 将发布到用户个人帐户拥有的新存储库。如果 Codespace 当前计费到组织,则 Codespace 的所有权和计费将转移到创建 Codespace 的用户。

删除用户时会发生什么

如果用户从组织或存储库中删除,则其 Codespaces 将自动删除。