DevOps:025-流水线开发环境-Gitlab使用配置

一、用户管理

用户是使用GitLab的成员的统一名称,分为管理员(root账号)和普通成员。管理员用户拥有包括创建、修改、锁定、删除成员,管理所有项目在内的所有最高权限;普通用户通常由管理员用户创建并被其管理。

1.1 关闭注册

为了方便管理,避免非项目组或公司成员上传代码,占用服务器资源,现统一使用管理员账户,进行用户注册与账号发放。GitLab默认开放注册,所以需要关闭注册功能。

1.1.1 登录管理员账户
1.1.2 关闭注册功能
图-1
1.1.3 保存退出

1.2 创建用户

注册关闭后,需要使用管理员账号统一进行注册。

1.2.1 登录管理员账户
1.2.2 进入新建用户界面
图-2
1.2.3 填写用户信息
图-3
1.2.4 保存退出

注册后初次登录用户会提示修改密码。

1.3 添加SSH密匙(重要)

本节很重要,将以一个案例为例详细介绍如何从远端通过SSH密匙的方式clone代码。

1.3.1 从远端clone代码的两种方式

图-5

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
图-5

如本机已有公匙,可跳到1.3.3.3。

1.3.3.2 无公匙可在任意位置打开命令行工具或者Git Bash输入生成密匙的命令
ssh-keygen -t rsa -C '你的邮箱地址' -b 4096
图-6
1.3.3.3 将公匙填入用户的SSH Keys中
图-7
1.3.3.4 下载项目

公匙保存完毕以后下载GitLab中具有下载权限的项目就不需要输入GitLab的账号密码了,在保证安全的同时简化了下载步骤,下载项目的命令格式为:

git clone + 项目地址(git@XXXXX/XXX.git)
图-8

二、组管理

GitLab中的项目通常是以“组(Group)”为界限进行管理的,用户可以加入不同的“组”,同时也可以在组中担任各种角色,每种角色对组内的项目拥有不同的权限,组同样保护项目不被非组内成员访问和修改,下面对组的管理进行简要说明。

2.1 创建组

创建用户时可选择该用户是否可以创建“组”,但通常“组”的创建由管理员用户进行,下面演示由管理员创建“组”的操作。

2.1.1 登录管理员账号
2.1.2 新建组
图-9
2.1.3 填写组信息
图-10
2.1.4 在页面的最后点击Creat Group完成创建

2.2 管理组

组创建完成后,通常要在组内添加用户,下面演示如何在组内添加用户。

2.2.1 登录管理员账号
2.2.2 选择要管理的组
图-11
2.2.3 添加成员到组内

第一个文本框选择用户,第二个文本框选择用户的角色,各个角色的权限会在2.3节简单介绍


图-12

2.3 组成员权限(重要)

每个Group中的成员都有他在组中角色,而每种角色所拥有的权限都不同,下面就每种角色所有的权限进行简单介绍。

  • Guest:只拥有查看问题,版本列表,以及日志等权限的角色,没有下载代码的权限

  • Reporter:可以克隆代码,但是不能提交代码

  • Developer:可以克隆代码,创建分支,开发,提交到非保护的分支,通常给项目开发人员赋予该权限

  • Maintainer:仅次于Owner权限,可以创建项目,添加tag,保护分支,添加项目组成员等,通常由项目核心开发担任

  • Owner:可以设置项目访问权限,删除项目,迁移项目,管理组成员等, 通常由项目组leader担任

三、项目管理

GitLab的项目通常以组为单位进行创建,创建完成后组内成员可进行下载

3.1 创建项目

点击New Project进行项目创建

图-13

创建一个“组”项目
图-14

点击Create project完成项目创建。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。