跳至主要内容

关于 GitHub Codespaces 的计费

了解使用 GitHub Codespaces 的费用以及 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-月存储单位是基于时间的度量,1 GB-月表示一个完整月内使用 1 GB 的存储空间。所有 Codespaces 和预构建使用的磁盘空间每小时评估一次,您的当前 GB-月使用量将重新计算。因此,只要您有 Codespaces 和预构建,您的 GB-月使用量将在整个月中增加。例如,如果存储总计 15 GB,并且在整个月度计费周期内保持不变,那么您将在月中使用 7.5 GB,并在月底使用 15 GB。有关更多信息,请参阅本文后面的“关于存储使用费用的计费”。
  • “核心小时”是用于包含的计算使用量的度量。要计算核心小时数,请将 Codespace 处于活动状态的小时数乘以本文后面定价表中的乘数。对于基本机器类型,乘数是托管 Codespace 的机器中的处理器核心数量。例如,如果您将 2 核机器用于您的 Codespace 并且它处于活动状态一个小时,那么您已经使用了 2 个核心小时。如果您将 8 核机器使用一个小时,那么您已经使用了 8 个核心小时。如果您将 8 核机器使用两个小时,那么您已经使用了 16 个核心小时。

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

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

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

如果您无法恢复 codespace 并希望继续处理 codespace 中所做的更改,您可以执行以下任一操作。

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

如果您已使用完包含的存储使用量或包含的计算使用量,并且已设置付款方式和支出限额,则您个人帐户拥有的 codespace 的任何进一步使用将产生费用,具体取决于哪种使用类型没有剩余的包含配额。在您也使用完包含配额之前,您不会因其他使用类型而产生费用。

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

付费使用定价

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-月计量单位的更多信息,请参阅“关于存储使用费用的账单”。

如果您启用 codespace 的预构建,这将产生额外的费用。有关更多信息,请参阅“关于 Codespaces 预构建费用的账单”。

关于您的 GitHub Codespaces 账单

GitHub Codespaces 按照您的 codespace 使用的计算时间和存储空间量以美元 (USD) 计费。GitHub Codespaces 的费用始终按月计费,即使您的帐户以其他方式按年计费。

GitHub Codespaces 的账单共享您帐户的现有付款方式和收据。有关更多信息,请参阅“查看您的订阅和账单日期”。

如果您是组织所有者,您可以将 Azure 订阅 ID 连接到您的组织帐户,以启用并支付 GitHub Codespaces 的使用费用。有关更多信息,请参阅“连接 Azure 订阅”。

关于计算使用费用的说明

Codespace 的计算使用量是指 Codespace 处于活动状态的时间长度乘以定价表中 Codespace 机器类型的乘数。总计算使用量是通过将计费到特定帐户的所有 Codespace 使用的时间相加来计算的。这些总数每小时向计费服务报告,并按月计费。

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

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

关于存储使用费用的说明

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

注意

当您使用默认的开发容器配置时,您的开发容器将从用于 Codespaces 的默认 Linux 镜像构建。有关更多信息,请参阅“开发容器简介”。基于默认镜像的容器不计入已使用存储,无论您是否在开发容器配置中添加了功能。有关更多信息,请参阅“向 devcontainer.json 文件添加功能”。

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

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

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

例如,如果您有一个使用 100 GB 存储并已存在一个小时的 Codespace,那么您将在 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。

组织所有者可以

  • 列出您组织当前处于活动状态和已停止状态的 Codespaces。有关更多信息,请参阅“列出您组织中的 Codespaces”。除了这些 Codespaces 的成本外,本月 GitHub Codespaces 的成本可能还包括本月早些时候已存在但后来已删除的 Codespaces 的成本。
  • 查看本月迄今为止您组织的 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 分钟外,您还将因与每个预构建配置关联的预构建存储而被计费,这些配置适用于给定的存储库和区域。预构建的存储按与 Codespaces 存储相同的费率计费。

在单个区域中,预构建的存储成本将类似于从该预构建创建的单个 Codespace 的存储成本。如果在 Codespace 创建期间使用 updateContentCommandpostCreateCommand 命令将更多文件下载到开发容器中,则生成的 Codespace 的存储成本可能高于预构建的成本。

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

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

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

您可以通过查看个人或组织帐户的当前账单数据来查看预构建使用了多少 GB-月存储。有关更多信息,请参阅“查看您的 GitHub Codespaces 用量”。

如果您为分叉的仓库创建预构建,则这些预构建的存储成本将在您的每月包含存储中扣除,只要有可用存储。如果您已使用完所有包含存储,并且您已设置账单,则您的个人帐户将被计费。即使您为分叉创建的 Codespace 由拥有父仓库的组织付费,也是如此。有关更多信息,请参阅“分叉仓库的账单处理方式”。

控制预构建的成本

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

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

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

备注:

  • 预构建可能在一个计费周期内更新多次。预构建的较新版本可能比以前的版本更大或更小。这将影响存储费用。有关在计费周期内如何计算存储的详细信息,请参阅本文档前面部分的“关于存储使用费用的计费”。
  • 与删除 Codespaces 一样,删除预构建不会减少您在当前计费周期内使用的存储量,因为这是一个累积数字。

从预构建创建的 Codespaces 的成本

使用使用预构建创建的 Codespaces 的费用与常规 Codespaces 的费用相同。

设置支出限额

注意:您必须在您的个人、组织或企业帐户上设置一个非零支出限额,然后才能对该帐户使用 GitHub Codespaces 进行计费。

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

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

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

查看组织的预计使用情况

组织所有者和计费管理员可以查看当前每月计费周期内组织的 GitHub Codespaces 的估计总使用成本。有关更多信息,请参阅“查看您的 GitHub Codespaces 使用情况”。

组织计费页面上显示的预计使用情况是根据前七天(截至当前日期)发生的 Codespaces 计算和存储使用量的总成本计算的。这将被推算到计费月的剩余时间,以让您了解当前计费周期的总成本可能为多少。

用于此估计的计算方法为

<过去 7 天的总成本>/7 * <计费月剩余天数(包括当前日期)> + <本计费月已产生的成本>

预计使用情况不考虑诸如 GitHub Codespaces 是否仍然启用、当前存在的 Codespaces 的数量或大小或您的预构建设置等信息。因此,如果今天删除了组织的所有 Codespaces 和预构建,则计费月的预计使用情况仍将显示一个高于已产生使用情况的数字。但是,在经过七天后,如果没有进一步的 Codespaces 使用,预计使用情况将与当前已产生的使用情况相同。

限制组织拥有的代码空间的机器类型

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

如果选择了资源更多的机器类型,这将影响该代码空间的每小时收费,如表本文档前面所示。

组织所有者可以创建策略来限制用户为计费到组织或企业帐户的代码空间可用的机器类型选择。有关更多信息,请参阅“限制对机器类型的访问”。

限制组织拥有的代码空间数量

组织所有者可以限制人们可以创建的代码空间数量,其中组织将为代码空间付费。这有助于减少组织的存储费用。有关更多信息,请参阅“限制用户可以创建的组织计费代码空间数量”。

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

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

例如,考虑一个组织的成员或外部合作者,该组织已允许为该用户开具 Codespaces 的账单。如果该用户有权为组织拥有的私有仓库创建分支,他们随后可以为新仓库创建和使用 Codespaces,费用由组织承担。这是因为组织是父仓库的所有者。请注意,组织所有者可以删除用户对私有仓库、分支仓库以及 Codespaces 的访问权限。组织所有者还可以删除父仓库,这也会删除分支仓库。有关更多信息,请参阅“管理仓库的分支策略”。

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

仓库转移到另一个组织时的账单处理方式

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

GitHub Codespaces 模板的账单处理方式

您可以通过从模板创建 Codespaces 来开始一个新项目。从模板创建的 Codespaces 最初不与仓库关联,但您可以将 Codespaces 发布到您的个人帐户拥有的仓库。有关更多信息,请参阅“从模板创建 Codespaces”。

任何组织都可以维护一个用于 GitHub Codespaces 的模板仓库。与组织中的任何其他仓库一样,如果组织为 GitHub Codespaces 设置了支出限额,并允许创建 Codespaces 的用户以组织的费用进行操作,则从模板仓库创建的 Codespaces 将计费给组织。否则,Codespaces 将计费给创建 Codespaces 的用户。

如果用户发布了从模板创建的 codespace,codespace 将发布到用户个人帐户拥有的新仓库。如果 codespace 目前计费给组织,codespace 的所有权和计费将转移到创建 codespace 的用户。

用户被移除后会发生什么

如果用户从组织或仓库中被移除,他们的 codespace 将自动删除。