ubuntu gitlab团队协作功能
小樊
44
2025-12-30 12:38:04
Ubuntu 上 GitLab 团队协作功能全览
核心协作模块
- Repository 仓库:基于 Git 的版本控制与权限管理,支持分支、标签、保护分支等。
- Merge Request 合并请求:代码评审、讨论、变更预览、关联流水线,支持审批与合并策略。
- Issue Tracker 问题跟踪:任务、缺陷、需求管理,支持 Label、Milestone、指派与评论。
- CI/CD 流水线:内置引擎,通过 .gitlab-ci.yml 定义构建、测试、部署;由 GitLab Runner 执行作业。
- Wiki 文档:项目文档与知识库,便于团队共享。
- Container Registry 容器镜像仓库:托管 Docker 镜像,与项目流水线打通。
- Runner 执行器:支持 Shell、Docker 等执行环境,可横向扩展。
- 权限与成员管理:角色如 Guest/Reporter/Developer/Maintainer/Owner,细粒度授权。
- 集成能力:可与外部工具集成(如企业 IM、Webhook 等),统一研发流程。
协作流程与常用命令
- 本地配置与克隆
- 配置身份:
git config --global user.name "Your Name";git config --global user.email "you@example.com"
- 克隆仓库:
git clone git@gitlab.local:team/my-webapp.git
- 分支与提交
- 新建分支:
git checkout -b feature/login
- 提交推送:
git add .;git commit -m "feat: add login";git push origin feature/login
- 创建合并请求
- Web:项目 → Merge Requests → New,选择源分支与目标分支(如 develop),指派评审人。
- CLI:安装 glab 后登录
glab auth login,一键创建 git mr 或 glab mr create。
- 代码评审与合并
- 在 MR 中进行评论、建议更改、批准;通过后合并到目标分支。
- 任务闭环
- 在 Issues 中创建任务,开发完成后在 MR 描述或提交信息中使用关键字如 Fixes #123 自动关闭关联 Issue。
分支策略与保护规则
- 推荐分支模型
- main/master:生产发布;develop:集成开发;feature/ 新功能;bugfix/ 修复;release/ 预发布;hotfix/ 紧急修复。
- 保护分支与合并策略
- 在 Settings → Repository → Protected branches 设置:仅 Maintainer/特定角色 可推送与合并;开启 Merge Request 工作流;要求 CI 流水线通过 才可合并;可要求 审批数量 与 代码所有者 审核。
CI/CD 与 Runner 实践
- 示例流水线
.gitlab-ci.yml
- stages:
- build_job:
- stage: build
- script:
- echo “Building…”
- npm install
- npm run build
- artifacts:
- test_job:
- stage: test
- script:
- echo “Running tests…”
- npm test
- deploy_job:
- stage: deploy
- script:
- echo “Deploying…”
- scp -r dist/* root@192.168.1.10:/var/www/html/
- only:
- Runner 安装与注册
- 安装:
sudo apt install -y gitlab-runner
- 注册:
sudo gitlab-runner register,依次填写 GitLab URL、Registration token、选择 Executor(shell/docker)
- 启动:
sudo gitlab-runner start
- 建议为不同项目配置 专用 Runner 与 标签,提升隔离性与可维护性。
权限与运维要点
- 成员与权限
- 项目 → Settings → Members 添加成员并分配角色(如 Developer/Maintainer),遵循最小权限原则。
- 安全与网络
- 仅开放必要端口:如 SSH 22、HTTP 80、HTTPS 443;结合 UFW 或云安全组限制来源。
- 邮件与通知
- 配置 SMTP 发送通知与邀请邮件,编辑 /etc/gitlab/gitlab.rb 的
smtp_* 项后执行 sudo gitlab-ctl reconfigure 生效。
- 备份与恢复
- 定期执行
sudo gitlab-backup create 备份;恢复按官方流程导入备份并校验数据一致性。
- 高可用与扩展
- 可按需部署多节点、启用 Runner Autoscale、对象存储与数据库高可用,提升稳定性与吞吐。