GitLab 提供多个版本,主要分为 社区版(CE)企业版(EE),企业版又细分为多个付费等级(Starter、Premium、Ultimate)。下面是它们的核心区别:

🆓 GitLab 社区版(Community Edition, CE)

  • 价格:完全免费,开源
  • 适用对象:个人开发者、小型团队
  • 功能特点

    • 基本的 Git 仓库管理
    • 代码审查(Merge Request)
    • 持续集成/持续部署(CI/CD)
    • 问题追踪(Issue Tracker)
    • Wiki 和项目看板
  • 限制

    • 不支持高级安全审计
    • 无官方技术支持
    • 无合规性报告、策略管理等企业级功能

💼 GitLab 企业版(Enterprise Edition, EE)

企业版是在社区版基础上扩展的,提供更强大的功能和支持服务。

功能类别 社区版(CE) 企业版(EE)
CI/CD 自动化 ✅ 基础支持 ✅ 高级功能(如并发限制、流水线优化)
安全性 ❌ 无高级安全 ✅ 支持 SAML、LDAP、双因素认证、审计日志
合规性与治理 ❌ 无 ✅ 合规报告、策略管理、代码所有权控制
项目管理 ✅ 基础功能 ✅ 高级功能(如时间跟踪、资源分配)
DevOps 集成 ✅ 基本支持 ✅ 深度集成 JIRA、Kubernetes、Vault 等
技术支持 ❌ 社区支持 ✅ 官方支持(根据套餐等级)
价格 免费 按用户计费,Premium 每人每月约 $29

📌 企业版适合中大型团队,尤其是对安全、合规、审计有要求的组织。

🧠 如何选择?

  • 如果你是 个人开发者或小型团队,社区版已经非常强大,足够日常开发和协作。
  • 如果你是 企业用户,需要安全审计、权限细化、合规性管理等功能,企业版是更合适的选择。
  • 企业版还提供试用期,你可以先体验再决定是否升级。

部署 GitLab 社区版(GitLab CE)有多种方式,适合不同的技术环境和使用需求。下面是几种主流部署方式:

🚀 GitLab 社区版部署方式总览

部署方式 适用场景 优点 难度
Docker 部署 本地或云端快速部署 快速、隔离性好、易于迁移 ⭐⭐
Linux 原生安装 企业服务器、长期运行环境 稳定、可深度定制 ⭐⭐⭐
RPM/YUM 安装 CentOS/RHEL 系统 官方支持、自动更新 ⭐⭐
Kubernetes 部署 云原生架构、高可用需求 弹性伸缩、适合大规模部署 ⭐⭐⭐⭐
本地虚拟机部署 学习测试、离线环境 易于控制、无公网依赖

🐳 方式一:Docker 部署(推荐)

适合快速搭建 GitLab 服务,尤其适合开发者或小团队。

docker run --detach \
  --hostname gitlab.local \
  --publish 443:443 --publish 80:80 --publish 222:22 \
  --name gitlab \
  --restart always \
  --volume /srv/gitlab/config:/etc/gitlab \
  --volume /srv/gitlab/logs:/var/log/gitlab \
  --volume /srv/gitlab/data:/var/opt/gitlab \
  --shm-size 256m \
  gitlab/gitlab-ce:latest

🧱 方式二:Linux 原生安装(APT/YUM)

适合企业级部署,支持系统服务管理。

Ubuntu/Debian 安装:

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

CentOS/RHEL 安装:

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

安装完成后运行:

sudo gitlab-ctl reconfigure

📦 方式三:RPM 包安装(离线环境)

适合没有公网的服务器或需要指定版本的情况。

  1. 从 GitLab 官方 RPM 仓库 下载 .rpm 文件
  2. 使用命令安装:

    sudo rpm -ivh gitlab-ce-xx.rpm
    sudo gitlab-ctl reconfigure
    

☁️ 方式四:Kubernetes 部署(高级)

适合云原生架构,支持高可用和弹性扩展。

  • 使用 Helm Chart 安装 GitLab:

    helm repo add gitlab https://charts.gitlab.io/
    helm install gitlab gitlab/gitlab
    
  • 需要配置 Ingress、持久化存储、Runner 等组件

💻 方式五:本地虚拟机部署(学习测试)

适合离线环境或初学者练习:

  • 安装虚拟机软件(如 VirtualBox、VMware)
  • 安装 Linux 系统(推荐 Ubuntu 或 CentOS)
  • 按照原生安装或 Docker 安装方式部署 GitLab

下面我用docker方式部署一遍:

🧰 一、环境准备

✅ 系统要求

  • 推荐使用 Linux(如 Ubuntu 20.04 或 CentOS 7/8)
  • 至少 4GB 内存,2 核 CPU,10GB 磁盘空间

✅ 安装依赖

sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates tzdata

✅ 安装邮件服务(可选)

sudo apt-get install -y postfix
sudo systemctl enable postfix
sudo systemctl start postfix

🐳 二、使用 Docker 安装 GitLab CE

1. 设置数据卷路径

提前创建 /srv/gitlab 文件夹,手动创建并设置权限:

sudo mkdir -p /srv/gitlab/{config,logs,data}
sudo chown -R 1000:1000 /srv/gitlab

👆 这里的 1000:1000 是 GitLab 容器默认的运行用户 UID 和 GID。如果不确定,可以先运行容器再查看实际 UID。

export GITLAB_HOME=/srv/gitlab

2. 拉取镜像并运行容器

docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 222:22 \
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  --shm-size 256m \
  gitlab/gitlab-ce:latest

🔐 三、首次登录与配置

获取管理员密码

docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

访问 GitLab

  • 打开浏览器访问 http://your-server-ip
  • 使用用户名 root 和上述密码登录
  • 设置域名或 IP 地址:

    sudo vi /srv/gitlab/config/gitlab.rb
    # 修改 external_url 为你的地址或者新增配置
    external_url 'http://xx.xx.xx.xx'
    
    #进入容器
    docker exec -it gitlab bash
    gitlab-ctl reconfigure
    

⚙️ 四、启用 CI/CD 功能

安装 GitLab Runner

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt-get install gitlab-runner

注册 Runner

sudo gitlab-runner register
  • 输入 GitLab 地址
  • 提供注册 Token(在项目设置 → CI/CD → Runners 中获取)
  • 选择执行器(推荐 shell 或 docker)

📝 五、创建 .gitlab-ci.yml 文件

这是定义 CI/CD 流程的核心文件。以下是一个 Node.js 项目的示例:

stages:
  - test
  - build
  - deploy

test:
  script:
    - npm install
    - npm test

build:
  script:
    - npm run build

deploy:
  script:
    - scp -r ./dist user@your-server:/var/www/project
  only:
    - main

你可以根据项目类型(Java、Python、PHP 等)自定义流程。

🧪 六、测试与优化

  • 使用 Git 提交代码后,GitLab 会自动触发 CI/CD 流程
  • 可在项目页面查看 Pipeline 状态与日志
  • 配置邮件通知、权限管理、备份等高级功能
Copyright © https://yan-jian.com 2023 all right reserved更新时间: 2025-09-01 17:15:41

results matching ""

    No results matching ""