Prerequisites
Warning: The only supported S3 storage providers are Amazon S3 and MinIO Gateway for NAS. Other S3 API-compatible storage providers are not supported. For more information on supported storage providers, see "Getting started with GitHub Actions for GitHub Enterprise Server."
Before enabling GitHub Actions, make sure you have completed the following steps:
-
Create your Amazon S3 bucket for storing data generated by workflow runs. GitHub Actions requires the following permissions for the access key that will access the bucket:
s3:PutObject
s3:GetObject
s3:ListBucketMultipartUploads
s3:ListMultipartUploadParts
s3:AbortMultipartUpload
s3:DeleteObject
s3:ListBucket
kms: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
localhost
and127.0.0.1
to the HTTP Proxy Exclusion list. - If the BYOS bucket is not routable, then you must also add the bucket's URL to the exclusion list.
For more information on changing your proxy settings, see "Configuring an outbound web proxy server."
- You must add
Enabling GitHub Actions with Amazon S3 storage
-
SSH into your GitHub Enterprise Server instance. If your instance comprises multiple nodes, for example if high availability or geo-replication are configured, SSH into the primary node. If you use a cluster, you can SSH into any node. For more information about SSH access, see "Accessing the administrative shell (SSH)."
$ ssh -p 122 admin@HOSTNAME
-
Run the
ghe-actions-precheck
command to test your blob storage configuration. For more information, see "Command-line utilities." -
From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .
-
If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.
-
In the left sidebar, click Management Console.
-
In the left sidebar, click Actions.
-
Select Enable GitHub Actions.
-
Under "Artifact & Log Storage", select Amazon S3, and enter your storage bucket's details:
-
AWS Service URL: The service URL for your bucket. For example, if your S3 bucket was created in the
us-west-2
region, this value should behttps://s3.us-west-2.amazonaws.com
.For more information, see "AWS service endpoints" in the AWS documentation.
-
AWS S3 Bucket: The name of your S3 bucket.
-
AWS S3 Access Key and AWS S3 Secret Key: The AWS access key ID and secret key for your bucket. For more information on managing AWS access keys, see the "AWS Identity and Access Management Documentation."
-
-
Under the left sidebar, click Save settings.
Note: Saving settings in the Management Console restarts system services, which could result in user-visible downtime.
-
Wait for the configuration run to complete.
Next steps
After the configuration run has successfully completed, GitHub Actions will be enabled on your GitHub Enterprise Server instance. For your next steps, such as managing GitHub Actions access permissions and adding self-hosted runners, return to "Getting started with GitHub Actions for GitHub Enterprise Server."