什么是 Codespace?
Codespace 是托管在云中的开发环境。你可以通过将配置文件提交到你的存储库(通常称为配置即代码)来为 GitHub Codespaces 定制你的项目,这将为你的项目的所有用户创建一个可重复的 Codespace 配置。有关更多信息,请参阅“开发容器简介”。
你创建的每个 Codespace 都由 GitHub 托管在 Docker 容器中,在虚拟机上运行。你可以从虚拟机类型中进行选择,从 2 个内核、8 GB RAM 和 32 GB 存储,到 32 个内核、64 GB RAM 和 128 GB 存储。
默认情况下,Codespace 开发环境是从包含多种流行语言和工具的 Ubuntu Linux 映像创建的,但你可以使用基于你选择的 Linux 发行版的映像,并根据你的特定要求对其进行配置。无论你的本地操作系统是什么,你的 Codespace 都将在 Linux 环境中运行。Windows 和 macOS 不支持远程开发容器的操作系统。
你可以从浏览器、Visual Studio Code、JetBrains Gateway 应用程序或使用 GitHub CLI 连接到你的 Codespaces。当你连接时,你将被放置在 Docker 容器中。你对外部 Linux 虚拟机主机的访问权限有限。
GitHub Codespaces 的优势
选择在 Codespace 中工作的理由包括
- 使用预先配置的开发环境 - 你可以在专门为存储库配置的开发环境中工作。它将拥有你在该项目上工作所需的所有工具、语言和配置。在 Codespace 中处理该存储库的每个人都将拥有相同的环境。这降低了发生与环境相关的问题并且难以调试的可能性。每个存储库都可以有设置,为贡献者提供一个开箱即用、适合用途的环境,并且本地机器上的环境将保持不变。
- 访问你需要的资源 - 你的本地计算机可能没有处理能力或存储空间,无法处理某个项目。GitHub Codespaces 允许你在拥有足够资源的机器上远程工作。
- 随时随地工作 - 您只需要一个网络浏览器。您可以在自己电脑上的代码空间、朋友的笔记本电脑或平板电脑上工作。打开您的代码空间,从您在其他设备上中断的地方继续工作。
- 选择您的编辑器 - 在 VS Code Web 客户端的浏览器中工作,或从一系列基于桌面的应用程序中进行选择。
- 处理多个项目 - 您可以使用多个代码空间处理单独的项目,或同一存储库的不同分支,对您的工作进行分隔,以避免为一项工作所做的更改意外影响您正在处理的其他工作。
- 与队友结对编程 - 如果你在 VS Code 中的代码空间中工作,你可以使用 Live Share 与团队中的其他人协作工作。有关更多信息,请参阅“在代码空间中协作工作”。
- 从代码空间发布您的 Web 应用程序 - 从您的代码空间转发一个端口,然后分享 URL,以便在您在提交请求中提交这些更改之前,允许队友试用您对应用程序所做的更改。
- 试用一个框架 - 当您想要学习一个新框架时,GitHub Codespaces 会减少设置时间。只需从快速入门模板创建一个代码空间即可。
使用 GitHub Codespaces
要开始使用基于云的计算资源进行开发,您可以从模板或存储库中的任何分支或提交中创建一个代码空间。当您从模板创建一个代码空间时,您可以从一个空白模板开始,或选择一个适合您正在进行的工作的模板。
要开始使用 GitHub Codespaces,请参阅“GitHub Codespaces 快速入门”。有关创建代码空间的更多信息,请参阅“为存储库创建代码空间”或“从模板创建代码空间”。如果您想返回您已经创建的代码空间,请参阅“打开现有代码空间”。要了解有关 GitHub Codespaces 如何工作的更多信息,请参阅“深入了解 GitHub Codespaces”。
使用您个人帐户拥有的代码空间
所有个人 GitHub.com 帐户都包含在免费或专业计划中,每月可免费使用 GitHub Codespaces。您可以在不更改任何设置或提供付款详细信息的情况下,开始在您的个人帐户上使用 GitHub Codespaces。
如果您从组织拥有的存储库创建代码空间,则代码空间的使用将向组织(如果组织已为此进行配置)或您的个人帐户收费。
您可以通过提供付款详情并设置支出限额,继续使用 GitHub Codespaces,而无需考虑每月包含的存储和计算使用量。有关详细信息,请参阅“关于 GitHub Codespaces 的计费”。
使用组织拥有的代码空间
GitHub Team 和 GitHub Enterprise 计划中的组织所有者可以支付其成员和协作者使用 GitHub Codespaces 的费用。这适用于从组织拥有的存储库创建的代码空间。有关详细信息,请参阅“选择在您的组织中拥有和支付代码空间的人员”。您可以为您的组织或企业帐户上的 GitHub Codespaces 使用设置支出限额。有关详细信息,请参阅“管理 GitHub Codespaces 的支出限额”。
如果代码空间的使用将计费给组织或企业,则在创建代码空间时会显示此信息。有关详细信息,请参阅“为存储库创建代码空间”。向组织或其父企业计费的代码空间归组织所有,组织所有者可以将其删除。有关详细信息,请参阅“删除代码空间”。
您从组织拥有的存储库创建 Codespaces 的能力取决于多个因素,包括存储库的可见性和组织或其父级企业的设置。有关详细信息,请参阅“Codespaces 的创建和删除故障排除”。
自定义 GitHub Codespaces
若要自定义 Codespace 中的运行时和工具,您可以为存储库创建一或多个开发容器配置。向存储库添加开发容器配置允许您定义一系列不同的开发环境,这些环境适合人们在您的存储库中执行的工作。
如果您从没有任何开发容器配置的存储库创建 Codespace,GitHub Codespaces 将把您的存储库克隆到包含许多工具、语言和运行时环境的默认开发容器映像的环境中。如果您从模板创建 Codespace,则可以从默认映像之上开始一些初始配置。有关详细信息,请参阅“开发容器简介”。
您可以使用公共 dotfiles 存储库个性化 Codespace 环境的各个方面。您可以使用 dotfiles 设置 shell 别名和首选项,或安装您喜欢使用的工具的个人首选项。如果您在浏览器或 Visual Studio Code 中使用 GitHub Codespaces,则可以使用 设置同步,为您的 Codespace 编辑器提供与您在 Visual Studio Code 本地安装中设置的相同设置、键盘快捷键、代码片段和扩展。
有关详细信息,请参阅“自定义您的 Codespace”。
Codespaces 的计费
有关 GitHub Codespaces 的定价、存储和使用情况的信息,请参阅“关于 GitHub Codespaces 的计费”。
注意:您必须为您的个人、组织或企业帐户设置非零支出限额,然后才能对使用 GitHub Codespaces 的情况向该帐户开具发票。
默认情况下,所有帐户的 GitHub Codespaces 支出限制为 0 美元。如果这样做会给您的个人、组织或企业帐户带来应计费用,则此限制将阻止创建新 Codespaces 或打开现有 Codespaces。对于个人帐户,如果您有权创建 Codespace,只要帐户尚未达到其每月包含的使用限制,您就可以这样做。对于组织和企业,默认支出限制意味着,要允许人们创建向组织或其父企业计费的 Codespaces,必须将限制更改为高于 0 美元的值。
即使您的帐户以其他方式按年计费,GitHub Codespaces 的费用也始终按月计费。有关组织所有者和计费经理如何管理组织的 GitHub Codespaces 支出限制的信息,请参阅“管理 GitHub Codespaces 的支出限制”。