Skip to main content

为存储库指定建议的机密

可在开发容器配置中添加一个设置,以在用户创建 codespace 时提示用户设置特定机密。

谁可以使用此功能

People with write permissions to a repository can create or edit the codespace configuration.

如果项目需要设置用户特定机密,则你可在用户创建 codespace 时提示用户进行此设置。 你可在存储库的开发容器配置文件中添加设置来实现此目的。

当你指定建议的机密后,如果用户尚未在 Codespaces 个人设置中创建这些机密,则在他们使用创建 codespace 的高级选项方法时,系统会提示他们创建这些机密。 这需在 GitHub.com 上完成,具体方法是依次单击“ 代码”按钮、“Codespaces”选项卡,然后选择 并单击“使用选项新建” 。

“Codespaces”选项卡中选项下拉列表的屏幕截图,其中突出显示了选项“使用选项新建”。

建议的机密列在页面底部。

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

注意:仅当所选分支上的容器配置指定了这些机密时,建议的机密的名称才会列在此页上。

每个建议的机密都以下列三种方式之一显示:

  • 如果用户尚未在 Codespaces 设置中设置建议的机密,则会显示一个输入框,让他们能够立即创建机密。 如果已配置建议的机密,则会显示说明和指向详细信息的链接。 输入值是可选操作。
  • 如果用户已创建建议的机密,但尚未将其与此存储库关联,则可选中一个复选框来添加此关联。 这样做是可选操作。
  • 如果用户已创建建议的机密并将其与此存储库关联,则会显示一个预选复选框。

对于创建 codespace 的用户(而不是存储库或组织的所有者)必须提供的机密,应使用建议的机密。 例如,如果你有一个公共项目,并且用户必须提供个人 API 密钥才能在项目中运行应用程序,则你可指定一个建议的机密,这样当用户使用高级选项页创建 codespace 时,系统会提示用户提供密钥作为该机密的值。

或者,对于存储库或组织的所有者可提供的机密(例如在整个团队中共享的 API 密钥),你可在存储库或组织级别设置机密。 有关详细信息,请参阅“为 GitHub Codespaces 管理存储库和组织的机密”。

  1. 可以通过向 devcontainer.json 文件添加设置来配置为存储库创建的 codespace。 如果存储库尚未包含 devcontainer.json 文件,可以立即添加一个。 请参阅“将开发容器配置添加到存储库”。

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

    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. 保存文件并将更改提交到存储库的所需分支。

延伸阅读