Skip to main content

This version of GitHub Enterprise will be discontinued on 2022-02-16. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Backing up and restoring GitHub Enterprise Server with GitHub Actions enabled

GitHub Actions data on your external storage provider is not included in regular GitHub Enterprise Server backups, and must be backed up separately.

GitHub Actions uses external storage to store workflow artifacts and logs. This data is stored on your external provider, such as Azure blob storage, Amazon S3, or MinIO. As a result, GitHub Enterprise Server backups and GitHub Enterprise Server high availability configurations do not provide protection for the data stored on this external storage, and instead rely on the data protection and replication provided by the external storage provider, such as Azure or AWS.

If you use GitHub Enterprise Server Backup Utilities to back up your GitHub Enterprise Server instance, it's important to note that GitHub Actions data stored on your external storage provider is not included in the backup.

This is an overview of the steps required to restore your GitHub Enterprise Server instance with GitHub Actions to a new appliance:

  1. Confirm that the original appliance is offline.

  2. Manually configure network settings on the replacement GitHub Enterprise Server appliance. Network settings are excluded from the backup snapshot, and are not overwritten by ghe-restore.

  3. To configure the replacement appliance to use the same GitHub Actions external storage configuration as the original appliance, from the new appliance, set the required parameters with ghe-config command.

    • Azure Blob Storage
      ghe-config secrets.actions.storage.blob-provider "azure"
      ghe-config secrets.actions.storage.azure.connection-string "_Connection_String_"
    • Amazon S3
      ghe-config secrets.actions.storage.blob-provider "s3"
      ghe-config secrets.actions.storage.s3.bucket-name "_S3_Bucket_Name"
      ghe-config secrets.actions.storage.s3.service-url "_S3_Service_URL_"
      ghe-config secrets.actions.storage.s3.access-key-id "_S3_Access_Key_ID_"
      ghe-config secrets.actions.storage.s3.access-secret "_S3_Access_Secret_"
    • Optionally, to enable S3 force path style, enter the following command:
      ghe-config secrets.actions.storage.s3.force-path-style true
  1. Enable GitHub Actions on the replacement appliance. This will connect the replacement appliance to the same external storage for GitHub Actions.

    ghe-config app.actions.enabled true
    ghe-config-apply
  2. After GitHub Actions is configured and enabled, use the ghe-restore command to restore the rest of the data from the backup. For more information, see "Restoring a backup."

  3. Re-register your self-hosted runners on the replacement appliance. For more information, see Adding self-hosted runners.

For more information on backing up and restoring GitHub Enterprise Server, see "Configuring backups on your appliance."