Ubuntu24.04如何部署gitlab
在 Ubuntu 24.04 上部署 GitLab 有多种方式,以下是几种常见的方法:
方法一:使用官方 Omnibus 包(推荐)
1. 安装必要依赖
sudo apt update sudo apt install -y curl openssh-server ca-certificates tzdata perl
2. 添加 GitLab 官方仓库
# 信任 GitLab GPG 密钥 curl -fsSL https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey | sudo gpg --dearmor -o /etc/apt/keyrings/gitlab.gpg # 添加仓库 echo "deb [signed-by=/etc/apt/keyrings/gitlab.gpg] https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gitlab_gitlab-ce.list
3. 安装 GitLab CE
sudo apt update sudo apt install gitlab-ce
4. 配置 GitLab
# 编辑配置文件 sudo nano /etc/gitlab/gitlab.rb # 修改关键配置(根据你的环境调整) external_url 'http://your-domain.com' # 或 'http://your-server-ip'
5. 重新配置并启动
sudo gitlab-ctl reconfigure sudo gitlab-ctl start # 查看状态 sudo gitlab-ctl status
方法二:使用 Docker 部署
1. 安装 Docker
sudo apt update sudo apt install -y docker.io docker-compose # 启动 Docker 服务 sudo systemctl enable --now docker
2. 创建 docker-compose.yml
mkdir gitlab-docker && cd gitlab-docker nano docker-compose.yml
version: '3.6' services: web: image: 'gitlab/gitlab-ce:latest' restart: always hostname: 'gitlab.example.com' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://your-server-ip' # 可添加其他配置 ports: - '80:80' - '443:443' - '22:22' volumes: - './config:/etc/gitlab' - './logs:/var/log/gitlab' - './data:/var/opt/gitlab' shm_size: '256m'
3. 启动 GitLab
docker-compose up -d # 查看日志 docker-compose logs -f
方法三:使用 Snap 包(最简单)
# 安装 Snap(如果未安装) sudo apt update sudo apt install -y snapd # 安装 GitLab sudo snap install gitlab-ce # 配置 sudo snap set gitlab-ce external-url="http://your-server-ip" # 等待配置完成(大约需要几分钟) sudo gitlab-ctl reconfigure
初始配置和访问
1. 获取初始 root 密码
# Omnibus 安装 sudo cat /etc/gitlab/initial_root_password # Docker 安装 docker exec -it gitlab-docker_web_1 grep 'Password:' /etc/gitlab/initial_root_password
2. 访问 GitLab
打开浏览器访问:
http://your-server-ip使用用户名:
root使用上面获取的密码
3. 常用管理命令
# 查看状态 sudo gitlab-ctl status # 启动/停止/重启服务 sudo gitlab-ctl start sudo gitlab-ctl stop sudo gitlab-ctl restart # 查看日志 sudo gitlab-ctl tail # 重新配置 sudo gitlab-ctl reconfigure # 更新 GitLab sudo apt update sudo apt install gitlab-ce sudo gitlab-ctl reconfigure
配置优化建议
1. 调整资源配置
编辑 /etc/gitlab/gitlab.rb:
# 根据服务器内存调整 puma['worker_processes'] = 2 # 默认为 CPU 核心数 sidekiq['concurrency'] = 10 # 默认为 25 # PostgreSQL 配置 postgresql['shared_buffers'] = "256MB" postgresql['max_worker_processes'] = 8 # Redis 配置 redis['maxmemory'] = "256mb"
2. 配置电子邮件
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "your-email@gmail.com" gitlab_rails['smtp_password'] = "your-password" gitlab_rails['smtp_domain'] = "gmail.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = false gitlab_rails['gitlab_email_from'] = 'your-email@gmail.com'
3. 启用 HTTPS(需要域名和 SSL 证书)
external_url 'https://gitlab.example.com' # 使用 Let's Encrypt letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@example.com'] letsencrypt['auto_renew'] = true
防火墙配置
# 开放必要端口 sudo ufw allow http sudo ufw allow https sudo ufw allow ssh sudo ufw allow 22/tcp # Git over SSH # 启用防火墙 sudo ufw enable sudo ufw status
备份和恢复
# 创建备份 sudo gitlab-backup create # 备份存储在 /var/opt/gitlab/backups/ # 恢复备份(需要先停止服务) sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop sidekiq sudo gitlab-rake gitlab:backup:restore BACKUP=备份文件名 sudo gitlab-ctl start
常见问题解决
1. 502 错误
# 检查服务状态 sudo gitlab-ctl status # 查看日志 sudo gitlab-ctl tail nginx sudo gitlab-ctl tail puma
2. 内存不足
# 增加交换空间 sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # 永久添加 echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
3. 启动缓慢
首次启动需要较长时间(10-30分钟),请耐心等待。
系统要求建议
最低配置:4GB RAM,2 CPU 核心,10GB 存储
推荐配置:8GB RAM,4 CPU 核心,50GB+ 存储
支持 100 用户以上:16GB RAM,8 CPU 核心,100GB+ 存储
选择哪种方式取决于你的需求:
生产环境:推荐 Omnibus 包
测试/开发:Docker 或 Snap
快速体验:Snap 最简单
<< 上一篇
网友留言(0 条)