跳至正文
零海博客

零海博客

零海博客

零海博客

  • 网络安全
  • java
  • 建站
  • 运维
  • 未分类
  • 网络安全
  • java
  • 建站
  • 运维
  • 未分类
关

搜索

运维

GitLab 管理命令大全

作者 wangjian@2
2026年7月1日 3 分钟阅读
0

Gitlab 管理命令大全,包含 gitlab-ctl 运维、数据库控制台、备份恢复、日志排查全套实操指令,附带 Shell 运维别名简化操作。

gitlab
gitlab

启动、停止与重启

# 启动所有 GitLab 组件
sudo gitlab-ctl start

# 停止所有 GitLab 组件
sudo gitlab-ctl stop

# 重启所有 GitLab 组件
sudo gitlab-ctl restart

# 重新加载配置(不停止服务)
sudo gitlab-ctl reconfigure

# 查看所有服务状态
sudo gitlab-ctl status

# 查看服务日志
sudo gitlab-ctl tail

单独组件管理

# 启动单个组件(例如:nginx)
sudo gitlab-ctl start nginx

# 停止单个组件
sudo gitlab-ctl stop nginx

# 重启单个组件
sudo gitlab-ctl restart nginx

# 查看单个组件状态
sudo gitlab-ctl status nginx

# 查看单个组件日志
sudo gitlab-ctl tail nginx

系统维护命令

备份与恢复

# 创建完整备份(默认保存在 /var/opt/gitlab/backups)
sudo gitlab-backup create

# 创建备份并跳过某些组件(例如:跳过上传的文件和仓库)
sudo gitlab-backup create SKIP=uploads,repositories

# 恢复备份(例如:恢复 1631529425_2021_09_13_14.1.0_gitlab_backup.tar)
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq
sudo gitlab-backup restore BACKUP=1631529425_2021_09_13_14.1.0
sudo gitlab-ctl restart

# 设置备份权限
sudo chown -R git:git /var/opt/gitlab/backups

数据库维护

# 进入 PostgreSQL 控制台
sudo gitlab-psql

# 进入 PostgreSQL 控制台(指定数据库)
sudo gitlab-psql -d gitlabhq_production

# 检查数据库状态
sudo gitlab-ctl pg-upgrade -c

# 优化数据库
sudo gitlab-rake db:optimize

系统检查与修复

# 检查 GitLab 环境
sudo gitlab-rake gitlab:env:info

# 检查 GitLab 系统状态
sudo gitlab-rake gitlab:check

# 检查文件系统权限
sudo gitlab-rake gitlab:check SANITIZE=true

# 清理 Redis 缓存
sudo gitlab-rake cache:clear

# 重建授权
sudo gitlab-rake gitlab:shell:setup

# 清理未引用的数据
sudo gitlab-rake gitlab:cleanup:orphan_job_artifact_files
sudo gitlab-rake gitlab:cleanup:orphan_lfs_file_references

用户与权限管理

# 解锁用户(例如:admin)
sudo gitlab-rake "gitlab:users:unlock[admin]"

# 修改用户密码
sudo gitlab-rake "gitlab:password:reset[admin]"

# 将用户设为管理员
sudo gitlab-rake "gitlab:users:set_admin[username]"

# 创建根用户令牌
sudo gitlab-rake "gitlab:personal_access_token:create"

仓库维护命令

# 检查仓库完整性
sudo gitlab-rake gitlab:git:fsck

# 重建 Gitaly 缓存
sudo gitlab-rake gitlab:gitaly:check

# 重建项目授权
sudo gitlab-rake gitlab:project_authorizations:repair

# 清理陈旧的仓库数据
sudo gitlab-rake gitlab:cleanup:project_uploads
sudo gitlab-rake gitlab:cleanup:remote_upload_files

系统升级与维护

# 检查版本
sudo gitlab-ctl version

# 升级前检查
sudo gitlab-rake gitlab:check

# 升级后迁移
sudo gitlab-rake db:migrate

# 清理旧版本包(Debian/Ubuntu)
sudo apt autoremove

# 清理旧版本包(CentOS/RHEL)
sudo yum autoremove

性能调优与监控

# 查看系统资源使用情况
sudo gitlab-ctl top

# 生成性能报告
sudo gitlab-rake gitlab:performance:metrics

# 检查 Sidekiq 队列
sudo gitlab-rake gitlab:sidekiq:check

# 清理 Sidekiq 队列
sudo gitlab-rake gitlab:sidekiq:clear

# 查看 Puma 状态
sudo gitlab-ctl puma-status

日志管理

# 查看所有日志
sudo gitlab-ctl tail

# 查看特定组件日志
sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail postgresql
sudo gitlab-ctl tail sidekiq
sudo gitlab-ctl tail puma

# 查看最近的错误日志
sudo gitlab-ctl tail --follow --lines=100 puma | grep -i error

# 查看 GitLab Rails 日志
sudo tail -f /var/log/gitlab/gitlab-rails/production.log

# 查看 GitLab 审计日志
sudo tail -f /var/log/gitlab/gitlab-rails/audit_json.log

Docker 环境下的 GitLab 命令

# 启动 GitLab 容器
docker start gitlab

# 停止 GitLab 容器
docker stop gitlab

# 重启 GitLab 容器
docker restart gitlab

# 查看 GitLab 容器日志
docker logs -f gitlab

# 进入 GitLab 容器
docker exec -it gitlab bash

# 在容器内执行 GitLab 命令
docker exec -it gitlab gitlab-ctl status
docker exec -it gitlab gitlab-rake gitlab:check

配置文件管理

# 编辑主配置文件
sudo vim /etc/gitlab/gitlab.rb

# 应用配置更改
sudo gitlab-ctl reconfigure

# 检查配置语法
sudo gitlab-ctl chef-client --help

# 备份配置文件
sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.$(date +%Y%m%d)

# 恢复默认配置
sudo gitlab-ctl reset

# 查看当前配置
sudo gitlab-ctl show-config

故障排除命令

# 检查 GitLab 健康状态
curl -k https://localhost/-/health

# 检查 GitLab 就绪状态
curl -k https://localhost/-/readiness

# 检查 GitLab 活跃状态
curl -k https://localhost/-/liveness

# 重置 GitLab 两步验证
sudo gitlab-rake gitlab:two_factor:disable_for_all_users

# 修复仓库钩子
sudo gitlab-rake gitlab:shell:build_missing_hooks

# 重建授权索引
sudo gitlab-rake gitlab:elastic:rebuild_indices

高级维护命令

# 进入 Rails 控制台
sudo gitlab-rails console

# 进入 Rails 生产环境控制台
sudo gitlab-rails console -e production

# 退出 Rails 控制台
# 在控制台中输入以下命令
exit
# 或者使用快捷键
# Ctrl+D

# 检查 LDAP 配置
sudo gitlab-rake gitlab:ldap:check

# 迁移 CI 数据
sudo gitlab-rake gitlab:ci:migrate

# 清理陈旧的 CI 构建
sudo gitlab-rake gitlab:cleanup:stale_ci_builds

# 重新生成 Let's Encrypt 证书
sudo gitlab-ctl renew-le-certs

系统资源管理

# 查看磁盘使用情况
sudo du -sh /var/opt/gitlab

# 查看各组件磁盘使用情况
sudo du -sh /var/opt/gitlab/*

# 清理临时文件
sudo gitlab-ctl cleanup

# 压缩数据库
sudo gitlab-rake gitlab:db:reindex

# 清理会话
sudo gitlab-rake gitlab:cleanup:sessions

安全相关命令

# 检查安全漏洞
sudo gitlab-rake gitlab:security:all

# 生成自签名证书
sudo gitlab-ctl renew-self-signed-certs

# 检查 SSL 配置
sudo gitlab-ctl show-config | grep ssl

# 重置 Root 密码
sudo gitlab-rake "gitlab:password:reset[root]"

# 检查密码策略
sudo gitlab-rake gitlab:password_policy:check

常见问题解决方案

502 错误修复

# 重启 GitLab
sudo gitlab-ctl restart

# 如果仍然存在问题,重启 Puma/Unicorn
sudo gitlab-ctl restart puma

# 检查 Nginx 配置
sudo gitlab-ctl reconfigure

仓库访问问题

# 修复仓库权限
sudo gitlab-rake gitlab:check SANITIZE=true

# 重建 Gitaly 配置
sudo gitlab-ctl restart gitaly

内存不足问题

# 调整 Puma 工作进程数
# 编辑 /etc/gitlab/gitlab.rb
# puma['worker_processes'] = 2

# 应用更改
sudo gitlab-ctl reconfigure

数据库迁移问题

# 强制运行迁移
sudo gitlab-rake db:migrate:status
sudo gitlab-rake db:migrate RAILS_ENV=production

备份恢复失败

# 检查备份文件权限
sudo chown git:git /var/opt/gitlab/backups/*.tar

# 使用强制模式恢复
sudo gitlab-backup restore BACKUP=timestamp_of_backup force=yes

定期维护计划示例

每日维护

# 检查服务状态
sudo gitlab-ctl status

# 检查日志错误
sudo grep -i "error\|fatal\|critical" /var/log/gitlab/gitlab-rails/production.log

每周维护

# 创建备份
sudo gitlab-backup create

# 检查系统状态
sudo gitlab-rake gitlab:check

每月维护

# 更新 GitLab
sudo apt update && sudo apt upgrade gitlab-ce

# 清理未使用的数据
sudo gitlab-rake gitlab:cleanup:orphan_job_artifact_files

每季度维护

# 数据库优化
sudo gitlab-rake db:optimize

# 检查安全更新
sudo gitlab-rake gitlab:security:all

本文地址:https://blog.zerosea.cn/gitlab-admin-commands

标签:

GitLab
作者

wangjian@2

关注我
其他文章
veeam
上一个

CVE-2026-44963高危漏洞:Veeam VBR 12.x远程代码执行漏洞修复方案

7-Zip-Vulnerability-Code-Execution
下一个

7-Zip存在高危漏洞CVE-2026-14266

暂无评论!成为第一个。

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

近期文章

  • Chrome 高危沙箱逃逸 CVE-2026-84354:一个恶意网页就能在沙箱外执行代码,快升 152.0.7977.75
  • Nacos 权限绕过漏洞 QVD-2026-59388:CVSS 9.8,一个请求直接接管配置中心
  • ServiceNow 漏洞:连续爆三个CVSS 评分满分 10.0
  • WordPress miniOrange SAML 插件 CVE-2026-15981:伪造 SAML 响应直取管理员权限,正在被扫描
  • DeepSeek Harness QVD‑2026‑57410 极危漏洞,Host 头伪造导致未授权 RCE

近期评论

  1. w 发表在 docker安装mysql

分类

  • AI (1)
  • java (1)
  • 建站 (2)
  • 数据库 (1)
  • 网络安全 (10)
  • 运维 (9)

    您可能错过了

    网络安全

    Chrome 高危沙箱逃逸 CVE-2026-84354:一个恶意网页就能在沙箱外执行代码,快升 152.0.7977.75

    wangjian@2
    作者 wangjian@2
    2026年9月3日
    QVD-2026-59388
    网络安全 java 运维

    Nacos 权限绕过漏洞 QVD-2026-59388:CVSS 9.8,一个请求直接接管配置中心

    wangjian@2
    作者 wangjian@2
    2026年9月1日
    网络安全

    ServiceNow 漏洞:连续爆三个CVSS 评分满分 10.0

    wangjian@2
    作者 wangjian@2
    2026年9月1日
    miniOrange SAML 2.0 Single Sign On WordPress 插件认证绕过漏洞
    网络安全 建站 运维

    WordPress miniOrange SAML 插件 CVE-2026-15981:伪造 SAML 响应直取管理员权限,正在被扫描

    wangjian@2
    作者 wangjian@2
    2026年8月28日
    DeepSeek Harness QVD‑2026‑57410漏洞,Host头伪造导致未授权RCE,AI Agent安全风险
    AI 网络安全 运维

    DeepSeek Harness QVD‑2026‑57410 极危漏洞,Host 头伪造导致未授权 RCE

    wangjian@2
    作者 wangjian@2
    2026年8月25日
    CVE‑2026‑19478 GitLab GraphQL高危未授权访问漏洞
    网络安全 运维

    CVE‑2026‑19478|GitLab GraphQL 高危漏洞,匿名请求即可删除公开项目

    wangjian@2
    作者 wangjian@2
    2026年8月20日
    BdThemes
    网络安全 建站

    BdThemes 供应链投毒攻击事件

    wangjian@2
    作者 wangjian@2
    2026年8月12日
    Docker MySQL 备份与恢复指南
    数据库 运维

    Docker MySQL 备份与恢复指南

    wangjian@2
    作者 wangjian@2
    2026年8月6日
    redis_logo
    网络安全 运维

    Redis 曝出多条零日 RCE 漏洞|Stream 双重释放与 RedisBloom 越界写入风险分析及防范方案

    wangjian@2
    作者 wangjian@2
    2026年7月27日
    7-Zip-Vulnerability-Code-Execution
    网络安全

    7-Zip存在高危漏洞CVE-2026-14266

    wangjian@2
    作者 wangjian@2
    2026年7月26日
    Copyright 2026 — 零海博客. All rights reserved.