Linux环境下GitLab如何协作
小樊
39
2025-12-20 12:52:25
Linux环境下 GitLab 团队协作全流程
一 环境与账号准备
- 安装与启动 GitLab(两种常见发行版示例)
- Ubuntu/Debian:
- 安装依赖与仓库:sudo apt update && sudo apt install -y curl openssh-server ca-certificates tzdata perl
- 添加仓库并安装:curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
- 设置外部地址并安装:sudo EXTERNAL_URL=“http://gitlab.local” apt install -y gitlab-ee
- 初始化:sudo gitlab-ctl reconfigure && sudo gitlab-ctl status
- CentOS/RHEL:
- 安装依赖:sudo yum install -y curl policycoreutils-python openssh-server postfix
- 安装 GitLab CE:sudo yum install -y gitlab-ce
- 初始化:sudo gitlab-ctl reconfigure
- 首次登录与密码
- 若为新装实例,初始 root 密码位于:/etc/gitlab/initial_root_password(首次登录后建议尽快修改并妥善保管)。
- 客户端准备
- 安装 Git:sudo apt install -y git 或 sudo yum install -y git
- 配置全局身份:git config --global user.name “Your Name”;git config --global user.email “you@example.com”
- 配置 SSH 免密(推荐):ssh-keygen -t rsa -b 4096 -C “you@example.com”,将 ~/.ssh/id_rsa.pub 内容添加到 GitLab 个人设置中的 SSH Keys,之后可使用 SSH 地址进行克隆与推送。
二 项目与权限配置
- 创建项目与可见性
- 登录 Web → New project → 选择 Create blank project → 填写项目名称、描述,设置可见性为 Private/Internal/Public → 可选择用 README 初始化仓库。
- 成员与角色
- 项目 → Members → 邀请成员并分配角色:Guest / Reporter / Developer / Maintainer / Owner,不同角色对应不同权限(如开发者可提交与分支管理,维护者可管理设置与合并,所有者可转让项目等)。
- 组与项目结构
- 建议按业务线创建 Group,在组内创建项目,成员加入组后继承相应权限,便于统一治理与授权。
- 分支保护
- 项目 → Settings → Repository → Protected branches → 对 main/master 等保护分支设置:仅 Maintainer/Owner 可推送与合并,开启 Require merge request、可选 Require approvals、Delete source branch 等策略,避免误改与绕过评审。
三 日常协作流程
- 克隆与分支
- 克隆仓库:git clone git@gitlab.local:team/my-webapp.git
- 创建功能分支:git checkout -b feature/login
- 开发与提交
- 本地开发后:git add .;git commit -m “feat(login): add login form”
- 推送分支:git push origin feature/login(首次推送可 git push --set-upstream origin feature/login)
- 代码评审与合并
- Web → Merge Requests → New → 源分支选 feature/login,目标分支选 develop/main → 指派评审人、设置标签与里程碑 → 提交评审
- 评审通过后合并,可删除已合并的源分支(可在 MR 中勾选自动删除)
- 关联任务与自动关闭
- 在 MR 描述或提交信息中使用关键字关联:如 Fixes #123,合并后自动关闭 Issue #123
- 同步与更新
- 定期拉取上游变更:git pull origin develop;必要时 rebase 保持提交历史整洁(团队内统一规范)。
四 分支策略与规范建议
- 常用 Git 分支模型
- main/master:生产基线;develop:集成开发分支
- feature/:新功能;bugfix/:修复缺陷;release/:发布准备;hotfix/:紧急线上修复
- 协作要点
- 所有功能与修复从 develop/main 拉出,通过 Merge Request 提交评审
- 保护关键分支,强制 MR + 审批;必要时启用 流水线成功 作为合并条件
- 提交信息遵循约定(如 Conventional Commits),便于生成变更日志与自动化发布。
五 CI/CD 自动化与 Runner
- 基本流水线
- 在项目根目录创建 .gitlab-ci.yml,定义 stages 与 jobs,例如:
- stages: - build - test - deploy
- build_job: stage: build script: - npm ci && npm run build artifacts: paths: - dist/
- test_job: stage: test script: - npm test
- deploy_job: stage: deploy script: - rsync -r dist/ user@server:/var/www/app only: - main
- Runner 安装与注册
- 安装 Runner:sudo apt install -y gitlab-runner 或 sudo yum install -y gitlab-runner
- 注册 Runner:sudo gitlab-runner register → 依次输入 GitLab URL、项目 Registration token、选择 Executor(shell/docker) → 启动:sudo gitlab-runner start
- 运行与权限
- 使用 Docker Executor 可实现环境隔离;确保 Runner 主机具备相应构建依赖与部署权限(SSH 密钥或凭据妥善管理)。