关于 GitHub Actions
的外部存储
GitHub Actions 使用外部 blob 存储来存储工作流运行生成的数据。 存储的数据包括工作流日志、缓存和用户上传的生成工件。有关详细信息,请参阅“GitHub Actions for GitHub Enterprise Server 使用入门”。
先决条件
在启用 GitHub Actions 之前,请确保您已完成以下步骤:
-
创建 MinIO 存储桶,用于存储工作流运行生成的数据。 有关安装和配置 MinIO 的详细信息,请参阅 MinIO 文档中的“MinIO 高性能对象存储”和“mc mb”。
为避免设备上的资源争用,我们建议将 MinIO 与 你的 GitHub Enterprise Server 实例 分开托管。
GitHub Actions 需要以下访问密钥的权限才可访问存储桶:
s3:PutObject
s3:GetObject
s3:ListBucketMultipartUploads
s3:ListMultipartUploadParts
s3:AbortMultipartUpload
s3:DeleteObject
s3:ListBucket
kms:GenerateDataKey
(如果已启用密钥管理服务 (KMS) 加密)kms:Decrypt
(如果已启用密钥管理服务 (KMS) 加密)
-
查看 GitHub Actions 的硬件要求。 有关详细信息,请参阅“GitHub Actions for GitHub Enterprise Server 使用入门”。
-
必须为 GitHub Enterprise Server 的域配置 TLS。 有关详细信息,请参阅“配置 TLS”。
Note
我们强烈建议您在 GitHub Enterprise Server 上配置 TLS,并有信任的机构签名的证书。 虽然自签名证书可以工作,但自托管的运行器需要额外的配置,不推荐用于生产环境。
-
如果在 GitHub 上配置了 HTTP 代理服务器:
-
必须将
.localhost
、127.0.0.1
和::1
添加到“HTTP 代理排除”**** 列表(以此顺序)。 -
如果外部存储位置不可路由,则还必须将外部存储 URL 添加到排除列表中。
有关更改代理设置的详细信息,请参阅“配置出站 Web 代理服务器”。
使用 MinIO 存储启用 GitHub Actions
-
在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击 。
-
如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。
-
在“ 站点管理”边栏中,单击“管理控制台”。
-
在“设置”边栏中,单击“操作”。
-
在“GitHub Actions”下,选择“启用 GitHub Actions”。
-
在“项目和日志存储”下的“Amazon S3”旁,单击“设置”。
-
在“身份验证”下,选择“基于凭据”,然后输入存储桶的详细信息:
Note
对于 MinIO,不能使用 OpenID Connect (OIDC) 身份验证。 必须使用基于凭据的身份验证。
- AWS 服务 URL:MinIO 服务的 URL。 例如
https://my-minio.example:9000
。 - AWS S3 存储桶:S3 存储桶的名称。
- AWS S3 访问密钥和 AWS S3 密钥: 用于 MinIO 实例的
MINIO_ACCESS_KEY
和MINIO_SECRET_KEY
。
- AWS 服务 URL:MinIO 服务的 URL。 例如
-
在“项目和日志存储”下,选择“强制路径样式”。
-
单击“测试存储设置”按钮验证存储设置。
如果在验证存储设置时出现任何错误,请检查存储提供程序设置并重试。
-
在“设置”边栏下,单击“保存设置”。
Note
保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。
-
等待配置运行完毕。
后续步骤
配置运行成功完成后,GitHub Actions 将在 GitHub 上启用。 对于后续步骤,例如管理 GitHub Actions 访问权限和添加自托管运行器,请返回到“GitHub Actions for GitHub Enterprise Server 使用入门”。