Skip to main content

This version of GitHub Enterprise will be discontinued on 2022-10-12. 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.

Setting up a staging instance

You can set up a GitHub Enterprise Server instance in a separate, isolated environment, and use the instance to validate and test changes.

About staging instances

GitHub recommends that you set up a separate environment to test backups, updates, or changes to the configuration for your GitHub Enterprise Server instance. This environment, which you should isolate from your production systems, is called a staging environment.

For example, to protect against loss of data, you can regularly validate the backup of your production instance. You can regularly restore the backup of your production data to a separate GitHub Enterprise Server instance in a staging environment. On this staging instance, you could also test the upgrade to the latest feature release of GitHub Enterprise Server.

Tip: You may reuse your existing GitHub Enterprise license file as long as the staging instance is not used in a production capacity.

Considerations for a staging environment

To thoroughly test GitHub Enterprise Server and recreate an environment that's as similar to your production environment as possible, consider the external systems that interact with your instance. For example, you may want to test the following in your staging environment.

  • Authentication, especially if you use an external authentication provider like SAML
  • Integration with an external ticketing system
  • Integration with a continuous integration server
  • External scripts or software that use the GitHub Enterprise Server APIs
  • External SMTP server for email notifications

Setting up a staging instance

  1. Perform a backup of your production instance using GitHub Enterprise Server Backup Utilities. For more information, see the "About GitHub Enterprise Server Backup Utilities" section of "Configuring backups on your appliance."
  2. Set up a new instance to act as your staging environment. You can use the same guides for provisioning and installing your staging instance as you did for your production instance. For more information, see "Setting up a GitHub Enterprise Server instance."
  3. Optionally, if you plan to test GitHub Actions functionality in your test environment, review the considerations for your logs and storage. For more information, see "Using a staging environment."
  4. Restore your backup onto your staging instance. For more information, see the "Restoring a backup" section of "Configuring backups on your appliance."

Further reading