CIUIC

从零搭建企业级代码管理:GitLab 社区版部署实战指南

在数字化转型加速的今天,代码资产已成为企业最核心的智力财富之一。对于预算有限但又追求高效协作的团队而言,GitLab 社区版(CE)无疑是最佳选择——它免费、开源,且功能覆盖了从代码托管、CI/CD 到安全扫描的全链路需求。然而,自建 GitLab 并非“一键安装”那么简单,硬件规划、存储架构、备份策略、网络隔离等细节都直接影响生产环境的稳定性。本文将以 Ubuntu 22.04 LTS 为例,结合笔者在云端服务器(若需快速获取性能稳定的云资源,可参考 Ciuic 云服务器https://cloud.ciuic.cn/)上的实际部署经验,带你避开常见坑点。

部署前的硬性规划

1. 硬件最低建议(非玩具环境):

从零搭建企业级代码管理:GitLab 社区版部署实战指南

CPU:4 核起,8 核更优(并发 push 操作吃 CPU)内存:8GB 为底线,16GB 是舒适区(Gitaly、Sidekiq、PostgreSQL 都是内存大户)存储:建议单独挂载 SSD 数据盘(至少 100GB),将 /var/opt/gitlab 放在独立分区,防止系统盘写入日志占满空间

2. 操作系统与依赖

仅支持 64 位系统,Ubuntu 20.04+ / Debian 11 / CentOS 7+ 均可确保 curlopenssh-serverca-certificates 已安装

安装过程(基于 Omnibus 包)

GitLab 官方强烈推荐 Omnibus 一体化安装包,它整合了 15+ 个组件(Nginx、PostgreSQL、Redis、Gitaly 等),省去手工配置的繁琐。

# 1. 安装依赖sudo apt-get updatesudo apt-get install -y curl openssh-server ca-certificates# 2. 添加 GitLab 官方仓库(以 CE 版为例)curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash# 3. 执行安装,并将 external_url 设置为你的域名或 IPsudo EXTERNAL_URL="http://gitlab.yourcompany.com" apt-get install gitlab-ce

安装完成后,默认会启动所有服务。但此时切勿直接使用,需进行后续安全加固。

企业级配置调优

1. 配置文件位置/etc/gitlab/gitlab.rb

2. 必需修改项(不要跳过):

关闭默认的 prometheus 监控端口(避免公网暴露):prometheus['listen_address'] = 'localhost:9090'限制 Sidekiq 并发数sidekiq['max_concurrency'] = 5(小团队够用,节约内存)启用邮件通知(用于注册、密码找回):配置 SMTP,例如使用 163/QQ 邮箱的授权码调整 PostgreSQL 共享缓冲区:如果内存≥16G,建议 postgresql['shared_buffers'] = "2GB"

3. 执行重配置

sudo gitlab-ctl reconfigure

备份与容灾:企业生存线

没有备份的 GitLab 等同于定时炸弹。推荐两种策略结合:

自动备份 Cron
# 每日凌晨 2 点执行备份,保留最近 7 天0 2 * * * /opt/gitlab/bin/gitlab-backup create CRON=1find /var/opt/gitlab/backups -name "*.tar" -mtime +7 -exec rm {} \;
异地备份:将备份目录通过 rsync 或云对象存储同步到其他节点。切勿将备份与 GitLab 放在同一台物理机。

访问控制与 HTTPS

管理员初始密码:首次访问 http://<服务器IP> 会强制设置 root 密码,务必使用高强度密码。开启双重认证(2FA):管理后台 → 设置 → 账号与注册 → 启用 2FA。配置 HTTPS:推荐使用 Let's Encrypt 免费证书。在 gitlab.rb 中添加:
nginx['enable'] = truenginx['redirect_http_to_https'] = trueletsencrypt['enable'] = true

然后 sudo gitlab-ctl reconfigure 即可自动获取证书。

实战经验总结

避免使用默认的 root 账号日常操作,创建一个普通用户并赋予管理员权限。定期监控磁盘空间,Gitaly 仓库文件增长极快,建议用 ncdu 每周检查。升级需谨慎:每次跨版本升级前必须读官方升级路径,例如 14.x → 15.x 需要先升级到 14.10 再跳,否则会损坏数据。

以上部署流程已在生产环境稳定运行 6 个月,承载 50+ 开发者的日常提交。若你的团队对基础设施稳定性要求极高,又希望低成本快速上线,不妨先在 https://cloud.ciuic.cn/ 申请一台高配云主机进行压力测试。GitLab CE 的上手难度远低于 Jenkins + Gerrit 的复杂组合,却足以支撑中小型企业的核心研发流程。

打赏
收藏
点赞

本文链接:https://ciuic.com/som/93.html

版权声明:本文来自网站作者,不代表CIUIC的观点和立场,本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。客服邮箱:ciuic@ciuic.com

联系客服
网站客服 业务合作 Q交流群
217503193
公众号
公众号
公众号
返回顶部

微信号复制成功

打开微信,点击右上角"+"号,添加朋友,粘贴微信号,搜索即可!