About external storage for GitHub Actions
GitHub Actions uses external blob storage to store data generated by workflow runs. Stored data includes workflow logs, caches, and user-uploaded build artifacts. For more information, see "Getting started with GitHub Actions for GitHub Enterprise Server."
Prerequisites
Before enabling GitHub Actions, make sure you have completed the following steps:
-
Create your MinIO bucket for storing data generated by workflow runs. For more information about installing and configuring MinIO, see "MinIO High Performance Object Storage" and "mc mb" in the MinIO documentation.
To avoid resource contention on the appliance, we recommend that MinIO be hosted separately from your GitHub Enterprise Server instance.
GitHub Actions requires the following permissions for the access key that will access the bucket:
s3:PutObjects3:GetObjects3:ListBucketMultipartUploadss3:ListMultipartUploadPartss3:AbortMultipartUploads3:DeleteObjects3:ListBucketkms:GenerateDataKey(if Key Management Service (KMS) encryption has been enabled)
-
Review the hardware requirements for GitHub Actions. For more information, see "Getting started with GitHub Actions for GitHub Enterprise Server."
-
TLS must be configured for your GitHub Enterprise Server instance's domain. For more information, see "Configuring TLS."
Note: We strongly recommend that you configure TLS on GitHub Enterprise Server with a certificate signed by a trusted authority. Although a self-signed certificate can work, extra configuration is required for your self-hosted runners, and it is not recommended for production environments.
-
If you have an HTTP Proxy Server configured on your GitHub Enterprise Server instance:
-
You must add
.localhostand127.0.0.1to the HTTP Proxy Exclusion list. -
If your external storage location is not routable, then you must also add your external storage URL to the exclusion list.
For more information on changing your proxy settings, see "Configuring an outbound web proxy server."