上一篇
如何高效搭建属于你自己的GitLab服务器?
- 行业动态
- 2025-04-23
- 4
GitLab服务器搭建需先安装依赖环境,选择合适的Linux系统,通过官方仓库或Docker部署,配置域名、SSL证书及防火墙规则,初始化存储路径与备份策略,设置SMTP邮件服务,管理员账户创建后,可通过Web界面管理代码仓库、CI/CD流水线及用户权限,实现团队协作与自动化运维。
环境准备
服务器要求
- 操作系统:推荐使用 Ubuntu 20.04/22.04 LTS 或 CentOS 7/8。
- 硬件配置:至少4核CPU、4GB内存(建议8GB以上)、50GB硬盘空间。
- 网络条件:开放HTTP/HTTPS端口(80/443)、SSH端口(22),确保域名解析正确。
依赖安装
执行以下命令安装基础依赖:# Ubuntu/Debian sudo apt update sudo apt install -y curl openssh-server ca-certificates tzdata perl # CentOS/RHEL sudo yum install -y curl policycoreutils openssh-server openssh-clients
安装GitLab
添加官方仓库
通过脚本自动配置仓库并安装:curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash # Debian/Ubuntu curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash # CentOS/RHEL
执行安装命令
替换your-domain.com
为实际域名: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 nano /etc/gitlab/gitlab.rb
- 调整
external_url
为实际域名(例如https://gitlab.example.com
)。 - 若需启用HTTPS,添加以下配置:
letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@example.com']
- 调整
应用配置并重启服务
sudo gitlab-ctl reconfigure sudo gitlab-ctl restart
访问与初始化
获取初始密码
首次安装后,系统会生成一个初始密码,通过以下命令查看:sudo cat /etc/gitlab/initial_root_password
登录管理后台
- 浏览器访问
http://your-domain.com
,使用用户名root
和初始密码登录。 - 强制修改密码:登录后需立即重置root账户密码。
- 浏览器访问
创建项目与用户
- 进入控制台创建新项目,配置SSH密钥实现代码推送。
- 通过Admin Area添加团队成员并分配权限。
维护与优化
定期备份
sudo gitlab-backup create # 备份数据到/var/opt/gitlab/backups # 同时备份配置文件 sudo tar -czvf /etc/gitlab/config_backup.tar.gz /etc/gitlab
版本升级
sudo apt update && sudo apt install gitlab-ce # Ubuntu/Debian sudo yum update && sudo yum install gitlab-ce # CentOS/RHEL
监控资源占用
- 使用内置工具查看状态:
sudo gitlab-ctl status
- 调整服务性能:修改
/etc/gitlab/gitlab.rb
中的puma['worker_processes']
(默认为CPU核心数)。
- 使用内置工具查看状态:
常见问题处理
- 502错误:通常因服务未启动,执行
sudo gitlab-ctl restart
。 - 页面加载慢:检查服务器资源(CPU/内存),可尝试增加SWAP分区。
- 邮件服务异常:在
gitlab.rb
中配置SMTP参数后重新reconfigure
。
引用说明
本文参考GitLab官方安装文档与运维最佳实践指南。