在 Linux 上使用 GitLab 进行项目协作
一 环境准备与安装
- 准备一台 Linux 服务器,建议内存至少4GB(推荐8GB+),开放80/443端口,并安装基础依赖:curl、openssh-server、ca-certificates、postfix。
- Ubuntu/Debian 安装示例:
- 安装依赖:sudo apt update && sudo apt install -y curl openssh-server ca-certificates postfix
- 添加仓库并安装 GitLab CE:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt install -y gitlab-ce
- CentOS/RHEL 安装示例:
- 安装依赖:sudo yum install -y curl policycoreutils-python openssh-server postfix
- 添加仓库并安装 GitLab CE:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install -y gitlab-ce
- 首次配置:编辑 /etc/gitlab/gitlab.rb,设置外部访问地址 external_url(如:http://gitlab.example.com 或服务器 IP),保存后执行 sudo gitlab-ctl reconfigure 使配置生效。
二 创建项目与成员权限
- 登录 GitLab Web 界面,点击New Project创建仓库,选择可见性(Private/Internal/Public)。
- 进入项目 Settings → Members 添加成员,分配角色(如 Guest、Reporter、Developer、Maintainer、Owner),不同角色对应不同权限,用于精细化协作与合规。
- 建议按团队建立群组,利用群组权限继承与子群组组织多项目协作,便于统一管理与授权。
三 本地协作流程与分支策略
- 配置认证:
- SSH(推荐):本地生成密钥 ssh-keygen -t rsa,将公钥(~/.ssh/id_rsa.pub)添加到 GitLab SSH Keys,之后使用 SSH 克隆与推送。
- HTTPS:克隆时使用 HTTPS 地址,按提示输入用户名与 Personal Access Token(或密码)。
- 克隆与开发:
- 克隆:git clone git@your_server:group/project.git 或 git clone https://your_server/group/project.git
- 开发:git checkout -b feature/x 创建功能分支;编辑后 git add .、git commit -m “…”、git push origin feature/x
- 合并请求与代码审查:在 GitLab 创建 Merge Request(MR),指派 Reviewer,讨论与迭代后由有权限的成员合并。
- 分支保护:在项目 Settings → Repository → Protected Branches 将 main/develop 等受保护,禁止直接推送与强制推送,要求通过 MR 与审批流程变更。
四 自动化与项目管理
- CI/CD:在项目根目录创建 .gitlab-ci.yml 定义流水线,示例:
stages:
- build
- test
- deploy
build_job:
stage: build
script: echo “Building…”
test_job:
stage: test
script: echo “Running tests…”
deploy_job:
stage: deploy
script: echo “Deploying…”
每次推送将自动触发构建、测试、部署等阶段。
- 项目管理:使用 Issues 跟踪任务、分配负责人与截止时间;通过 Milestones 管理版本发布;用 Kanban 看板可视化进度;配合 Labels、Weight、Time tracking 提升透明度与效率。
- 跨项目与通知:通过 群组实现多项目统一治理;配置 Webhooks 将项目事件推送到外部系统(如企业微信、飞书、Jenkins)。
五 日常运维与安全建议
- 常用运维:
- 服务管理:sudo gitlab-ctl start|stop|restart|status
- 配置变更:修改 /etc/gitlab/gitlab.rb 后执行 sudo gitlab-ctl reconfigure
- 日志排查:sudo gitlab-ctl tail
- 备份与恢复:
- 备份:sudo gitlab-rake gitlab:backup:create(默认目录 /var/opt/gitlab/backups)
- 恢复:sudo gitlab-rake gitlab:backup:restore BACKUP=备份文件名
- 安全与可用性:
- 启用 HTTPS/TLS(可使用 Let’s Encrypt 自动证书);
- 开启分支保护与 MR 审批规则;
- 定期更新 GitLab 获取安全修复与功能改进;
- 如部署在公网,务必限制管理口访问并加固系统。