Gitlab操作流程

阶段1-构建账户信息

1.1 管理员分配账户

方式1-推荐

企业正常使用gitlab时,一般由项目经理(超级管理员)手动创建开发者账户信息,然后将账户发送给开发者,以便登录使用;

流程如下:

Gitlab操作流程_第1张图片

Gitlab操作流程_第2张图片

Gitlab操作流程_第3张图片

点击创建用户按钮;

创建完用户后,可能指定的邮件地址接收不到账户激活信息,我们只直接添加密码信息:

Gitlab操作流程_第4张图片

方式2-临时开启注册功能自行注册

处于工作量的考虑,对于我们来说,超级管理员也可临时开启登录功能(只有超级管理员才拥有该权限):

操作流程如下:

Gitlab操作流程_第5张图片

Gitlab操作流程_第6张图片

Gitlab操作流程_第7张图片

点击保存更改,普通用户就可以正常注册了;

这样访问http://47.96.143.141:9999/users/sign_in也可注册;

点击注册:

Gitlab操作流程_第8张图片

填写账户信息:

Gitlab操作流程_第9张图片

选择账户的角色:

Gitlab操作流程_第10张图片

点击get started 自动登录进入操作界面:

Gitlab操作流程_第11张图片

选择界面汉化:

Gitlab操作流程_第12张图片

说明:

【1】Gitlab用户在组中有角色权限:Guest、Reporter、Developer、Master、Owner
【2】Gitlab权限管理
	Guest:可以创建issue、发表评论,不能读写版本库,访客;
	Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限,报告者; 可以理解为测试员、产品经理等,一般负责提交issue等;
	Developer:可以克隆代码、开发、提交、push,RD可以赋予这个权限,开发者;
	Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限,主要负责对master分支进行维护;
	Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予 这个权限,一般是项目经理;
【3】Gitlab中的组和项目有三种访问权限:Private、Internal、Public
        Private:只有组成员才能看到★★★
        Internal:只要登录的用户就能看到
        Public:所有人都能看到
        开源项目和组一般设置为public

阶段2-添加用户开发组

2.1.构建用户组

构建项目组一般是由项目经理来构建:

注意事项:我们的组名:jrzs_147_g1,格式:项目名称_期_gN

在这里插入图片描述


Gitlab操作流程_第13张图片


Gitlab操作流程_第14张图片


Gitlab操作流程_第15张图片

2.2. 用户组添加用户

Gitlab操作流程_第16张图片


Gitlab操作流程_第17张图片


阶段3-构建项目

3.1.用户组构建新项目

Gitlab操作流程_第18张图片


Gitlab操作流程_第19张图片


Gitlab操作流程_第20张图片

3.2 配置ssh免密登录

配置ssh免密登录(可选项):

  1. 生成秘钥指令:
ssh-keygen -t rsa (3个回车)
  1. 赋值pub公钥,并在gitlab中配置,过程与配置gitee一致:

Gitlab操作流程_第21张图片

Gitlab操作流程_第22张图片

3.3 配置本地仓库开发人员信息

接下来,git init初始化本地git仓库,并设置用户相关信息,这样提交时就会显示对应配置的用户名信息了:

git config user.name 'lisi1'
git config user.email '[email protected]'

开发组长将初始化代码提交到远程仓库,然后构建dev分支:

Gitlab操作流程_第23张图片

Gitlab操作流程_第24张图片

平台构建好dev分支后(也可本地构建dev分支,然后推送到远程),本地需要git fetch刷新分支最新配置;

3.4.设置分支保护

团队开发时为了避免一些重要的开发分支(master)被意外篡改,管理人员需要将这些重要的分支设置分支保护,这样普通开发人员就不能直接将代码进行推送和合并了,需要专门的分支管理人员(开发组长)维护重要分支的提交、合并操作;

设置分支保护流程如下:

Gitlab操作流程_第25张图片


Gitlab操作流程_第26张图片

临时禁用自动持续集成:

Gitlab操作流程_第27张图片

3.5.开发人员开发流程

1)普通开发者代码拉取

构建一个文件夹,然后在文件夹中克隆工程基础代码:

#因为项目的私有的,所以克隆代码时,要制定对应的账户和密码,否则无权限下载;
#格式:git clone http://账号:密码@47.96.143.141:9999/jrzs_142_tmp_g2/jrzs_stock_tmp.git
$ git clone http://lisi2:[email protected]:9999/jrzs_142_tmp_g2/jrzs_stock_tmp.git

然后使用idea打开代码,并设置当前用户信息:

C:\Users\46035\Desktop\lisi2\jrzs_stock_tmp>git config user.name
陆庆辉
C:\Users\46035\Desktop\lisi2\jrzs_stock_tmp>git config user.email
777@163.com

2)检出dev分支

接下来开发人员手动检出远程dev分支:

Gitlab操作流程_第28张图片

Gitlab操作流程_第29张图片

这样本地就会构建一个dev分支!

3)基于dev分支检出功能分支

对于普通开发人员来说,工作都围绕dev分支展开,而实际开发中,为了避免直接污染dev分支,一般开发人员会在dev的基础上checkout出一个功能分支:比如feature_login

Gitlab操作流程_第30张图片

4)合并功能分支到dev分支

在功能分支下开发完毕后,将代码合并到dev分支下:

Gitlab操作流程_第31张图片

Gitlab操作流程_第32张图片

到此,feature_login代码就合并到dev分支下了!

5)推送远程dev

开发人员自测代码无问题后,就可以将代码提交到远程dev分支了:

Gitlab操作流程_第33张图片

说明:开发者推送代码到dev后,一般测试人员会介入,测试ok后,分支管理人员会进行受保护分支的合并工作(在自动化工作流汇中,测试通过后,会自动合并);

3.6.管理员合并代码到master

1) 流程

管理员在合并代码之前,先把最新的dev代码拉去到本地,然后做基本的审查工作:

Gitlab操作流程_第34张图片

Gitlab操作流程_第35张图片

此时本地仓库拉取到了最新的dev代码,代码检查无误后合并到master分支:

Gitlab操作流程_第36张图片

代码合并到master分支后,提交到远程的master分支即可;


2)最终效果

不同的开发人员共同维护master和dev分支,最终提交记录线:

Gitlab操作流程_第37张图片

反例:

Gitlab操作流程_第38张图片

跨域不同的分支 合并代码,容易丢失代码;

3.7.回滚操作

通过revert提交则会产生新的提交记录;

本质上就是在新的提交记录下做了逆向操作,实现回滚;

Gitlab操作流程_第39张图片

获取通过reset回滚时,最新的提交记录不会消失;

Gitlab操作流程_第40张图片

3.8.GIT打TAG

1)打标签概述

当项目开发到一些重要阶段后,会进行软件不同版本的发布部署工作,显然如果不记录下这些重要的历史节点,后期从繁杂的提交流水看中查找会变得非常艰难,所以git提供了为开发节点打标签的功能:

Gitlab操作流程_第41张图片


Gitlab操作流程_第42张图片

2)tag其它

详见:day07-实战\资料\3.项目使用GitLab流程\git打tag规范;

g-klcYQZyQ-1708334617624)]

3.8.GIT打TAG

1)打标签概述

当项目开发到一些重要阶段后,会进行软件不同版本的发布部署工作,显然如果不记录下这些重要的历史节点,后期从繁杂的提交流水看中查找会变得非常艰难,所以git提供了为开发节点打标签的功能:

Gitlab操作流程_第43张图片


Gitlab操作流程_第44张图片

你可能感兴趣的:(运维,gitlab)