插件窝 干货文章 Linux系统下怎么搭建Gitlab服务器

Linux系统下怎么搭建Gitlab服务器

GitLab sudo 配置 rails 1048    来源:    2025-04-21

Linux系统下搭建GitLab服务器指南

GitLab是一个功能强大的开源Git仓库管理平台,提供了代码托管、CI/CD、项目管理等功能。以下是在Linux系统上搭建GitLab服务器的详细步骤:

1. 系统要求

  • 操作系统: Ubuntu/Debian, CentOS/RHEL等主流Linux发行版
  • 硬件要求:
    • 至少4GB RAM(推荐8GB以上)
    • 至少4核CPU
    • 至少10GB可用磁盘空间(实际需要根据项目规模而定)

2. 安装步骤(以Ubuntu为例)

2.1 安装依赖项

sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates postfix

在Postfix安装过程中,选择"Internet Site"并按提示配置邮件服务器(可选)。

2.2 添加GitLab仓库并安装

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

2.3 安装GitLab企业版(EE)

sudo EXTERNAL_URL="http://your-domain-or-ip" apt-get install gitlab-ee

your-domain-or-ip替换为你的域名或服务器IP地址。

3. 配置GitLab

3.1 初始配置

安装完成后,运行以下命令重新配置GitLab:

sudo gitlab-ctl reconfigure

3.2 修改配置文件

编辑GitLab主配置文件:

sudo nano /etc/gitlab/gitlab.rb

常见配置项: - external_url 'http://your-domain-or-ip' - 设置访问URL - gitlab_rails['gitlab_email_from'] = 'gitlab@example.com' - 设置发件邮箱 - nginx['listen_port'] = 80 - 设置监听端口

修改后重新配置:

sudo gitlab-ctl reconfigure

4. 防火墙设置

如果启用了防火墙,需要开放相关端口:

sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable

5. 访问GitLab

在浏览器中访问配置的URL(如http://your-domain-or-ip),首次访问会要求设置root用户密码。

6. 常用管理命令

  • 启动所有GitLab组件:sudo gitlab-ctl start
  • 停止所有GitLab组件:sudo gitlab-ctl stop
  • 重启所有GitLab组件:sudo gitlab-ctl restart
  • 检查GitLab状态:sudo gitlab-ctl status
  • 查看日志:sudo gitlab-ctl tail

7. 备份与恢复

7.1 创建备份

sudo gitlab-rake gitlab:backup:create

备份默认存储在/var/opt/gitlab/backups目录。

7.2 恢复备份

sudo gitlab-rake gitlab:backup:restore BACKUP=备份文件名

8. 升级GitLab

sudo apt-get update
sudo apt-get install gitlab-ee
sudo gitlab-ctl reconfigure

9. 可选配置

9.1 配置HTTPS

  1. 获取SSL证书(可以使用Let's Encrypt)
  2. 修改/etc/gitlab/gitlab.rbruby external_url 'https://your-domain.com' nginx['redirect_http_to_https'] = true nginx['ssl_certificate'] = "/etc/letsencrypt/live/your-domain.com/fullchain.pem" nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/your-domain.com/privkey.pem"
  3. 重新配置:sudo gitlab-ctl reconfigure

9.2 配置SMTP邮件

/etc/gitlab/gitlab.rb中添加SMTP配置,例如使用Gmail:

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

10. 性能优化

对于生产环境,建议进行以下优化:

  1. 增加Unicorn worker数量(在/etc/gitlab/gitlab.rb中):

    unicorn['worker_processes'] = 4  # 根据CPU核心数调整
    
  2. 配置Sidekiq并发:

    sidekiq['concurrency'] = 25
    
  3. 启用缓存:

    gitlab_rails['redis_cache_enabled'] = true
    
  4. 定期清理无用数据:

    sudo gitlab-rake gitlab:cleanup:project_uploads
    sudo gitlab-rake gitlab:cleanup:orphan_job_artifact_files
    

注意事项

  1. GitLab会占用较多系统资源,建议在专用服务器上运行
  2. 定期备份重要数据
  3. 保持系统更新以获得安全补丁
  4. 对于大型团队,考虑使用GitLab Omnibus包之外的高可用配置

以上是在Linux系统上搭建GitLab服务器的基本步骤,根据实际需求可能需要进一步配置。