温馨提示×

ubuntu gitlab 如何安装配置

小樊
32
2025-12-08 21:17:55
栏目: 智能运维

Ubuntu 上安装与配置 GitLab 的完整步骤

一 环境准备与资源建议

  • 操作系统:Ubuntu 20.04/22.04/24.04 LTS(64 位)
  • 硬件建议:至少 4GB 内存(推荐 8GB+)2 核 CPU(推荐 4 核+)10GB 磁盘(推荐 20GB+)
  • 网络与端口:开放 80/443/22(HTTP/HTTPS/SSH),域名解析到服务器更佳
  • 权限:全程使用 sudoroot 执行

二 安装步骤 Omnibus 方式(推荐)

  • 更新系统并安装依赖
    • sudo apt update && sudo apt install -y curl openssh-server ca-certificates tzdata perl
  • 添加 GitLab 官方仓库并安装
    • curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    • sudo apt install -y gitlab-ce
  • 首次配置与启动
    • sudo gitlab-ctl reconfigure
    • 初始管理员账号为 root,初始密码在 /etc/gitlab/initial_root_password,该文件会在 24 小时后自动删除,请尽快保存
  • 访问
    • 浏览器打开:http://<服务器IP>http://<你的域名>

三 关键配置

  • 编辑主配置文件
    • sudo vim /etc/gitlab/gitlab.rb
    • 设置外部访问地址(示例):external_url ‘http://gitlab.example.com’‘http://<服务器IP>’
  • 使配置生效
    • sudo gitlab-ctl reconfigure
  • 常用运维命令
    • 启动/停止/重启/状态:sudo gitlab-ctl start|stop|restart|status
  • 邮件通知(可选,示例 SMTP)
    • 在 gitlab.rb 中启用并填写:
      • gitlab_rails[‘smtp_enable’] = true
      • gitlab_rails[‘smtp_address’] = “smtp.example.com”
      • gitlab_rails[‘smtp_port’] = 587
      • gitlab_rails[‘smtp_user_name’] = “user@example.com”
      • gitlab_rails[‘smtp_password’] = “password”
      • gitlab_rails[‘smtp_domain’] = “example.com”
      • gitlab_rails[‘smtp_authentication’] = “login”
      • gitlab_rails[‘smtp_enable_starttls_auto’] = true
    • 修改后执行:sudo gitlab-ctl reconfigure

四 防火墙与安全组

  • UFW 放行端口
    • sudo ufw allow 80/tcp
    • sudo ufw allow 443/tcp
    • sudo ufw allow 22/tcp
    • sudo ufw reload
  • 云服务器安全组
    • 放行 TCP 80/443/22 入站规则,来源按需限制(如办公网段或 0.0.0.0/0)
  • 端口冲突处理
    • 若本机已有 Nginx/Apache/SSH 占用 80/443/22,请先调整其端口或调整 GitLab 的监听端口后再 reconfigure

五 Docker 方式(可选)

  • 快速启动(数据持久化到本地目录)
    • docker run --detach
      –hostname localhost
      –publish 443:443 --publish 80:80 --publish 22: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
      gitlab/gitlab-ce:latest
  • 说明
    • 首次访问方式与 Omnibus 一致;如需域名访问,将 –hostname 改为你的域名并在 gitlab.rb 中设置 external_url
    • 数据目录挂载可实现配置、日志与仓库数据的持久化

0