Place your GitHub Enterprise appliance in maintenance mode to block all Git operations and prevent ordinary users from accessing it through a web browser. This is useful for performing I/O-intensive maintainance tasks, such as scripting regular backups of your appliance.

You can either schedule or immediately enable maintenance mode. If you choose to schedule maintenance mode, all users will see the following banner at the top of every page:

Scheduled maintenance

Once maintenance mode is enabled, all pages (except for the Management Console) will redirect to a maintenance page that looks like this:

Down for maintenance

The maintenance page shows an email address that can be customized from the Email section of the Management Console settings:

http(s)://hostname/setup/settings#email

Furthermore, all Git operations over HTTP will fail with error messages such as the following:

Cloning into 'some-repo'…
error: The requested URL returned error: 503 while accessing http://hostname/some-user/some-repo.git/info/refs
fatal: HTTP request failed

All Git operations over SSH will fail with error messages such as the following:

Cloning into 'some-repo'...
ERROR: GitHub Enterprise is offline for maintenance.
fatal: The remote end hung up unexpectedly

Any Git operations, MySQL queries, and Resque jobs that are running when you enable maintenance mode will continue to completion. The Active processes section shows a static count of these processes; refresh the page to get updated numbers. It's important to wait for all of these processes to complete before backing up Enterprise data.

No running processes

Further reading