GitLab 运维实战手册
本手册面向 运维工程师、SRE 与 DevOps 平台负责人,覆盖从单机部署到生产级 GitLab 平台的完整生命周期。内容以 Omnibus 安装包 为主,兼顾 Kubernetes Helm 部署场景的通用原则。
手册覆盖范围
| 领域 | 说明 |
|---|---|
| 安装与架构 | Omnibus 部署、组件关系、资源规划 |
| Runner 与 CI/CD | Runner 注册、流水线设计、缓存与制品 |
| 备份与高可用 | gitlab-backup、PostgreSQL/Redis 复制、Gitaly 集群 |
| 监控与安全 | Prometheus/Grafana、告警、HTTPS、权限与审计 |
| 日常运维 | 巡检 SOP、故障排查、企业最佳实践 |
推荐阅读路径
按以下顺序阅读,可最快建立「能部署、能跑 Pipeline、能备份、能扩 HA」的能力:
- 基础认知 → 00. GitLab 基础与架构介绍
- 部署上线 → 01. GitLab 安装部署 → 02. GitLab 核心组件详解 → 03. GitLab 配置管理
- 用户与 CI → 04. 用户与权限管理 → 05. GitLab Runner 管理 → 06. GitLab CI/CD 实践
- 制品与数据 → 07. GitLab Container Registry → 08. GitLab 备份与恢复 → 09. GitLab 升级与迁移
- 生产就绪 → 10. GitLab 高可用架构 → 11. GitLab 监控体系 → 12. GitLab 安全加固
- 持续运营 → 13. GitLab 日常运维 SOP → 14. GitLab 故障排查 → 15. GitLab 企业最佳实践 → 附录
章节索引
| 章节 | 主题 |
|---|---|
| 00. GitLab 基础与架构介绍 | GitLab 组件、端口、存储布局 |
| 01. GitLab 安装部署 | Omnibus 安装、外部 URL、防火墙 |
| 02. GitLab 核心组件详解 | Puma、Sidekiq、Gitaly、Workhorse |
| 03. GitLab 配置管理 | gitlab.rb、SMTP、LDAP、对象存储 |
| 04. 用户与权限管理 | 用户、组、角色、访问控制 |
| 05. GitLab Runner 管理 | Runner 注册、Executor、标签策略 |
| 06. GitLab CI/CD 实践 | .gitlab-ci.yml、变量、缓存、制品 |
| 07. GitLab Container Registry | 镜像仓库配置与运维 |
| 08. GitLab 备份与恢复 | 全量备份、恢复演练、异地复制 |
| 09. GitLab 升级与迁移 | 版本路径、升级前检查、数据迁移 |
| 10. GitLab 高可用架构 | PostgreSQL HA、Redis Sentinel、Gitaly Cluster |
| 11. GitLab 监控体系 | Prometheus、Grafana、告警 |
| 12. GitLab 安全加固 | HTTPS、SSH、Token、Runner 隔离 |
| 13. GitLab 日常运维 SOP | 巡检清单、例行检查 |
| 14. GitLab 故障排查 | 典型故障症状与修复 |
| 15. GitLab 企业最佳实践 | 部署与治理规范 |
| 附录 | 命令速查、配置参数、YAML 示例 |
环境与前提
- 操作系统:Ubuntu 22.04 / RHEL 8+(Omnibus 官方支持版本)
- GitLab 版本:建议跟踪当前 稳定版(Stable),生产环境避免直接使用最新 minor 的首发周
- 权限:具备 root 或 sudo,以及 GitLab Admin 账号
- 网络:GitLab 主机可访问软件源、SMTP、对象存储(若启用)
约定说明
- 示例域名统一为
gitlab.example.com,请替换为实际域名 - 配置修改后需执行
sudo gitlab-ctl reconfigure,必要时gitlab-ctl restart <service> - 生产环境操作前先在预发环境验证,备份相关命令务必在变更窗口外做恢复演练