温馨提示×

ubuntu gitlab集成开发环境

小樊
35
2025-12-30 12:37:07
栏目: 智能运维

Ubuntu 搭建 GitLab 集成开发环境的实用方案

一 架构与准备

  • 目标:在 Ubuntu 20.04/22.04/24.04 上部署 GitLab CE/EE,并配合 VS Code/JetBrains IDEGitLab CI/CD 形成完整的本地开发、协作与自动化交付链路。
  • 资源建议:至少 4 核 CPU、8 GB 内存、50 GB 磁盘(生产环境建议更高规格)。
  • 基础准备:
    • 更新系统并安装依赖:sudo apt update && sudo apt install -y curl openssh-server ca-certificates tzdata perl
    • 设置主机名(可选):sudo hostnamectl set-hostname gitlab
    • 如需邮件能力,安装并配置 Postfix(选择 Internet Site)。

二 安装与部署 GitLab

  • 方式一 原生包安装(推荐)
    1. 添加官方仓库并安装
      curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
      sudo apt-get install -y gitlab-ce
      
    2. 配置外部访问地址(将域名或 IP 替换为你的实际地址)
      sudo vim /etc/gitlab/gitlab.rb
      # 示例:external_url 'http://192.168.10.10' 或 'https://gitlab.example.com'
      
    3. 应用配置并启动
      sudo gitlab-ctl reconfigure
      sudo gitlab-ctl start
      
    4. 获取初始管理员密码(24 小时内有效)
      sudo cat /etc/gitlab/initial_root_password
      
  • 方式二 Docker Compose 快速部署(便于隔离与迁移)
    version: '3.6'
    services:
      gitlab:
        image: gitlab/gitlab-ee:17.4.5-ee.0
        container_name: gitlab
        restart: always
        ports:
          - '5480:80'
          - '5443:443'
          - '5022:22'
        volumes:
          - './config:/etc/gitlab'
          - './logs:/var/log/gitlab'
          - './data:/var/opt/gitlab'
        shm_size: '256m'
    # 启动
    docker-compose up -d
    # 查看初始 root 密码
    docker exec -it gitlab cat /etc/gitlab/initial_root_password
    
  • 常用运维命令
    sudo gitlab-ctl status        # 查看组件状态
    sudo gitlab-ctl tail          # 实时查看日志
    sudo gitlab-ctl restart       # 重启服务
    gitlab-ctl version           # 查看版本
    

以上步骤覆盖原生与容器化两种主流部署方式,适合快速落地与后续扩展。

三 安全与基础配置

  • 启用 HTTPS(推荐)
    • 使用 Let’s Encrypt 获取免费证书(以 Nginx 为例):
      sudo apt-get install -y certbot
      sudo certbot --nginx -d gitlab.example.com
      sudo systemctl restart nginx
      
    • 或在 /etc/gitlab/gitlab.rb 中配置 external_url 'https://gitlab.example.com' 并重新配置:sudo gitlab-ctl reconfigure
  • 禁用公开注册(生产常用)
    sudo vim /etc/gitlab/gitlab.rb
    # 将注册开关设为 false
    gitlab_rails['gitlab_sign_up_enabled'] = false
    sudo gitlab-ctl reconfigure
    
  • 防火墙与端口
    • 放行 HTTP/HTTPS/SSH(示例):sudo ufw allow 80,443,22/tcp
    • 如在内网或受控环境,可按需仅开放必要端口。

四 客户端 IDE 与 Git 集成

  • 本地 Git 与 SSH
    • 安装 Git:sudo apt install -y git
    • 配置全局身份:git config --global user.name "Your Name"git config --global user.email "you@example.com"
    • 生成并添加 SSH 公钥 到 GitLab(个人设置 → SSH Keys),便于免密拉取与推送。
  • VS Code
    • 安装 VS Code(.deb):sudo apt install ./code_*.deb
    • 使用内置 Git 集成、终端、调试器;通过扩展市场安装 GitLab Workflow 等插件以增强 MR、Pipeline 体验。
  • JetBrains IDE(IntelliJ IDEA/PyCharm 等)
    • File → Settings → Version Control → Git 中配置 Git 路径并测试;
    • 通过 GitLab Project 插件或 Personal Access Token 进行认证,可直接在 IDE 内 Clone、Commit、Push、Review 与处理 Merge Request

五 CI/CD 与本地开发闭环

  • 在仓库根目录创建 .gitlab-ci.yml,示例:
    stages:
      - build
      - test
    
    build:
      stage: build
      script:
        - make build
    
    test:
      stage: test
      script:
        - ./run_tests.sh
    
  • 推送代码后自动触发 Pipeline;可在 CI/CD → Pipelines 查看任务日志与状态,实现构建、测试、部署的自动化。
  • Jenkins 等外部系统联动:在 GitLab 项目设置中配置 Webhook,由 Jenkins 监听事件并触发构建/部署流程。

0