如何在本地环境中搭建 GitLab 服务器

发布于:2025-09-03 ⋅ 阅读:(17) ⋅ 点赞:(0)

引言

本文详细描述了如何在本地环境中搭建 GitLab 服务器。GitLab 是一个开源的 Git 仓库管理平台,类似于 GitHub,但可以自托管。我们将使用 Ubuntu Linux 系统(推荐 22.04 LTS)作为示例,通过官方 Omnibus 包进行安装。这种方式简单高效,适合个人或小型团队使用。

注意:本教程假设你有基本的 Linux 命令知识。如果你使用其他系统(如 Windows),建议使用虚拟机(如 VirtualBox)安装 Ubuntu。整个过程大约需要 1-2 小时,视网络和硬件而定。安装后,GitLab 会占用一定资源(至少 4GB RAM)。

系统要求

  • 操作系统:Ubuntu 20.04 或更高版本(其他 Linux 发行版也可,但需调整命令)。
  • 硬件:至少 4GB RAM、2 核 CPU、20GB 可用磁盘空间(推荐 8GB RAM 以获得更好性能)。
  • 网络:静态 IP 地址(可选,但推荐用于生产环境);端口 80/443(HTTP/HTTPS)、22(SSH)需开放。
  • 软件:已安装 curl、openssh-server、ca-certificates、postfix(邮件服务,用于通知)。

如果你的机器不符合要求,GitLab 可能运行缓慢或崩溃。

系统架构概述

以下是 GitLab 的基本架构图:

GitLab Components
HTTP/HTTPS/SSH
PostgreSQL 数据库
Redis 缓存
Git 存储
Sidekiq 后台任务
Unicorn/Puma Web 服务器
用户浏览器/客户端
GitLab 服务器

这个图展示了 GitLab 的核心组件:Web 服务器处理请求,数据库存储数据,Redis 处理缓存等。

安装步骤

我们分步进行安装。以下流程图概述整个过程:

准备系统
安装依赖
添加 GitLab 仓库
安装 GitLab 包
配置和启动
访问 Web 界面
初始设置
测试和优化

步骤 1: 更新系统和安装依赖

首先,确保系统是最新的,并安装所需包。

  1. 打开终端,运行:

    sudo apt update
    sudo apt upgrade -y
    
  2. 安装依赖:

    sudo apt install -y curl openssh-server ca-certificates tzdata perl
    
  3. 安装 Postfix(邮件服务,选择 “Internet Site” 并输入域名):

    sudo apt install -y postfix
    

如果出现提示,按照屏幕指示配置。

步骤 2: 添加 GitLab 仓库

GitLab 提供官方脚本添加仓库。

运行:

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

这个脚本会添加 GitLab 的 APT 仓库源。

步骤 3: 安装 GitLab 包

安装 GitLab EE(企业版,免费使用社区功能)。

sudo EXTERNAL_URL="http://your-ip-address" apt install gitlab-ee
  • your-ip-address 替换为你的机器 IP(用 ip addr show 查看)或域名。
  • 如果想用 HTTPS,稍后配置。

安装过程会下载并设置所有组件(如数据库、Redis)。

安装流程简化图:

User Server 运行安装命令 下载包 配置数据库/Redis 启动服务 安装完成 User Server

步骤 4: 配置 GitLab

安装后,GitLab 会自动配置,但你需要调整一些设置。

  1. 编辑配置文件:

    sudo nano /etc/gitlab/gitlab.rb
    
  2. 关键配置(示例):

    • 设置外部 URL:external_url 'http://your-ip-address'
    • 如果有域名:external_url 'http://gitlab.example.com'
    • 启用 HTTPS(需 SSL 证书):添加 letsencrypt['enable'] = true(自动获取 Let’s Encrypt 证书)。
    • SMTP 设置(邮件):配置 gitlab_rails['smtp_enable'] = true 等参数。
  3. 应用配置:

    sudo gitlab-ctl reconfigure
    

这个命令会重启服务并应用更改。可能需要几分钟。

步骤 5: 访问 Web 界面

  1. 在浏览器中访问 http://your-ip-address(或配置的 URL)。
  2. 首次访问,会提示设置 root 用户密码。输入一个强密码并记住。

登录后,你会看到 GitLab 仪表板。

步骤 6: 初始设置和测试

  1. 创建项目:点击 “New project”,选择空白仓库。

  2. 添加 SSH 密钥(可选,但推荐):

    • 生成密钥:ssh-keygen
    • 复制公钥:cat ~/.ssh/id_rsa.pub
    • 在 GitLab > 用户设置 > SSH Keys 添加。
  3. 克隆测试

    git clone git@your-ip-address:root/test-project.git
    
  4. 用户管理:作为 root,创建新用户(用户 > 新用户)。

配置流程图:

编辑 gitlab.rb
设置 external_url
配置 SMTP/HTTPS
运行 reconfigure
重启服务
测试访问

安全和优化

  • 防火墙:启用 UFW 并允许端口:
    sudo ufw allow OpenSSH
    sudo ufw allow http
    sudo ufw allow https
    sudo ufw enable
    
  • 备份:定期运行 sudo gitlab-rake gitlab:backup:create
  • 性能优化:如果 RAM 不足,编辑 gitlab.rb 调整 Unicorn 工作者数量。
  • 更新:运行 sudo apt update && sudo apt upgrade gitlab-ee

常见问题和故障排除

  • 安装失败:检查网络,确保没有代理问题。重试脚本。
  • 端口占用:用 sudo netstat -tuln 检查 80/443 端口。
  • 邮件不发送:验证 SMTP 设置,测试 sudo gitlab-rails console 中发送邮件。
  • 内存不足:监控 sudo gitlab-ctl tail 日志,增加 swap 或升级硬件。
  • 重置 root 密码sudo gitlab-rake "gitlab:password:reset[root]"
  • 日志:查看 sudo gitlab-ctl tail/var/log/gitlab

如果遇到错误,参考官方文档或 Stack Overflow。

结语

恭喜!你现在有了一个本地 GitLab 服务器!它可以用于代码协作、CI/CD 等。记得定期维护和备份。对于生产环境,考虑 Docker 安装或云托管(如 GitLab.com)。

如果需要高级功能,如 CI/CD runners,参考官方指南。


网站公告

今日签到

点亮在社区的每一天
去签到