GitLab快速入门
1 登录GitLab
浏览器访问GitLab服务器地址:http://192.168.0.110
默认用户名:root
root初始密码所在文件:/etc/gitlab/initial_root_password
a:登录
b:通过个人资料中心修改root密码
密码默认不验证复杂度,长度需满足8位。
设置密码后会跳转到登录页面重新登录。
c:修改页面语言
提示:部分内容还没有支持中文。
d:定制Logo及登录页面,可以自定义你希望展示的一些内容。
点击左上角的 菜单(Menu)→Admin→设置→外观
自定义登录页面的信息,信息会展示在登录页面。
配置完成后点击最下方的更改外观设置,退出账号重新登录时可看到更改后的外观。
e:关闭注册
由于我们Gitlab系统是私有仓库,一般用户都是由管理员创建和分派的,所以我们需要关闭注册。
点击左上角 菜单(Menu)→管理(Admin)→通用 找到注册限制取消掉注册功能。
将勾选取消,点击 保存更改(Save changes)
2 快速入门GitLab
2.1 新建群组
群组就是把相关的项目和用户放在一起,进行统一的权限管理。
点击 菜单(Menu)→管理(Admin)点击 新建群组
在可见性级别处我们选择私有,这样只有经过授权的用户才可以看到该组内的项目,其他用户无法查看。
配置完相关信息点击最下方的创建群组。
2.2 创建项目
组内用于存放项目,回到Admin页面点击 新建项目→创建空白项目
配置完成后点击新建项目。此时我们已经拥有了一个新的git_data项目。
此时我们会看到跟GitHub类型的一个指引页面,指引我们如何创建仓库或推送本地仓库到GitLab
2.3 设置SSH Key
但是请注意最上方的提示
点击提示中的添加SSH密钥 来设置访问方式。
将本机~/.ssh/id_rsa.pub公钥文件内容复制到GItLab的SSH密钥处。
粘贴完成后其他默认即可,点击添加密钥 后再次回到项目中。
2.4 推送代码到GitLab
此时我们在自己的GitLab上已经有一个git_data的项目仓库,接下来我们可以将本地Git仓库中的代码推送到git_data仓库中。
a:添加远程仓库
[root@git data]# git remote add git_data git@192.168.0.110:test/git_data.git
[root@git data]# git remote
提示:添加远程仓库时,请仔细检查远程仓库的IP地址是否与GitLab主机地址一致。
b:推送代码到远程仓库
[root@git data]# git push -u git_data master
c:验证仓库
刷新页面
发现我们已经将本地仓库代码推送到GitLab仓库中,接下来在练习一遍代码推送流程。
d:再次推送文件到远程仓库
#开发人员写好代码先提交至本地仓库
[root@git data]# touch t2.txt
[root@git data]# git add t2.txt
[root@git data]# git commit t2.txt -m '添加t2.txt'
#将代码推送到远程仓库
[root@git data]# git push -u git_data master
2.5 创建用户
点击 菜单(Menu)→管理(Admin)→新建用户
点击最下方创建用户。
提示:新建用户不能设置密码,需要我们在添加完用户名,编辑用户并为用户设置一个初始密码,用户第一次登录时系统要求用户更改密码;
提示:密码长度不能少于8位
点击最下方保存修改。
接下来我们可以使用dev_zhangsan用户登录(另外在开一个浏览器,如果使用同一个浏览器登录需要退出当前正在登录的用户)dev_zhangsan用户首次登录系统要求更改密码:
提示:此时dev_zhangsan用户的身份是普通用户,就类似于我们在GitHub的身份一样。
提示:dev_zhangsan用户也可以设置页面语言
点击下方的保存修改。
2.6 授权用户
创建完用户后,我们需要将用户添加到他所负责的项目组上,实验环境我们将dev_zhangsan用户添加至test组。
通过侧边栏的概览找到前边创建的项目。(管理员操作)
点击 菜单(Menu)→管理(Admin)在最下边点击test组名称。
将dev_zhangsan用户加入到test组,并赋予开发者(Developer)权限。
Gitlab 用户在组里面有 5 种不同权限:
Guest:可以创建提问、发表评论,不能读写版本库。
Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限。
Developer:可以克隆代码、开发、提交、push,普通开发可以赋予这个权限。
Maintainer:可以创建项目、添加 tag、保护分支、添加项目成员、编辑项目,核心开发可以赋予这个权限。
Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组组长可以赋予这个权限。
2.7 分支合并
点击上方的创建合并请求,具体信息如下图:
此时仓库会自动监测代码是否符合合并规范,如果符合规范,dev_zhangsan用户点击批准表示真正向管理员发起合并请求。
管理员操作:通过仓库内的合并请求可查看到该消息。
此时通过仓库→文件中可合并后的文件:
合并成功后dev_zhangsan的页面会显示如下信息:
评论区