Some standard maintenance procedures, such as upgrading your GitHub Enterprise instance or restoring backups, require the instance to be taken offline for normal use.
In this guide
- About maintenance mode
- Enabling maintenance mode immediately or scheduling a maintenance window for a later time
- Scheduling maintenance mode with the GitHub Enterprise API
- Enabling or disabling maintenance mode for all nodes in a cluster
Some types of operations require that you take your GitHub Enterprise instance offline and put it into maintenance mode:
- Upgrading to a new version of GitHub Enterprise
- Increasing CPU, memory, or storage resources allocated to the virtual machine
- Migrating data from one virtual machine to another
- Restoring data from a GitHub Enterprise Backup Utilities snapshot
- Troubleshooting certain types of critical application issues
We recommend that you schedule a maintenance window for at least 30 minutes in the future to give users time to prepare. When a maintenance window is scheduled, all users will see a banner when accessing the site.
When the instance is in maintenance mode, all normal HTTP and Git access is refused. Git fetch, clone, and push operations are also rejected with an error message indicating that the site is temporarily unavailable. Visiting the site in a browser results in a maintenance page.
In the upper-right corner of any page, click .
In the left sidebar, click Management Console.
At the top of the Management Console, click Maintenance.
- Under "Enable and schedule", decide whether to enable maintenance mode immediately or to schedule a maintenance window for a future time.
- To enable maintenance mode immediately, use the drop-down menu and click now.
- To schedule a maintenance window for a future time, use the drop-down menu and click a start time.
- Select Enable maintenance mode.
- Under the left sidebar, click Save settings.
You can schedule maintenance for different times or dates with the GitHub Enterprise API. For more information, see "Management Console" in the GitHub Developer documentation.
ghe-cluster-maintenance utility, you can set or unset maintenance mode for every node in a cluster.
ghe-cluster-maintenance -h # Shows options ghe-cluster-maintenance -q # Queries the current mode ghe-cluster-maintenance -s # Sets maintenance mode ghe-cluster-maintenance -u # Unsets maintenance mode