上一篇
如何在Linux系统上快速搭建GitLab?
- 行业动态
- 2025-04-23
- 4
GitLab是一款开源DevOps平台,在Linux系统搭建需安装依赖库,配置仓库源后通过包管理器一键部署,启动服务后通过浏览器访问IP进行初始化,设置管理员账户、域名及HTTPS证书即可创建私有代码仓库,支持团队协作、CI/CD等全流程开发管理。
第一步:准备工作
在Linux服务器上搭建GitLab前,需确保满足以下条件:
- 系统环境:推荐使用Ubuntu 20.04/22.04 LTS或CentOS 7/8,系统需更新至最新稳定版本。
- 硬件配置:至少4GB内存(2GB可能导致性能不足)、2核CPU、20GB磁盘空间(后续根据项目需求扩展)。
- 网络要求:开放HTTP/HTTPS(80/443端口)和SSH(22端口),若使用防火墙需提前配置。
- 域名准备:建议绑定域名并配置SSL证书,提升安全性与访问体验。
第二步:安装依赖与配置环境
- 更新系统与安装工具包
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian sudo yum update -y && sudo yum install -y curl policycoreutils # CentOS/RHEL
- 安装邮件服务(可选)
GitLab需邮件服务发送通知,可安装Postfix:sudo apt install -y postfix # Ubuntu/Debian sudo yum install -y postfix # CentOS/RHEL
安装时选择“Internet Site”,域名填写服务器IP或域名。
第三步:安装GitLab社区版
- 添加GitLab官方仓库
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash # Ubuntu/Debian curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash # CentOS/RHEL
- 执行安装命令
替换your-domain.com
为实际域名或服务器IP:sudo EXTERNAL_URL="http://your-domain.com" apt install gitlab-ce # Ubuntu/Debian sudo EXTERNAL_URL="http://your-domain.com" yum install gitlab-ce # CentOS/RHEL
第四步:初始化配置与访问
- 启动GitLab服务
sudo gitlab-ctl reconfigure # 自动完成初始配置
- 获取初始密码
首次安装后,默认管理员密码存储在文件中:sudo cat /etc/gitlab/initial_root_password
- 登录管理后台
浏览器访问http://your-domain.com
,使用用户名root
和上述密码登录。
第五步:高级配置(可选但推荐)
- 启用HTTPS加密
修改配置文件/etc/gitlab/gitlab.rb
,添加以下内容:external_url 'https://your-domain.com' letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@example.com']
保存后运行
sudo gitlab-ctl reconfigure
。 - 调整资源限制
若服务器内存较小,可减少GitLab进程占用:unicorn['worker_processes'] = 2 postgresql['shared_buffers'] = "256MB"
- 配置备份与恢复
- 手动备份:
sudo gitlab-backup create
- 自动备份:通过Crontab定期执行。
- 手动备份:
第六步:日常维护与安全建议
- 定期更新版本
sudo apt update && sudo apt install gitlab-ce # Ubuntu/Debian sudo yum update gitlab-ce # CentOS/RHEL
- 监控服务器状态
- 使用
sudo gitlab-ctl status
检查服务运行状态。 - 通过
sudo gitlab-rake gitlab:check
验证系统完整性。
- 使用
- 安全加固
- 开启防火墙限制非必要端口。
- 定期审计用户权限与项目访问控制。
常见问题解答
- 访问GitLab出现502错误:检查内存是否不足,可增加Swap空间或优化配置。
- 邮件服务未生效:验证Postfix状态
systemctl status postfix
,检查SMTP配置。 - 域名解析失败:确认DNS记录正确或本地Hosts文件是否绑定IP与域名。
参考来源
- GitLab官方文档:https://docs.gitlab.com/ee/install/
- Let’s Encrypt证书配置指南:https://letsencrypt.org/docs/