- 获取服务状态
- 跟踪进程日志
- 启动和停止
- 调用 Rake 任务
- 启动 Rails 控制台会话
-
启动 PostgreSQL 超级用户
psql
会话 - Container Registry 垃圾回收
- 限制用户登录极狐GitLab
维护命令
安装后可以运行以下命令。
获取服务状态
运行 sudo gitlab-ctl status
,查看每个组件的当前状态和正常运行时间。
输出将类似于以下内容:
run: nginx: (pid 972) 7s; run: log: (pid 971) 7s
run: postgresql: (pid 962) 7s; run: log: (pid 959) 7s
run: redis: (pid 964) 7s; run: log: (pid 963) 7s
run: sidekiq: (pid 967) 7s; run: log: (pid 966) 7s
run: puma: (pid 961) 7s; run: log: (pid 960) 7s
以第一行为例:
-
Nginx
是进程名称。 -
972
是进程标识符。 - NGINX 已经运行了 7 秒(
7s
)。 -
log
表示附加到上述进程的 svlogd 日志记录进程。 -
971
是记录进程的进程标识符。 - 记录进程已经运行了 7 秒(
7s
)。
跟踪进程日志
查看设置日志文档。
启动和停止
Omnibus GitLab 安装和配置后,您的服务器将运行一个 runit 服务目录(runsvdir
)进程,该进程在启动时通过 /etc/inittab
或 /etc/init/gitlab-runsvdir.conf
启动。不要直接处理 runsvdir
进程;您可以改用 gitlab-ctl
前端。
您可以使用以下命令启动、停止或重新启动极狐GitLab 及其所有组件。
# Start all GitLab components
sudo gitlab-ctl start
# Stop all GitLab components
sudo gitlab-ctl stop
# Restart all GitLab components
sudo gitlab-ctl restart
请注意,在单核服务器上,重启 Puma 和 Sidekiq 可能需要长达一分钟的时间。您的极狐GitLab 实例将出现 502 错误,直到 Puma 再次启动。
您也可以启动、停止或重新启动单个组件。
sudo gitlab-ctl restart sidekiq
Puma 确实支持几乎零停机的重新加载。可以按如下方式触发:
sudo gitlab-ctl hup puma
请注意,您必须等待 hup
命令完成,这可能需要一些时间。将该节点从池中移出,并且在完成之前不要在调用该节点的节点上重新启动服务。您也无法使用 Puma 重新加载来更新 Ruby 运行时。
Puma 有以下 signal 来控制应用程序行为:
Signal | Puma |
---|---|
HUP |
重新打开定义的日志文件,或停止进程以强制重启 |
INT |
优雅地停止请求处理 |
USR1 |
分阶段重启 workers,滚动重启,无需重新加载配置 |
USR2 |
重新启动 workers 并重新加载配置 |
QUIT |
退出主进程 |
对于 Puma,gitlab-ctl hup puma
将发送一系列 SIGINT
和 SIGTERM
(如果进程没有重新启动)signal。一旦收到 SIGINT
,Puma 就会停止接受新连接。它完成所有正在运行的请求,然后 runit
重新启动服务。
调用 Rake 任务
要调用极狐GitLab Rake 任务,请使用 gitlab-rake
。例如:
sudo gitlab-rake gitlab:check
如果您是 git
用户,请省略 sudo
。
与传统的极狐GitLab 安装相反,无需更改用户或 RAILS_ENV
环境变量;由 gitlab-rake
包装脚本处理。
启动 Rails 控制台会话
获取更多信息,查看 Rails 控制台。
启动 PostgreSQL 超级用户 psql
会话
如果您需要超级用户访问捆绑的 PostgreSQL 服务,您可以使用 gitlab-psql
命令。它采用与常规 psql
命令相同的参数。
# Superuser psql access to GitLab's database
sudo gitlab-psql -d gitlabhq_production
仅在您至少运行一次 gitlab-ctl reconfigure
后才有效。gitlab-psql
命令不能用于连接远程 PostgreSQL 服务器,也不能用于连接本地非 Omnibus PostgreSQL 服务器。
在 Geo 跟踪数据库中启动 PostgreSQL 超级用户 psql
会话
与前面的命令类似,如果您需要超级用户访问捆绑的 Geo 跟踪数据库(geo-postgresql
),则可以使用gitlab-geo-psql
。它采用与常规 psql
命令相同的参数。
# Superuser psql access to GitLab's Geo tracking database
sudo gitlab-geo-psql -d gitlabhq_geo_production
Container Registry 垃圾回收
Container Registry 可能会使用大量磁盘空间。为了清除未使用的镜像层,镜像库包含一个垃圾收集命令。
限制用户登录极狐GitLab
如果需要临时限制用户登录极狐GitLab,可以使用 sudo gitlab-ctl deploy-page up
。当用户访问您的极狐GitLab URL 时,他们将看到一个任意的 Deploy in progress
页面。
要删除页面,您只需运行sudo gitlab-ctl deploy-page down
。 您还可以使用 sudo gitlab-ctl deploy-page status
检查部署页面的状态。