gitLab 使用教程本教程为gitlab 使用教程,有gitlab 简介,部署,使用,文档描述思路和步骤清晰,适合运维

gitLab 使用教程本教程为gitlab 使用教程,有gitlab 简介,部署,使用,文档描述思路和步骤清晰,适合运维

简介:

GitLab是一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目,与Github类似。

Git 家族成员

Git:是一种版本控制系统,是一个命令,是一种工具。

Gitlib:是用于实现Git功能的开发库。

Github:是一个基于Git实现的在线代码托管仓库,包含一个网站界面,向互联网开放。

GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。

Gitlab的服务构成:

Nginx:静态web服务器。

gitlab-shell:用于处理Git命令和修改authorized keys列表

gitlab-workhorse: 轻量级的反向代理服务器。

logrotate:日志文件管理工具。

postgresql:数据库。

redis:缓存数据库。

sidekiq:用于在后台执行队列任务(异步执行)

unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。

Gitlab 的工作流程:

GitLab Shell

两个作用:为GitLab处理Git命令、修改authorized keys列表。

当通过SSH访问GitLab Server时:

限制执行预定义好的Git命令

调用GitLab Rails API 检查权限

执行pre-receive钩子

执行你请求的动作 处理GitLab的post-receive动作

处理自定义的post-receive动作

当通过http(s)访问GitLab Server时:

如果你是从Git仓库拉取(pull)代码

GitLab Rails应用会全权负责处理用户鉴权和执行Git命令的工作

如果你是向Git仓库推送(push)代码

GitLab Rails应用既不会进行用户鉴权也不会执行Git命令,它会把以下工作交由GitLab

Shell进行处理:

调用GitLab Rails API 检查权限

执行pre-receive钩子

执行你请求的动作

处理GitLab的post-receive动作

处理自定义的post-receive动作

GitLab Workhorse

GitLab Workhorse是一个敏捷的反向代理。它会处理一些大的HTTP请求,比如文件上传、文件下载、Git push/pull和Git包下载。其它请求会反向代理到GitLab Rails应用,即反向代理给后端的unicorn。

Gitlab环境部署

ECS配置要求:内存2G以上

手动部署:

第一步:百度搜索【清华镜像站】

第二步:点击进入【清华镜像站】

第三步:搜索框输入【gitLab】

第四步:点击【gitlab-ce】

第五步:进入【gitlab-ce】

第六步:点击【yum】

第七步:选择【e18】

第八步:选择要下载的【gitlab-ce-*-rpm】

第九步:下载【gitlab-ce-*-rpm】

第十步:【gitlab-ce-*-rpm】上传服务器

手动安装

rpm -ivh gitlab-ce-10.1.4-ce.0.el6.x86_64.rpm 安装rpm

gitlab-ctl reconfigure gitlab配置启动

修改 /etc/gitlab/gitlab.rb 的【external_url 的值 :值为gitlab 访问地址 ip+port eg: http://192.168.96.123:8800】

gitlab-ctl reconfigure 让配置生效

Gitlab-clt restart 重新启动gitlab

测试访问

Gitlab 汉化

gitlab.com/xhang/gitla…

Gitlab 使用

一,基本操作

登录

修改密码

第一步:点击个人信息【Settings】

第二步:点击左侧工具栏目【Password】

第三步:修改密码

第四步:Save password

二,项目管理

新建项目

第一步:点击【Your projects】

第二步:点击【New project】

第三步:输入项目信息

第四步:点击【Create project】

第五步:项目创建成功

2. 编辑或删除项目

三,用户管理(管理员使用,非管理员跳过此步骤)

新建用户

第一步:点击顶端的【Admin Area】

第二步:进入管理页面

第三步:点击左侧工具栏目【Users】

第四步:点击【New user】

第五步:输入用户信息

第六步:点击【Create user】

第七步:创建成功

设置密码

第一步:点击顶端的【Admin Area】

第二步:进入管理页面

第三步:点击左侧工具栏目【Users】

第四步:点击【Edit】

第五步:输入密码

第六步:点击【Save changes】

编辑/删除/锁定/解锁用户

编辑用户

第一步:点击顶端的【Admin Area】

第二步:进入管理页面

第三步:点击左侧工具栏目【Users】

第四步:点击【Edit】

第五步:修改用户信息

第六步:点击【Save changes】

删除用户

第四步:点击设置按钮

第五步:点击【Delete user】

第六步:输入用户名

第七步:点击【Delete user】

锁定用户

第七步:点击【Block user】

解锁用户

第五步:点击【Blocked】

第六步:点击设置按钮

第七步:点击【Unblock】

四,组管理(管理员使用,非管理员跳过此步骤)

新建组

第一步:点击【Group】

第二步:点击【Your group】

第三步:点击【New group】

第四步:输入组信息

第五步:点击【Create group】

第六步:组创建成功

2. #### 编辑或删除组

编辑组

第一步:点击顶端的【Admin Area】

第二步:点击【Groups】

第三步:点击【Edit】

第四步:编辑组信息

第五步:点击【Save change】

删除组

第三步:点击【Delete】

第四步:点击【确定】

3. #### 添加/删除组成员

添加组成员

第一步:点击【Group】

第二步:点击【Your group】

第三步:点击组

第四步:选择侧边栏【Members】

第五步:进入【Members】

第六步:选择要添加到组的用户

第六步:选择该用户在组里面的权限

第七步:选择过期时间

第八步:点击【Add to group】

第九步:检测是否加入到组成员中

删除组成员

第六步:选择删除按钮

第七步:点击【确定】

第八步:检测是否成功删除

修改成员的权限(owner用户操作)

第一步:点击【Group】

第二步:点击【Your group】

第三步:点击组

第四步:选择侧边栏【Members】

第五步:进入【Members】

第六步:修改权限

第七步:检查权限是否修改成功

从组管理添加项目

第一步:点击【Group】

第二步:点击【Your group】

第三步:点击组

第四步:点击【New project】

第六步:输入项目信息

第七步:点击【Create project】

第八步:检查是否添加成功

五,权限说明

Guest(匿名用户) :创建项目、写留言薄

Reporter(报告人):创建项目、写留言薄、拉项目、下载项目、创建代码片段

Developer(开发者):创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki

Master(管理者):创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护的分支、编辑项目、添加部署密钥、配置项目钩子

Owner(所有者):创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护的分支、编辑项目、添加部署密钥、配置项目钩子、开关公有模式、将项目转移到另一个名称空间、删除项目

六,添加免密验证

第一步:点击个人信息【Settings】

第二步:点击左侧工具栏目【SSH Keys】

第三步:将公钥粘贴,取名字

第四步:点击【Add key】

第六步:检查是SSH key 是否添加成功

七,添加webhook

第一步:选择【Projects】

第二步:选择【Your projects】

第三步:选择项目

第四步:进入项目

第五步:点击【Settings】

第六步:选择【Integrations】

第七步:jenkins 勾选【Trigger builds remotely】

第八步:添加jenkins user 【API Token】

第九步:输入webhooks 的url

url :http://liuch:11ec281*********79760088cea628e86@jenkins.yidi***.com/job/ydltest_yidi****** */build?token=1234567

解释:

liuch : jenkins 登录的的用户名称

11ec281*****79760088cea628e86:第八步添加的 jenkins user 【API Token】

jenkins.yidi.com: jenkins 的url***

job/ydltest_yidi*** */build:项目地址

token=1234567 : jenkins 的Trigger builds remotely 的【Authentication Token】

第十步:选择【Trigger】

第十一步:选择【SSL verification】

第十二步:选择【Save changes】

第十三步:检查是否添加成功

第十四步:测试 点击【Test】

第十五步:选择触发事件

相关推荐

湖南柿竹园有色金属有限责任公司
365游戏注册

湖南柿竹园有色金属有限责任公司

12-10 👁️ 8339
白蛇传主题歌
365游戏注册

白蛇传主题歌

06-29 👁️ 3644