Skip to main content

使用 MinIO 启用 GitHub Packages

以 MinIO 作为外部存储设置 GitHub Packages 。

Warning

  • 为存储桶设置所需的限制性访问策略至关重要,因为 GitHub 不会将特定对象权限或其他访问控制列表 (ACL) 应用于存储桶配置。 例如,如果将存储桶设为公共,则在公共互联网上可以访问存储桶中的数据。 如果已设置 IP 地址的限制,请为 你的 GitHub Enterprise Server 实例 和将使用 你的 GitHub Enterprise Server 实例 的最终用户添加 IP 地址。
  • 我们建议对 GitHub Packages 使用专用存储桶,与用于 GitHub Actions 存储的存储桶分开。
  • 请确保配置将来要使用的存储桶。 在开始使用 GitHub Packages 后,我们不建议更改存储系统。
  • 建议为 Bucket 配置 TLS,以避免包注册表可能出现问题,例如,从 NuGet 注册表下载。

先决条件

在 你的 GitHub Enterprise Server 实例 上启用和配置 GitHub Packages 之前,需要准备 MinIO Bucket。 若要帮助快速设置 MinIO 存储桶并浏览 MinIO 的自定义选项,请参阅“为 GitHub Packages 配置 MinIO 存储桶的快速入门”。

确保您的 MinIO 外部存储访问密钥 ID 和密码具有以下权限:

  • s3:PutObject
  • s3:GetObject
  • s3:ListBucketMultipartUploads
  • s3:ListMultipartUploadParts
  • s3:AbortMultipartUpload
  • s3:DeleteObject
  • s3:ListBucket

使用 MinIO 外部存储启用 GitHub Packages

虽然 MinIO 目前没有出现在“封装存储”下的用户界面中,MinIO 在 GitHub Enterprise 上仍然受 GitHub Packages 支持。 另请注意,MinIO 的对象存储与 S3 API 兼容,您可以输入MinIO 存储桶详细信息代替 AWS S3 详细信息。

  1. 在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击

  2. 如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。

  3. 在“ 站点管理”边栏中,单击“管理控制台”。

  4. 在左侧边栏中,单击“包”。

  5. 在“GitHub Packages”下选择“启用 GitHub Packages”复选框。

  6. 在“包存储”下,选择“Amazon S3”。

  7. 在 AWS 存储设置中输入 MinIO 存储桶的详细信息。

    • AWS 服务 URL:MinIO Bucket 的托管 URL。
    • AWS S3 Bucket:与 S3 兼容的 MinIO Bucket 的名称,专用于 GitHub Packages。
    • AWS S3 访问密钥和 AWS S3 密钥:输入用于访问 Bucket 的 MinIO 访问密钥 ID 和密钥 。
  8. 在“设置”边栏下,单击“保存设置”。

    注意:保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。

  9. 等待配置运行完毕。

后续步骤

下一步是,可自定义想要在 GitHub 上提供给最终用户的包生态系统。 有关详细信息,请参阅“为企业配置包生态系统支持”。

有关在 GitHub 上使用 GitHub Packages 的概述,请参阅“企业 GitHub Packages 使用入门”。