当前位置:首页 > 云服务器 > 正文

免费搭建GitLab服务器?轻松搞定!

GitLab提供开源平台用于搭建自托管Git服务器,支持代码托管、协作开发、CI/CD流水线等功能,可通过安装配置实现私有化代码仓库管理。

在软件开发中,版本控制是核心环节,GitLab 不仅是一个强大的 Git 服务器,还集成了 CI/CD、项目管理等功能,自建 GitLab 服务器可提升代码安全性、定制化能力和团队协作效率,本文将详细指导您从零搭建 GitLab 服务器,涵盖安装、配置、维护全流程。


准备工作

1 系统要求

  • 操作系统:Ubuntu 20.04/22.04 LTS(推荐)或 CentOS 7+。
  • 硬件配置
    • 最低配置:2 核 CPU、4GB 内存(适用于小型团队)。
    • 推荐配置:4 核 CPU、8GB 内存、50GB 存储(支持 CI/CD 等高级功能)。
  • 网络环境
    • 公网 IP 或域名(可选 HTTPS 证书)。
    • 开放端口:80(HTTP)、443(HTTPS)、22(SSH)。

2 环境依赖

确保系统已更新:

sudo apt update && sudo apt upgrade -y  # Ubuntu/Debian
sudo yum update -y                      # CentOS

安装 GitLab 服务

1 添加官方仓库

Ubuntu/Debian:

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

CentOS/RHEL:

免费搭建GitLab服务器?轻松搞定!  第1张

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

2 安装 GitLab-CE

执行安装命令(替换 your-domain 为实际域名或 IP):

sudo EXTERNAL_URL="http://your-domain.com" apt install gitlab-ce  # Ubuntu
sudo EXTERNAL_URL="http://your-domain.com" yum install gitlab-ce  # CentOS

3 启动服务

sudo gitlab-ctl reconfigure  # 初始化配置并启动

基础配置

1 访问 Web 管理界面

在浏览器输入服务器 IP 或域名,首次访问需设置管理员密码(账户名 root)。

2 关键配置项

  1. 配置文件路径/etc/gitlab/gitlab.rb
  2. 常用设置(修改后执行 sudo gitlab-ctl reconfigure 生效):
    external_url 'https://your-domain.com'           # 启用 HTTPS
    letsencrypt['enable'] = true                     # 自动申请 SSL 证书
    gitlab_rails['gitlab_shell_ssh_port'] = 2222     # 修改 SSH 端口(避免冲突)

3 邮件服务配置(示例:SMTP)

/etc/gitlab/gitlab.rb 中添加:

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-password"

使用 GitLab 管理项目

1 创建首个项目

  1. 登录后点击 Create project → 输入项目名称(如 my-project)。
  2. 选择可见性:Private(私有)或 Public(公开)。

2 本地 Git 连接

git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"
git clone git@your-domain.com:username/my-project.git
cd my-project
touch README.md
git add . && git commit -m "Initial commit"
git push -u origin main

维护与安全

1 定期备份

sudo gitlab-rake gitlab:backup:create  # 备份到 /var/opt/gitlab/backups
# 手动备份到远程存储(示例):
sudo cp /var/opt/gitlab/backups/$(ls -t /var/opt/gitlab/backups | head -1) /mnt/backup/

2 更新与恢复

  • 升级版本
    sudo apt update && sudo apt install gitlab-ce  # Ubuntu
  • 恢复备份
    sudo gitlab-ctl stop
    sudo gitlab-rake gitlab:backup:restore BACKUP=备份文件名

3 安全加固

  • 防火墙规则
    sudo ufw allow ssh
    sudo ufw allow http
    sudo ufw allow https
    sudo ufw enable
  • 关闭注册功能
    Admin Area → Settings → Sign-up restrictions 取消勾选 Sign-up enabled

常见问题解答

Q1:访问 GitLab 页面显示 502 错误?
A:内存不足导致,尝试增加 SWAP 分区:

sudo dd if=/dev/zero of=/swapfile bs=1G count=4
sudo chmod 600 /swapfile
sudo mkswap /swapfile && sudo swapon /swapfile

Q2:Git 推送时提示 “Permission denied (publickey)”?
A:本地 SSH 公钥未添加到 GitLab,复制 ~/.ssh/id_rsa.pub 内容到 Settings → SSH Keys

Q3:如何迁移旧 Git 仓库到 GitLab?
A:在项目页选择 Import project → Repo by URL,输入原仓库地址。


自建 GitLab 服务器不仅保障代码安全,更通过 CI/CD、Issue 跟踪等功能提升开发效率,遵循本文步骤,您已具备部署和管理企业级 Git 服务的能力,定期维护和备份是长期稳定运行的关键。


引用说明

本文参考以下权威资料:

  1. GitLab 官方文档:https://docs.gitlab.com/
  2. Ubuntu 服务器指南:https://ubuntu.com/server/docs
  3. Linux 安全加固手册:https://linuxsecurity.com/ 基于 GitLab-CE 16.x 版本验证,更新于 2025 年 10 月)
0