ubuntu gitlab如何实现远程协作
导读:Ubuntu 上基于 GitLab 的远程协作实操指南 一 环境准备与访问配置 安装依赖与 GitLab(Ubuntu 20.04/22.04 通用) 安装基础依赖与邮件服务(选择 Internet Site):sudo apt upd...
Ubuntu 上基于 GitLab 的远程协作实操指南
一 环境准备与访问配置
- 安装依赖与 GitLab(Ubuntu 20.04/22.04 通用)
- 安装基础依赖与邮件服务(选择 Internet Site):sudo apt update & & sudo apt install -y curl openssh-server ca-certificates postfix
- 添加 GitLab 仓库并安装社区版:curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash & & sudo apt install -y gitlab-ce
- 首次启动与初始化:sudo gitlab-ctl reconfigure;默认管理员账号为 root,初始密码在 /etc/gitlab/initial_root_password(首次登录后建议立即修改并妥善保管)
- 配置外部访问与防火墙
- 编辑配置文件:sudo nano /etc/gitlab/gitlab.rb,设置 external_url(如 http://服务器IP:端口 或 https://域名)
- 使配置生效:sudo gitlab-ctl reconfigure;重启服务:sudo gitlab-ctl restart
- 若启用防火墙,放行对应端口(示例:sudo ufw allow 80,443,端口)
- 无公网 IP 的远程访问方案
- 可使用内网穿透/组网工具(如 蒲公英 X1)将内网 GitLab 暴露到公网,远程成员通过组网后使用内网地址访问,兼顾安全与便捷
二 账号与权限配置
- 成员与角色
- 项目可见性:Private / Internal / Public(在项目 设置→通用→可见性 调整)
- 成员邀请与权限:项目 设置→成员,添加成员并分配角色(如 Developer / Maintainer),控制推送与合并权限
- 受保护分支
- 建议将 main/master 设为受保护分支,仅允许通过 Merge Request 合并,配合 Code Review 与 CI 通过后再合并
- 注册与审批(可选)
- 若启用注册,新用户需由管理员在 管理员→用户 中审批后使用
三 协作开发流程
- Fork + Upstream 模式(推荐用于开源或跨组织协作)
- 开发者 Fork 主仓库到个人空间;2) 本地克隆个人仓库:git clone git@your-gitlab:group/repo.git
- 添加上游仓库:git remote add upstream git@your-gitlab:group/repo.git
- 同步上游:git fetch upstream;git checkout main & & git merge upstream/main
- 开发:git checkout -b feature/x;编码→git add . → git commit -m “feat: xxx”
- 推送个人仓库:git push origin feature/x
- 在 GitLab 创建 Merge Request(源分支:个人仓库的 feature/x,目标分支:主仓库 main),指派 Reviewer 评审
- 评审通过后合并;如需同步上游最新改动:git fetch upstream & & git rebase upstream/main,再推送
- 直接成员协作模式(团队内网或私有项目)
- 开发者直接克隆主仓库,基于 main 创建功能分支开发,推送到主仓库同名分支后创建 Merge Request 合并
- 冲突处理与常见命令
- 推送被拒/落后时:git pull --rebase 或先 git fetch 再合并/变基解决冲突后推送
- 常用:git branch -a;git checkout -b name;git push origin name;git push origin --delete name;git merge/rebase;git status/diff
四 代码质量与自动化
- 使用 .gitlab-ci.yml 建立流水线
- 示例(可按需扩展测试、构建、部署阶段):
stages:
- build
- test
- deploy
build:
stage: build
script:
- echo “Building…” test: stage: test script:
- echo “Running tests…” deploy: stage: deploy script:
- echo “Deploying…”
- 将 .gitlab-ci.yml 提交并推送后,GitLab 会自动触发 CI/CD 流水线
- 示例(可按需扩展测试、构建、部署阶段):
stages:
- Runner 与自动化
- 安装 GitLab Runner 并注册到项目(使用项目/实例的 Registration Token),为不同项目配置执行器与标签,实现自动化测试、代码质量检查与部署
五 常见问题与排障
- SSH 连接测试
- 生成密钥:ssh-keygen -t ed25519 -C “you@example.com”;将 ~/.ssh/id_ed25519.pub 添加到 GitLab 个人 SSH Keys
- 测试:ssh -T git@your-gitlab.example.com,出现欢迎信息即表示连通
- 端口与防火墙
- 确认 external_url 端口已放行(如 80/443/自定义端口),云服务器安全组同样需要放通
- 首次登录与密码
- 默认管理员 root 的密码位于 /etc/gitlab/initial_root_password,首次登录后请修改并妥善保管
- 无公网 IP 的访问
- 采用内网穿透/组网工具(如 蒲公英 X1)实现远程访问,注意加密与访问控制
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu gitlab如何实现远程协作
本文地址: https://pptw.com/jishu/771864.html
