1. 安装与基础配置GitLab
在Linux服务器(如Ubuntu/CentOS)上通过包管理器安装GitLab社区版(CE),例如Ubuntu使用sudo apt update && sudo apt install gitlab-ce,CentOS使用sudo yum install gitlab-ce。安装完成后,编辑配置文件/etc/gitlab/gitlab.rb,设置external_url(如http://your_server_ip)及SMTP邮件服务器(用于通知),运行sudo gitlab-ctl reconfigure应用配置,启动GitLab服务(sudo systemctl start gitlab)。
2. 创建用户与权限分配
通过GitLab Web界面(http://your_server_ip)或命令行创建用户:
dev1、dev1@example.com、SecurePass123)→点击“Create user”。sudo gitlab-rake gitlab:create_user[username,email,password](如sudo gitlab-rake gitlab:create_user[dev1,dev1@example.com,SecurePass123])。GitLab提供内置角色(从低到高):
通过“Admin Area”→“Users”选中用户,或在项目/组页面“Settings”→“Members”中,为用户分配对应角色。
3. 组织项目与团队协作
web-app)→选择“Private”(仅组成员可见)→点击“Create project”。Developer)→点击“Invite”。git clone git@your_server_ip:username/web-app.git),初始化本地仓库(git init)、配置用户信息(git config user.name "Dev1"、git config user.email "dev1@example.com"),推送初始代码到远程master分支。后续开发中,成员通过git checkout -b feature/login创建特性分支,修改代码后提交(git add .、git commit -m "Add login functionality")并推送(git push origin feature/login)。4. 代码提交与合并流程
feature/login)和目标分支(如master)→填写标题(如“Add login page”)、描述(如“Implemented user login with JWT”)→点击“Create merge request”。master分支。5. 关键安全与协作优化
ssh-keygen -t rsa -b 4096 -C "dev1@example.com"),复制公钥(cat ~/.ssh/id_rsa.pub)到GitLab用户设置→“SSH Keys”→“Add key”,实现免密克隆/推送代码。master分支→设置“Allowed to merge”(如Maintainer)、“Allowed to push”(如Maintainer),防止普通成员误修改主分支。.gitlab-ci.yml文件,定义流水线阶段(如build、test、deploy),例如:stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Building the project..."
test_job:
stage: test
script:
- echo "Running tests..."
deploy_job:
stage: deploy
script:
- echo "Deploying to production..."
GitLab会自动触发流水线,执行构建、测试、部署任务。