About maintenance mode
Some types of operations require that you take your GitHub Enterprise Server instance offline and put it into maintenance mode:
- Upgrading to a new version of GitHub Enterprise Server
- 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 Server 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. In high availability configurations, Git replication will be paused. GitHub Actions jobs will not be executed. Visiting the site in a browser results in a maintenance page.
Enabling maintenance mode immediately or scheduling a maintenance window for a later time
-
从 GitHub Enterprise Server 上的管理帐户任意页面的右上角,单击 。
-
如果� 尚未在“站点管理员”页上,请在左上角单击“站点管理员”。
-
在左侧边� �中,单击“管理控制台”。
-
At the top of the 管理控制台, 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.
-
在左侧边� �下,单击“保存设置”。
注意:保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。
-
等待配置运行完毕。
Scheduling maintenance mode with the GitHub Enterprise Server APIs
You can schedule maintenance for different times or dates with the GitHub Enterprise Server APIs. For more information, see "Management Console."
Enabling or disabling maintenance mode for all nodes in a cluster
With the 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