温馨提示×

ubuntu gitlab使用教程大全

小樊
42
2025-12-26 14:41:14
栏目: 智能运维

Ubuntu 上 GitLab 使用教程大全

一 环境准备与安装

  • 系统要求与准备
    • 推荐硬件:4GB 内存起步(建议 8GB+)2 核 CPU(建议 4 核+)10GB 磁盘(建议 20GB+)
    • 安装依赖:sudo apt update && sudo apt install -y curl openssh-server ca-certificates tzdata perl
    • 防火墙放行:sudo ufw allow 80/tcp443/tcp22/tcp;如启用 UFW 需执行 sudo ufw enable。
  • Omnibus 安装(推荐)
    • 添加仓库:curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    • 安装 CE 版:sudo apt install gitlab-ce
    • 首次配置:sudo gitlab-ctl reconfigure
    • 访问地址:浏览器打开 http://<服务器IP或域名>
  • 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
      
    • 说明:将主机目录挂载到容器内以实现配置、日志、数据持久化。

二 首次配置与登录

  • 修改外部访问地址
    • 编辑配置文件:sudo vim /etc/gitlab/gitlab.rb
    • 设置 URL:external_url ‘http://your_server_ip_or_domain’
    • 应用配置:sudo gitlab-ctl reconfigure
  • 管理员登录与初始密码
    • 默认管理员账号:root
    • 初始密码文件:/etc/gitlab/initial_root_password(生成后 24 小时自动删除,请尽快登录并修改)
    • 登录后建议立即修改密码并完善管理员资料
  • 邮件通知(可选)
    • 在 gitlab.rb 中启用 SMTP(示例为 QQ 邮箱):
      gitlab_rails['smtp_enable'] = true
      gitlab_rails['smtp_address'] = "smtp.qq.com"
      gitlab_rails['smtp_port'] = 465
      gitlab_rails['smtp_user_name'] = "你的邮箱@qq.com"
      gitlab_rails['smtp_password'] = "授权码"
      gitlab_rails['smtp_domain'] = "qq.com"
      gitlab_rails['smtp_authentication'] = :login
      gitlab_rails['smtp_enable_starttls_auto'] = true
      gitlab_rails['smtp_tls'] = true
      gitlab_rails['gitlab_email_from'] = "你的邮箱@qq.com"
      
    • 修改后执行:sudo gitlab-ctl reconfigure。

三 日常使用与项目管理

  • 创建项目与组
    • 登录 Web 界面,点击 New project 创建项目;使用 Groups 管理团队与权限,将用户加入组并分配角色(Owner/Maintainer/Developer 等)。
  • 克隆与推送代码
    • HTTPS 克隆:git clone https://<IP或域名>/<组>/<项目>.git
    • SSH 克隆:git clone git@<IP或域名>:<组>/<项目>.git(需配置 SSH 公钥)
    • 常用命令:
      git add .
      git commit -m "feat: init project"
      git push -u origin main
      git pull
      
  • 分支与合并请求
    • 创建分支:git checkout -b feature/x
    • 推送分支:git push -u origin feature/x
    • 在 Web 界面创建 Merge Request 进行代码评审与合并
  • 问题跟踪与看板
    • 使用 IssuesMilestonesKanban 进行任务管理与进度跟踪。

四 运维与备份恢复

  • 常用运维命令
    • 启停与状态:
      sudo gitlab-ctl start|stop|restart|status
      sudo gitlab-ctl tail nginx    # 查看组件日志
      
  • 备份与恢复
    • 备份(会包含配置、数据库、仓库与上传等):
      sudo gitlab-backup create
      
    • 恢复(先确保实例已安装且版本一致,将备份文件放到 /var/opt/gitlab/backups):
      sudo gitlab-backup restore BACKUP=<时间戳>
      sudo gitlab-ctl reconfigure
      sudo gitlab-ctl restart
      
  • 重置管理员密码
    • 进入控制台:sudo gitlab-rails console -e production
    • 查找并修改密码(示例):
      user = User.where(id: 1).first
      user.password = 'NewStrongPass!'
      user.password_confirmation = 'NewStrongPass!'
      user.save!
      
  • 升级与迁移
    • 升级:sudo apt update && sudo apt install gitlab-ce(小版本通常直接升级;跨大版本请先备份并阅读官方升级文档)
    • 迁移:在新服务器安装同版本 GitLab,将备份文件拷贝至 /var/opt/gitlab/backups,执行恢复后 reconfigure。

五 常见问题与优化

  • 端口与访问
    • 确保云服务器安全组与系统防火墙放行 80/443/22;如需使用域名,将 external_url 改为 https://your.domain 并配置有效证书。
  • 性能与资源
    • 建议内存 8GB+,并根据并发调整 Puma/Unicorn、Sidekiq 并发与数据库连接池;磁盘使用监控与日志轮转可降低风险。
  • 日志与排错
    • 组件日志:/var/log/gitlab/nginxgitlab-railssidekiq 等;实时查看:sudo gitlab-ctl tail <组件名>
  • 安全建议
    • 启用 HTTPS、限制 root 直接登录、开启 2FA、定期升级、最小权限分配、备份定期演练。

0