Gitlab 安装和配置

本文前提

  • 本文只讲解 Gitlab 的搭建配置相关,至于开发流程本质跟 Github 没啥区别的,所以读这篇文章建议最好是已经会了 Github 那种开发流程。

测试机子硬件最低建议

  • CPU:1 core
  • 内存:2G

安装

配置

  • 配置域名 / IP
    • 编辑配置文件:sudo vim /etc/gitlab/gitlab.rb
    • 找到 13 行左右:external_url 'http://gitlab.example.com',改为你的域名 / IP
    • 重启服务:sudo gitlab-ctl reconfigure
  • 前面的初始化配置完成之后,访问当前机子 IP:http://192.168.1.111:80
  • 默认用户是 root,并且没有密码,所以第一次访问是让你设置你的 root 密码,我设置为:gitlab123456(至少 8 位数)
  • 设置会初始化密码之后,你就需要登录了。输入设置的密码。
  • root 管理员登录之后常用的设置地址(请求地址都是 RESTful 风格很好懂,也应该不会再变了。):
  • 普通用户登录之后常去的链接:

权限

用户组的权限

  • 用户组有这几种权限的概念:Guest、Reporter、Developer、Master、Owner
  • 这个概念在设置用户组的时候会遇到,叫做:Add user(s) to the group,比如链接:http://192.168.1.111/admin/groups/组名称
行为 Guest Reporter Developer Master Owner
浏览组 ✓ ✓ ✓ ✓ ✓
编辑组 ✓
创建项目 ✓ ✓
管理组成员 ✓
移除组 ✓

项目组的权限

  • 项目组也有这几种权限的概念:Guest、Reporter、Developer、Master、Owner
    • Guest:访客
    • Reporter:报告者; 可以理解为测试员、产品经理等,一般负责提交issue等
    • Developer:开发者; 负责开发
    • Master:主人; 一般是组长,负责对Master分支进行维护
    • Owner:拥有者; 一般是项目经理
  • 这个概念在项目设置的时候会遇到,叫做:Members,比如我有一个组下的项目链接:http://192.168.1.111/组名称/项目名称/settings/members
行为 Guest Reporter Developer Master Owner
创建issue ✓ ✓ ✓ ✓ ✓
留言评论 ✓ ✓ ✓ ✓ ✓
更新代码 ✓ ✓ ✓ ✓
下载工程 ✓ ✓ ✓ ✓
创建代码片段 ✓ ✓ ✓ ✓
创建合并请求 ✓ ✓ ✓
创建新分支 ✓ ✓ ✓
提交代码到非保护分支 ✓ ✓ ✓
强制提交到非保护分支 ✓ ✓ ✓
移除非保护分支 ✓ ✓ ✓
添加tag ✓ ✓ ✓
创建wiki ✓ ✓ ✓
管理issue处理者 ✓ ✓ ✓
管理labels ✓ ✓ ✓
创建里程碑 ✓ ✓
添加项目成员 ✓ ✓
提交保护分支 ✓ ✓
使能分支保护 ✓ ✓
修改/移除tag ✓ ✓
编辑工程 ✓ ✓
添加deploy keys ✓ ✓
配置hooks ✓ ✓
切换visibility level ✓
切换工程namespace ✓
移除工程 ✓
强制提交保护分支 ✓
移除保护分支 ✓

批量从一个项目中的成员转移到另外一个项目

限定哪些分支可以提交、可以 merge

使用 Gitlab 的一个开发流程 - Git flow

资料