警告:
- 为存储桶设置所需的限制性访问策略至关重要,因为 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 详细信息。
-
在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击 。
-
如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。
-
在“ 站点管理”边栏中,单击“管理控制台”。
-
在左侧边栏中,单击“包”。
-
在“GitHub Packages”下选择“启用 GitHub Packages”复选框。
-
在“包存储”下,选择“Amazon S3”。
-
在 AWS 存储设置中输入 MinIO 存储桶的详细信息。
- AWS 服务 URL:MinIO Bucket 的托管 URL。
- AWS S3 Bucket:与 S3 兼容的 MinIO Bucket 的名称,专用于 GitHub Packages。
- AWS S3 访问密钥和 AWS S3 密钥:输入用于访问 Bucket 的 MinIO 访问密钥 ID 和密钥 。
-
在“设置”边栏下,单击“保存设置”。
注意:保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。
-
等待配置运行完毕。
后续步骤
下一步是,你可自定义你想要在 你的 GitHub Enterprise Server 实例 上提供给最终用户的包生态系统。 有关详细信息,请参阅“为企业配置包生态系统支持”。
有关在 GitHub 上使用 GitHub Packages 的概述,请参阅“企业 GitHub Packages 使用入门”。