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
- 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."
- 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."
- 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."
- Restore your backup onto your staging instance. For more information, see the "Restoring a backup" section of "Configuring backups on your appliance."