Linux云服务器如何配置GitLab?

常见问题

Linux云服务器如何配置GitLab?

2025-04-16 00:33


Linux云服务器

                                            

Linux云服务器上GitLab配置全攻略:从零搭建代码托管平台

在当今DevOps时代,GitLab已成为企业级代码托管和CI/CD的首选解决方案。本文将详细介绍如何在Linux云服务器上完成GitLab的完整配置,涵盖从环境准备到高级功能设置的完整流程。

一、环境准备

1.1 服务器规格要求

建议配置至少2核CPU、4GB内存的云服务器,生产环境推荐8GB以上内存。存储空间根据项目规模选择,建议预留50GB以上空间。

1.2 操作系统选择

推荐使用Ubuntu 20.04/22.04 LTS或CentOS 8/Stream版本:

# 更新系统包(Ubuntu)
sudo apt update && sudo apt upgrade -y

# 或CentOS系统
sudo yum update -y

二、安装GitLab CE

2.1 添加GitLab仓库

根据系统类型执行相应命令:

Ubuntu系统

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

CentOS系统

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

2.2 执行安装

# Ubuntu
sudo EXTERNAL_URL="您的域名或IP" apt install gitlab-ce

# CentOS
sudo EXTERNAL_URL="您的域名或IP" yum install gitlab-ce

三、基础配置

3.1 修改配置文件

编辑主配置文件:/etc/gitlab/gitlab.rb

external_url 'http://gitlab.example.com'  # 替换为您的域名
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'

3.2 应用配置

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

四、安全加固

4.1 防火墙设置

# 开放HTTP/HTTPS端口
sudo ufw allow http
sudo ufw allow https
sudo ufw allow 22  # SSH端口

4.2 SSL证书配置

使用Let's Encrypt免费证书:

# 编辑gitlab.rb
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']

五、高级功能配置

5.1 邮件服务配置

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "username"
gitlab_rails['smtp_password'] = "password"

5.2 备份设置

# 手动备份
sudo gitlab-rake gitlab:backup:create

# 自动备份配置
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800  # 保留7天

六、常见问题解决

  • 502错误: 通常由内存不足引起,建议增加swap空间
  • 无法发送邮件: 检查SMTP配置和防火墙设置
  • 性能优化: 可配置Sidekiq进程数和Puma worker数

通过以上步骤,您已经成功在Linux云服务器上部署了功能完善的GitLab服务。后续可根据团队需求配置LDAP集成、Kubernetes集群集成等高级功能。


label :
  • Linux云服务器
  • GitLab配置
  • 代码托管平台
  • 莱卡云