阅读量:100
Ubuntu系统部署GitLab(社区版)详细步骤
1. 准备工作
- 系统要求:Ubuntu 20.04及以上版本(推荐LTS版);至少2GB RAM(推荐4GB+)、20GB可用存储空间;确保服务器联网。
- 权限要求:需具备
root或sudo权限。
2. 安装必要依赖
运行以下命令安装GitLab所需的工具包(包括SSH服务、证书、时区数据等):
sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata perl
openssh-server:用于GitLab的SSH克隆/推送功能;ca-certificates:确保HTTPS连接的安全性;tzdata:设置系统时区(避免时间同步问题)。
3. 添加GitLab官方包存储库
通过官方脚本将GitLab的APT源添加到系统中,确保后续能获取最新版本:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
- 此脚本会自动添加GitLab的GPG密钥和软件源,避免手动配置的麻烦。
4. 安装GitLab社区版(CE)
指定GitLab实例的外部访问地址(替换为服务器域名或IP):
sudo EXTERNAL_URL="http://" apt install gitlab-ce -y
- 示例:若服务器IP为
192.168.1.100,则命令为sudo EXTERNAL_URL="http://192.168.1.100" apt install gitlab-ce -y。 - 此命令会自动下载并安装GitLab CE及所有依赖。
5. 配置GitLab
编辑GitLab的主配置文件,调整核心设置(如外部URL、邮件通知等):
sudo nano /etc/gitlab/gitlab.rb
- 必改项:找到
external_url行,修改为你的实际访问地址(如external_url 'http://192.168.1.100'); - 可选项:若需启用邮件通知(如密码重置、问题提醒),需取消以下配置的注释并填入SMTP信息:
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.example.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "your-email@example.com" gitlab_rails['smtp_password'] = "your-email-password" gitlab_rails['smtp_domain'] = "example.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['gitlab_email_from'] = "gitlab@example.com" - 保存并退出编辑器(
Ctrl+O→Enter→Ctrl+X)。
6. 应用配置并启动服务
运行以下命令使配置生效,并启动GitLab相关服务:
sudo gitlab-ctl reconfigure
- 此命令会根据
/etc/gitlab/gitlab.rb的配置生成新的服务文件,并启动GitLab; - 启动后,可通过
sudo gitlab-ctl status查看服务状态(确保所有服务均为run状态)。
7. 访问GitLab
- 在浏览器中输入
http://(如http://192.168.1.100),进入GitLab登录页面; - 首次登录:系统会提示设置
root用户的密码(默认无密码,需强制修改); - 登录后,即可开始创建项目、管理用户及代码仓库。
8. 常用维护命令
- 启动GitLab服务:
sudo gitlab-ctl start - 停止GitLab服务:
sudo gitlab-ctl stop - 重启GitLab服务:
sudo gitlab-ctl restart - 查看服务状态:
sudo gitlab-ctl status - 查看实时日志:
sudo gitlab-ctl tail(用于排查问题)
9. 可选优化步骤
- 开启HTTPS:修改
EXTERNAL_URL为https://,并在/etc/gitlab/gitlab.rb中启用Let’s Encrypt:运行letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@example.com']sudo gitlab-ctl reconfigure即可自动获取SSL证书。 - 配置防火墙:若启用了
ufw(Ubuntu防火墙),需允许HTTP/HTTPS/SSH端口:sudo ufw allow http sudo ufw allow https sudo ufw allow ssh sudo ufw enable - 设置开机自启动:GitLab安装后会自动启用开机自启动,无需额外配置。
以上步骤完成后,你的Ubuntu服务器上已成功部署GitLab社区版,可满足团队代码托管、协作开发等需求。如需更高级的功能(如高可用、负载均衡),可参考GitLab官方文档进行扩展。