香港VPS服务器如何在Linux系统上搭建GitLab?

香港 VPS 服务器上搭建 GitLab 是一个常见的需求,用于管理代码和项目协作。


1. 系统要求

1.1 硬件资源

  • 最低配置
    • 2 核 CPU
    • 4 GB RAM
    • 10 GB 磁盘空间(根据项目规模可扩展)
  • 推荐配置
    • 4 核 CPU
    • 8 GB RAM
    • 50 GB 磁盘空间或以上

1.2 软件要求

  • 支持的操作系统:
    • CentOS 7 / 8
    • Ubuntu 20.04 / 22.04
  • 预装依赖:
    • Git
    • cURL
    • OpenSSH

2. GitLab 安装方法

方法 1:使用官方 Omnibus 安装包

GitLab 官方提供了一键安装包 Omnibus,适用于大多数场景。


2.1 安装必要依赖

CentOS 系统

  1. 更新系统:

    bash
    sudo yum update -y
    
  2. 安装依赖:

    bash
    sudo yum install -y curl policycoreutils-python openssh-server
    
  3. 安装邮件依赖(可选,用于 GitLab 发送通知邮件):

    bash
    sudo yum install -y postfix
    sudo systemctl enable postfix
    sudo systemctl start postfix
    

Ubuntu 系统

  1. 更新系统:

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

    bash
    sudo apt install -y curl openssh-server ca-certificates tzdata perl
    
  3. 安装邮件依赖(可选):

    bash
    sudo apt install -y postfix
    

2.2 添加 GitLab 官方仓库并安装

  1. 下载 GitLab 安装脚本:

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

    如果使用 Ubuntu,脚本会自动适配。

  2. 安装 GitLab:

    bash
    sudo EXTERNAL_URL="http://your-domain.com" yum install -y gitlab-ee
    
    • EXTERNAL_URL 指定 GitLab 的访问 URL。例如:
      • 如果使用域名:http://gitlab.yourdomain.com
      • 如果使用 IP:http://123.123.123.123

2.3 配置 GitLab

  1. 编辑 GitLab 配置文件(可选):

    bash
    sudo nano /etc/gitlab/gitlab.rb
    
    • 确认或修改以下内容:
      plaintext
      external_url 'http://your-domain.com'
      
  2. 应用配置并启动 GitLab:

    bash
    sudo gitlab-ctl reconfigure
    
  3. 查看 GitLab 状态:

    bash
    sudo gitlab-ctl status
    

2.4 设置VPS服务器防火墙规则

确保 GitLab 的端口开放:

  • 默认端口:
    • HTTP: 80
    • HTTPS: 443
    • SSH: 22

CentOS 防火墙规则

bash
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --reload

Ubuntu 防火墙规则

bash
sudo ufw allow http
sudo ufw allow https
sudo ufw allow 22/tcp
sudo ufw reload

2.5 访问 GitLab

  1. 在浏览器中访问:
    plaintext
    http://your-domain.com
    
  2. 首次登录:
    • GitLab 会提示您设置管理员密码。
    • 默认管理员用户名为:root

方法 2:使用 Docker 安装 GitLab

如果您希望使用容器化部署,可以通过 Docker 安装 GitLab。

2.1 安装 Docker 和 Docker Compose

  1. 安装 Docker:

    bash
    curl -fsSL https://get.docker.com | bash
    sudo systemctl start docker
    sudo systemctl enable docker
    
  2. 安装 Docker Compose:

    bash
    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    

2.2 创建 GitLab 配置目录

创建目录以存储 GitLab 数据:

bash
mkdir -p /srv/gitlab/config /srv/gitlab/logs /srv/gitlab/data

2.3 创建 Docker Compose 文件

创建 docker-compose.yml 文件:

bash
nano docker-compose.yml

添加以下内容:

yaml
version: '3.8'
services:
  gitlab:
    image: gitlab/gitlab-ee:latest
    container_name: gitlab
    restart: always
    hostname: 'your-domain.com'
    ports:
      - '80:80'
      - '443:443'
      - '22:22'
    volumes:
      - /srv/gitlab/config:/etc/gitlab
      - /srv/gitlab/logs:/var/log/gitlab
      - /srv/gitlab/data:/var/opt/gitlab
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://your-domain.com'

2.4 启动 GitLab

启动容器:

bash
docker-compose up -d

2.5 验证

在浏览器中访问 http://your-domain.com,完成 GitLab 的初始化。


3. 常见问题及解决

3.1 无法访问 GitLab

  • 检查防火墙规则是否正确配置。
  • 确认 external_url 配置是否正确。
  • 检查服务状态:
    bash
    sudo gitlab-ctl status
    

3.2 端口冲突

  • 如果默认端口被占用,可以在配置文件中修改:
    plaintext
    external_url 'http://your-domain.com:8080'
    

3.3 性能问题

  • 如果服务器硬件资源不足,GitLab 的性能可能受限,建议:
    • 增加内存和 CPU。
    • 优化 GitLab 配置,减少不必要的功能模块。

4. 总结

方法 优点 缺点
Omnibus 安装 简单快速,适合大多数场景 需要手动管理配置和更新
Docker 部署 容器化部署,易于迁移和管理 依赖 Docker,资源消耗稍高

 

香港 VPS 上搭建 GitLab,可以根据您的需求选择合适的部署方式。如果您需要快速部署并且资源较为充足,建议使用 Omnibus 安装。如果需要更灵活的管理和迁移,可以选择 Docker 部署

超过 50,000 人的信任 网硕互联期待你加入我们的会员。