跳至主要内容

为仓库指定推荐的密钥

您可以向开发容器配置添加一个设置,该设置将在用户创建 Codespace 时提示他们设置特定的开发环境密钥。

谁可以使用此功能?

拥有仓库写入权限的人员可以创建或编辑 Codespace 配置。

如果项目需要设置用户特定的密钥,则可以在用户创建 Codespace 时提示他们执行此操作。您可以通过向仓库的开发容器配置文件添加设置来执行此操作。

指定推荐的密钥后,如果用户尚未在其 Codespaces 个人设置中创建这些密钥,则在他们使用高级选项方法创建 Codespace 时将提示他们这样做。这在 GitHub 上通过单击** 代码**按钮,然后单击**Codespaces**选项卡,然后选择并单击**使用选项新建**。

Screenshot of the options dropdown in the "Codespaces" tab, with the option "New with options" highlighted.

推荐的密钥列在页面底部。

Screenshot of the "Create codespace" page with four recommended secrets highlighted with a dark orange outline.

注意

仅当所选分支上的容器配置指定这些密钥时,这些推荐的密钥名称才会在此页面上列出。

每个推荐的密钥以三种方式之一显示

  • 如果用户尚未在其 Codespaces 设置中设置推荐的密钥,则会显示一个输入框,允许他们立即创建密钥。如果您已配置,则会显示说明和指向更多信息的链接。输入值是可选的。
  • 如果用户已创建推荐的密钥但尚未将其与该仓库关联,则他们可以选择一个复选框以添加此关联。这样做是可选的。
  • 如果用户已创建推荐的密钥并将其与该仓库关联,则会显示一个预选的复选框。

对于开发环境机密,您应该使用推荐的机密,这些机密需要创建代码空间的用户提供,而不是存储库或组织的所有者提供。例如,如果您有一个公共项目,并且用户必须提供个人 API 密钥才能在您的项目中运行应用程序,您可以指定一个推荐的机密,以便用户在使用高级选项页面创建代码空间时,系统会提示他们提供密钥作为该机密的 value。

或者,对于存储库或组织的所有者可以提供的开发环境机密(例如,在团队之间共享的 API 密钥),您可以在存储库或组织级别设置机密。有关详细信息,请参阅“管理存储库或组织的开发环境机密”。

  1. 您可以通过向devcontainer.json 文件添加设置来配置为您的存储库创建的代码空间。如果您的存储库尚不包含devcontainer.json 文件,您可以现在添加一个。请参阅“向您的存储库添加 dev 容器配置”。

  2. 编辑devcontainer.json 文件,在文件的顶层,在封闭的 JSON 对象内添加secrets 属性。例如

    JSON
    "secrets": {
      "NAME_OF_SECRET_1": {
        "description": "This is the description of the secret.",
        "documentationUrl": "https://example.com/link/to/info"
      },
      "NAME_OF_SECRET_2": { }
    }
    
  3. 为要推荐的每个机密在secrets 中添加一个属性。例如,在前面的代码示例中,将NAME_OF_SECRET_1NAME_OF_SECRET_2 更改为用户应在其个人 Codespaces 设置中创建的机密的名称。

  4. 可选地,为每个机密提供说明和有关此机密的更多信息的 URL。

    您可以省略descriptiondocumentationUrl,如前面的代码示例中的NAME_OF_SECRET_2 所示。

  5. 根据需要指定其他机密。

  6. 保存文件并将更改提交到存储库所需的 branch。

进一步阅读