GitLab生产环境无损升级与CI/CD终极排障实录(v14至v18)
实战:GitLab 从 v14 到 v18 的跨版本无损升级与 CI/CD 终极排障
1. 背景:偿还四年技术债
本文记录了将一台生产环境 GitLab 社区版 (CE) 从 v14.6.1 (2021 年) 跨越 4 个大版本,无损升级至最新稳定版 v18.5.0 极狐版 (JiHu) 的全流程。本次升级旨在解决旧版本安全漏洞、利用新版效能分析工具进行工作量量化,并实现架构现代化 (IaC)。
核心挑战:
- 数据库复杂迁移:需执行两次数据库引擎大版本升级(PostgreSQL 12 -> 13 -> 16)。
- 网络协议冲突:解决 Docker Compose 内部网络与外部 Nginx 反向代理之间的 HTTPS/HTTP 协议冲突。
- Runner 兼容性:修复 GitLab 18 对旧 Runner 注册信息及
session_server的底层 Bug。