Skip to main content

为存储库指定建议的机密

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

谁可以使用此功能?

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

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

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

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

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

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

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

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

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

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

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

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

延伸阅读