一、用户管理
用户是使用GitLab的成员的统一名称,分为管理员(root账号)和普通成员。管理员用户拥有包括创建、修改、锁定、删除成员,管理所有项目在内的所有最高权限;普通用户通常由管理员用户创建并被其管理。
1.1 关闭注册
为了方便管理,避免非项目组或公司成员上传代码,占用服务器资源,现统一使用管理员账户,进行用户注册与账号发放。GitLab默认开放注册,所以需要关闭注册功能。
1.1.1 登录管理员账户
1.1.2 关闭注册功能
1.1.3 保存退出
1.2 创建用户
注册关闭后,需要使用管理员账号统一进行注册。
1.2.1 登录管理员账户
1.2.2 进入新建用户界面
1.2.3 填写用户信息
1.2.4 保存退出
注册后初次登录用户会提示修改密码。
1.3 添加SSH密匙(重要)
本节很重要,将以一个案例为例详细介绍如何从远端通过SSH密匙的方式clone代码。
1.3.1 从远端clone代码的两种方式
HTTP:每次clone,pull,push时都需要输入GitLab的账号密码
SSH密匙:只需要在GitLab上设置好,所有操作均不需要输入账号密码
两种方式比较,显然SSH密匙方式比较好,所以我们选择SSH密匙的方式。
1.3.2 下载权限
clone代码前应确认自己是否有权限进行pull代码,以组的项目为例,参考 组管理->组成员权限 ,当项目为Private时,Guest或者组外成员是没有下载代码的权限的,而这也是使用GitLab的重要原因,可以使代码的安全性得到巨大的提高。
1.3.3 添加SSH密匙(重要)
1.3.3.1 查看本机是否有公匙
以Windows10家庭版为例,公匙位置:
C:\Users\{登录用户}\.ssh\id_rsa.pub
如本机已有公匙,可跳到1.3.3.3。
1.3.3.2 无公匙可在任意位置打开命令行工具或者Git Bash输入生成密匙的命令
ssh-keygen -t rsa -C '你的邮箱地址' -b 4096
1.3.3.3 将公匙填入用户的SSH Keys中
1.3.3.4 下载项目
公匙保存完毕以后下载GitLab中具有下载权限的项目就不需要输入GitLab的账号密码了,在保证安全的同时简化了下载步骤,下载项目的命令格式为:
git clone + 项目地址(git@XXXXX/XXX.git)
二、组管理
GitLab中的项目通常是以“组(Group)”为界限进行管理的,用户可以加入不同的“组”,同时也可以在组中担任各种角色,每种角色对组内的项目拥有不同的权限,组同样保护项目不被非组内成员访问和修改,下面对组的管理进行简要说明。
2.1 创建组
创建用户时可选择该用户是否可以创建“组”,但通常“组”的创建由管理员用户进行,下面演示由管理员创建“组”的操作。
2.1.1 登录管理员账号
2.1.2 新建组
2.1.3 填写组信息
2.1.4 在页面的最后点击Creat Group完成创建
2.2 管理组
组创建完成后,通常要在组内添加用户,下面演示如何在组内添加用户。
2.2.1 登录管理员账号
2.2.2 选择要管理的组
2.2.3 添加成员到组内
第一个文本框选择用户,第二个文本框选择用户的角色,各个角色的权限会在2.3节简单介绍
2.3 组成员权限(重要)
每个Group中的成员都有他在组中角色,而每种角色所拥有的权限都不同,下面就每种角色所有的权限进行简单介绍。
Guest:只拥有查看问题,版本列表,以及日志等权限的角色,没有下载代码的权限
Reporter:可以克隆代码,但是不能提交代码
Developer:可以克隆代码,创建分支,开发,提交到非保护的分支,通常给项目开发人员赋予该权限
Maintainer:仅次于Owner权限,可以创建项目,添加tag,保护分支,添加项目组成员等,通常由项目核心开发担任
Owner:可以设置项目访问权限,删除项目,迁移项目,管理组成员等, 通常由项目组leader担任
三、项目管理
GitLab的项目通常以组为单位进行创建,创建完成后组内成员可进行下载
3.1 创建项目
点击New Project进行项目创建
创建一个“组”项目
点击Create project完成项目创建。