概述
如果你是使用 GitHub Team 或 GitHub Enterprise Cloud 计划的组织的所有者,可以为成员和协作者对 GitHub Codespaces 的使用量付费。 为使用情况付费后,用户可使用 GitHub Codespaces 在存储库中工作,而无需自费,并且有助于组织更好地控制从存储库创建的 codespace。
要为使用情况付费,必须执行以下所有操作:
- 至少允许某些成员和协作者在组织的专用和内部存储库中使用 GitHub Codespaces。 请参阅“为组织启用或禁用 GitHub Codespaces”。
- 选择由组织拥有从组织的存储库创建的 codespace。 请参阅“选择谁拥有 codespace 并为其付费”
- 为 GitHub Codespaces 设置零使用支出限制。 请参阅“管理 GitHub Codespaces 的支出限制”。
关于选择谁为 codespace 付费
为 codespace 付费表示在 codespace 的生存期内为 codespace 的存储和计算成本付费。 请参阅“关于 GitHub Codespaces 的计费”。
使用 GitHub Free 计划的组织无法为 GitHub Codespaces 付费,因此创建 codespace 的用户始终需要付费。
对于使用 GitHub Team 或 GitHub Enterprise Cloud 计划的组织,当用户从组织的存储库创建 codespace 时,用户或组织都可以为 codespace 付费。 创建 codespace 的用户不能选择谁为它付费,但组织可以选择为某些用户付费。 在组织的设置中,可以选择将 codespace 设置为“用户拥有”或“组织拥有”。
如果组织选择将 codespace 归用户所有,就始终由从组织的存储库创建 codespace 的用户为 codespace 付费。 用户创建 codespace 的权限取决于存储库的可见性以及组织的访问设置。
如果组织选择将 codespace 归组织所有,并且满足以下所有条件,组织需要为 codespace 付费:****
- 组织已为 GitHub Codespaces 设置非零支出限制。
- codespace 是从组织的一个存储库创建的,或者从组织一个存储库的分支中创建的。 这包括公共、专用和内部存储库。
- 创建 codespace 的用户是组织的成员或协作者,并且组织为此用户启用了 GitHub Codespaces。 如果组织选择为所有用户启用 Codespaces,可以包括所有成员和协作者。 如果没有为用户启用 Codespaces,他们仍然可以从组织的公共存储库创建 codespace,但用户将为这些 codespace 付费。
有关为成员和协作者启用 GitHub Codespaces 的详细信息,请参阅“为组织启用或禁用 GitHub Codespaces”。
注意:如果拥有 具有托管用户的组织,并且不允许向组织收取 GitHub Codespaces 费用,则 托管用户帐户 成员将无法使用 GitHub Codespaces。**** 请参阅“关于 Enterprise Managed Users”。
关于 codespace 的所有权
codespace 由拥有它的帐户付费。 codespace 所有者可以是创建 codespace 的用户,也可以是组织。
如果你的组织拥有 codespace,组织就可以控制该 codespace。 例如,对于组织拥有的 codespace,你可以:
- 使用 REST API 管理 codespace,例如停止或删除 codespace
- 访问审核日志,查看与 GitHub Codespaces 相关的操作
- 设置策略以管理约束,例如限制可在 codespace 中使用的开发容器映像或计算机类型,或设置默认超时时间和保持期
如果用户拥有 codespace,组织就没有任何用于管理 codespace 的选项,即使 codespace 是从组织的任何存储库创建的也是如此。
当用户创建 codespace 时,系统会告诉他们谁将为其付费,以及谁拥有它。 从用户的角度来看,除了组织可用于设置 codespace 约束的策略外,无论谁拥有 codespace,GitHub Codespaces 的体验都是相似的。 例如,不管是谁拥有 codespace,用户对 GitHub Codespaces 的大部分个人设置(如点文件、机密和 GPG 验证)都适用。
关于更改设置
当你更改所有权设置时,现有 codespace 可以转移给新的所有者。
如果从“组织所有权”更改为“用户所有权”,组织当前拥有的 codespace 将转移到创建 codespace 的用户的所有权。 在进行此更改之前,应要求每个用户查看将转移给其所有权的 codespace。 这些 codespace 现在将在用户的个人帐户上产生使用量。
如果从“用户所有权”更改为“组织所有权”,现有 codespace 可能会转移到组织的所有权。 如果当前拥有 codespace 的用户是成员或协作者,并且你已为此用户启用了 GitHub Codespaces,则会转移 codespace。 否则,codespace 将仍由用户拥有。
选择谁拥有 codespace 并为其付费
注意:如果你无法访问将 codespace 设为“组织拥有”的选项,可能是因为你已为组织的专用和内部存储库中的所有用户禁用了 GitHub Codespaces。 请参阅“关于选择谁为 codespace 付费”
-
在 GitHub 的右上角,选择个人资料照片,然后单击 “你的组织”。
-
在组织旁边,单击“设置”。
-
单击左侧边栏中的 “Codespaces”。
-
在左侧栏的“ Codespaces”下单击“常规” 。
-
在 Codespaces 设置页上的“codespace 所有权”下,为组织选择所需的设置:
- 组织所有权:codespace 可由组织拥有和付费。
- 用户所有权:codespace 始终由创建 codespace 的用户拥有和付费。
-
(可选)在“codespace 访问”下,查看为其启用了 Codespaces 的成员和协作者。 只有这些用户可以创建由组织付费的 codespace。 请参阅“为组织启用或禁用 GitHub Codespaces”。
设置支出限制
注意:必须为个人、组织或企业帐户设置非零支出限制,然后才能向帐户对 GitHub Codespaces 的使用进行计费。
默认情况下,所有帐户的 GitHub Codespaces 支出限制为 0 美元。 这可以防止创建新的 codespace 或打开现有 codespace,如果执行这些操作,将对个人、组织或企业帐户产生可计费成本。 对于个人帐户,如果你有权创建 codespace,只要帐户还没有达到其每月包含的使用量限制,就可以执行此操作。 对于组织和企业,默认支出限制意味着,要允许用户创建向组织或其父企业计费的 codespace,必须将限制更改为高于 0 美元的值。
有关管理和更改帐户支出限制的信息,请参阅“管理 GitHub Codespaces 的支出限制”。