检查、更改和删除预构建配置
您为存储库配置的预构建是使用 GitHub Actions 工作流程创建和更新的,由 Codespaces 服务管理。
根据预构建配置中的设置,更新预构建模板的工作流程可能由以下事件触发:
- 创建或更新预构建配置
- 将提交或拉取请求推送到配置为具有预构建的分支
- 更改任何开发容器配置文件
- 在预构建配置中定义的计划
- 手动触发工作流程
预构建配置中的设置确定哪些事件会自动触发预构建模板的更新。 更多信息请参阅“配置预构建”。
对存储库具有管理员访问权限的人员可以检查预构建、编辑和删除预构建配置的进度。
查看预构建的进度
您可以查看在存储库设置的 Codespaces 页面上设置的每个预构建配置的最新工作流程运行当前状态。 例如,“正在运行”或“上次在 1 小时前运行”。
要查看最新预构建工作流程运行的日志输出,请单击 See output(查看输出)。

这将在 Actions(操作)选项卡中显示最近运行的工作流程的输出。

或者,要查看与指定分支关联的所有预构建工作流程运行,请单击省略号按钮,然后从下拉菜单中选择 View runs(查看运行)。

这将显示关联分支的预构建的工作流程运行历史记录。

编辑预构建配置
-
在存储库设置的 Codespaces 页面上,单击要编辑的预构建配置右侧的省略号。
-
在下拉菜单中,单击 Edit(编辑)。

-
对预构建配置进行所需的更改,然后单击 Update(更新)。
禁用预构建配置
要暂停更新配置的预构建模板,可以禁用配置的工作流程运行。 为预构建配置禁用工作流程不会删除以前为该配置创建的任何预构建模板,因此,代码空间将继续从现有预构建模板生成。
如果需要调查模板创建失败,则禁用工作流程运行预构建配置非常有用。
-
在存储库设置的 Codespaces 页面上,单击要禁用的预构建配置右侧的省略号。
-
在下拉菜单中,单击 Disable runs(禁用运行)。

-
要确认是否要禁用此配置,请单击“ OK(确定)”。
删除预构建配置
删除预构建配置也会删除以前为该配置创建的所有预构建模板。 因此,在删除配置后不久,在创建新代码空间时,由该配置生成的预构建将不再可用。
删除预构建配置后,该配置已排队或已启动的工作流程运行仍将运行。 它们将与以前完成的工作流程运行一起列在工作流程运行历史记录中。
-
在存储库设置的 Codespaces 页面上,单击要删除的预构建配置右侧的省略号。
-
在下拉菜单中,单击 Delete(删除)。

-
单击 OK(确定)以确认删除。
手动触发预构建
手动触发预构建配置的工作流程运行可能很有用。 通常,仅当您要调试预构建配置的工作流程问题时,才需要这样做。
-
在存储库设置的 Codespaces 页面上,单击要触发其工作流程的预构建配置右侧的省略号。
-
在下拉菜单中,单击 Manually trigger(手触发)。

允许预构建访问外部资源
默认情况下,预构建配置的 GitHub Actions 工作流程只能访问其自己的存储库内容。 您的项目可能会使用其他资源来构建开发环境,例如其他存储库中的文件、包、GHCR 映像和 API。 要允许预构建安装程序访问这些资源,需要创建一个新的个人帐户,然后使用此帐户创建具有适当作用域的个人访问令牌 (PAT)。
-
在 GitHub 上创建新的个人帐户。
警告:虽然您可以使用现有的个人帐户生成 PAT,但我们强烈建议您创建一个只能访问方案所需目标存储库的新帐户。 这是因为访问令牌的
repository权限授予访问对帐户有权访问的所有存储库。 更多信息请参阅“注册新的 GitHub 帐户”和“ GitHub Actions 的安全强化”。 -
向新帐户授予对所需存储库的读取访问权限。 更多信息请参阅“管理个人对组织仓库的访问”。
-
登录到新帐户时,创建
repo范围的 PAT。 (可选)如果预构建需要从 GitHub Container registry 下载包,还要选择read:packages作用域。 更多信息请参阅“创建个人访问令牌”。
如果预构建将使用 GitHub Container registry 中的软件包,则需要向新帐户授予对软件包的访问权限,或者将软件包配置为继承要预构建的存储库的访问权限。 更多信息请参阅“配置包的访问控制和可见性”。
-
复制令牌字符串。 您将此密钥分配给 Codespaces 存储库机密。
-
重新登录到对存储库具有管理员访问权限的帐户。
-
在要为其创建 Codespaces 预构建的存储库中,创建一个名为
CODESPACES_PREBUILD_TOKEN的新 Codespaces 存储库机密,为其提供您创建和复制的令牌值。 更多信息请参阅“管理用于 Codespaces 的仓库和组织的加密密钥”。
PAT 将用于为存储库创建的所有后续预构建模板。 与其他 Codespaces 存储库机密不同, CODESPACES_PREBUILD_TOKEN 机密仅用于预构建,不可用于从存储库创建的代码空间。
延伸阅读
- “预构建疑难解答”