GitLab是一个功能强大的开源Git仓库管理平台,提供了代码托管、CI/CD、项目管理等功能。以下是在Linux系统上搭建GitLab服务器的详细步骤:
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates postfix
在Postfix安装过程中,选择"Internet Site"并按提示配置邮件服务器(可选)。
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://your-domain-or-ip" apt-get install gitlab-ee
将your-domain-or-ip
替换为你的域名或服务器IP地址。
安装完成后,运行以下命令重新配置GitLab:
sudo gitlab-ctl reconfigure
编辑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
如果启用了防火墙,需要开放相关端口:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable
在浏览器中访问配置的URL(如http://your-domain-or-ip
),首次访问会要求设置root用户密码。
sudo gitlab-ctl start
sudo gitlab-ctl stop
sudo gitlab-ctl restart
sudo gitlab-ctl status
sudo gitlab-ctl tail
sudo gitlab-rake gitlab:backup:create
备份默认存储在/var/opt/gitlab/backups
目录。
sudo gitlab-rake gitlab:backup:restore BACKUP=备份文件名
sudo apt-get update
sudo apt-get install gitlab-ee
sudo gitlab-ctl reconfigure
/etc/gitlab/gitlab.rb
:
ruby
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"
sudo gitlab-ctl reconfigure
在/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
对于生产环境,建议进行以下优化:
增加Unicorn worker数量(在/etc/gitlab/gitlab.rb
中):
unicorn['worker_processes'] = 4 # 根据CPU核心数调整
配置Sidekiq并发:
sidekiq['concurrency'] = 25
启用缓存:
gitlab_rails['redis_cache_enabled'] = true
定期清理无用数据:
sudo gitlab-rake gitlab:cleanup:project_uploads
sudo gitlab-rake gitlab:cleanup:orphan_job_artifact_files
以上是在Linux系统上搭建GitLab服务器的基本步骤,根据实际需求可能需要进一步配置。