Ubuntu 上 GitLab 多用户协作实操指南
一 环境准备与安装
- 准备一台 Ubuntu 20.04/22.04 服务器,建议至少 4 核 CPU、4 GB 内存、25 GB 磁盘,并开放 80/443/22 端口(UFW 示例:sudo ufw allow 80,443,22)。
- 安装依赖并添加仓库:
sudo apt update && sudo apt install -y curl openssh-server ca-certificates tzdata perl
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
- 安装 GitLab CE 并配置外部访问地址(将 your_domain_or_ip 替换为实际域名或 IP):
sudo EXTERNAL_URL=“http://your_domain_or_ip” apt-get install -y gitlab-ce
- 使配置生效:
sudo gitlab-ctl reconfigure
以上步骤完成后,浏览器访问设置的 external_url 完成初始化。
二 用户与权限体系
- 创建用户:管理员在 GitLab Web 界面创建账号,或进入控制台创建:
sudo gitlab-rails console
user = User.new(name: “Alice”, username: “alice”, email: “alice@example.com”, password: “StrongPass!23”, password_confirmation: “StrongPass!23”)
user.save!
- 组织与授权:创建 Group(组) 并将用户加入,按项目为成员分配角色(如 Guest/Reporter/Developer/Maintainer/Owner),实现跨项目的统一权限管理。
- 仓库可见性:项目可设为 Private/Internal/Public,配合组成员权限实现精细访问控制。
- 建议:为关键分支设置 分支保护(禁止直接 push/合并,必须通过 Merge Request 审核)。
三 协作流程与日常命令
- 克隆仓库(SSH 推荐):
git clone git@your_domain_or_ip:group/project.git
- 本地开发:
git checkout -b feature/login
编辑文件
git add .
git commit -m “feat: add login validation”
git push origin feature/login
- 代码评审与合并:在 GitLab 项目页面进入 Merge Requests → New merge request,选择源分支与目标分支,指派评审人,讨论通过后点击 Merge 完成合并。
- 问题跟踪:使用 Issues/Milestones 进行任务分配、进度跟踪与看板管理。
四 自动化与质量保障
-
在仓库根目录添加 .gitlab-ci.yml 定义流水线:
stages:
build_job:
stage: build
script:
- echo “Building…”
test_job:
stage: test
script:
- echo “Running tests…”
deploy_job:
stage: deploy
script:
- echo “Deploying…”
每次推送将自动触发 CI/CD,用于构建、测试与部署,保障协作质量与交付效率。
五 安全与运维要点
- 通信安全:配置 HTTPS/SSL(放置证书后更新 gitlab.rb 的 external_url 为 https://… 并重新配置)。
- 邮件通知:在 /etc/gitlab/gitlab.rb 中启用并配置 SMTP,用于注册确认、MR 评论通知等。
- 备份与恢复:定期执行备份(如 gitlab-backup create),妥善保存备份与配置文件,确保可快速恢复。
- 防火墙与服务:保持 80/443/22 放行,确保 gitlab-ctl reconfigure 与必要的重启操作生效。