首先需要将GitLab部署到Debian服务器上,作为团队协作的中央代码托管平台。
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl openssh-server ca-certificates postfix
(postfix用于邮件通知,安装时可选择“Internet Site”配置)curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt install gitlab-ce
/etc/gitlab/gitlab.rb,设置external_url为服务器IP或域名(如http://192.168.1.100),保存后重新配置:sudo gitlab-ctl reconfigure
sudo systemctl start gitlab && sudo systemctl enable gitlab
访问http://服务器IP,通过初始管理员账号(root)登录,完成GitLab初始化。登录GitLab后,通过“New project”按钮创建项目,填写项目名称(如debian-collaboration)、描述,选择可见性(建议Private,仅团队成员可见)。
git init
git remote add origin http://服务器IP/debian-collaboration.git
README.md),提交并推送到远程:git add README.md
git commit -m "Initial commit"
git push -u origin main
此时团队成员可通过git clone命令克隆项目到本地。通过GitLab的“Members”功能添加团队成员,分配合适角色:
采用分支模型隔离开发,避免直接修改主分支(如main):
main:生产环境代码(稳定版本);develop:日常开发分支(集成最新功能);feature/*:功能开发分支(如feature/login);bugfix/*:bug修复分支(如bugfix/login-error);hotfix/*:紧急修复分支(如hotfix/server-crash)。develop分支创建功能分支:git checkout develop
git pull origin develop
git checkout -b feature/new-login
git add .
git commit -m "Add new login feature"
git push origin feature/new-login
MR是团队协作的核心,用于将功能分支合并到目标分支(如develop):
feature/new-login);develop);git checkout feature/new-login
git pull origin develop # 拉取目标分支最新代码
# 手动解决冲突(编辑冲突文件)
git add conflicted-file.py
git commit -m "Resolve merge conflicts"
git push origin feature/new-login
通过.gitlab-ci.yml文件定义CI/CD流水线,实现自动化构建、测试、部署:
.gitlab-ci.yml文件:build、test、deploy)。示例(针对Debian项目):stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Building Debian package..."
- dpkg-buildpackage -us -uc # 构建Debian包
artifacts:
paths:
- ../*.deb # 保存构建产物
test_job:
stage: test
script:
- echo "Running tests..."
- ./run-tests.sh # 运行测试脚本
deploy_job:
stage: deploy
script:
- echo "Deploying to production..."
- scp *.deb user@production-server:/opt/packages # 部署到生产服务器
only:
- main # 仅在main分支合并后触发
使用GitLab的Issue和Milestone功能跟踪任务进度:
通过以上流程,团队可在Debian上利用GitLab实现高效的代码协作,确保代码质量、任务透明度和部署自动化。