GitLab的安装及使用教程(超级详细)

原创
小哥 2年前 (2022-12-19) 阅读数 45 #大杂烩

GitLab基本介绍

GitLab是利用Ruby on Rails实现自托管的开放源代码版本管理系统Git项目仓库,可用Web访问公共或私人项目的接口。

与Github类似,GitLab能够浏览源代码,管理缺陷和评论。可以管理团队对存储库的访问,很容易浏览提交的版本并提供文件历史库。团队成员可以利用简单的内置聊天程序(Wall)沟通。

它还提供了一个代码片段收集功能,可以在需要时方便地重用代码以供将来查找。

本教程将教您如何安装和部署GitLab。

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 Shell有两个角色:GitLab处理Git命令,修改authorized keys列表。

当通过SSH访问GitLab Server时,GitLab Shell会:

  • 限制预定义商品的执行Git命令(git push, git pull, git annex)
  • 调用GitLab Rails API 检查权限
  • 执行pre-receive钩子(在GitLab企业版称为Git钩子)
  • 执行您请求的操作 处理GitLab的post-receive动作
  • 句柄自定义post-receive动作

当通过http(s)访问GitLab Server工作流取决于您来自何方。Git仓库拉取(pull)代码或git仓库推送(push)代码。

如果您来自Git仓库拉取(pull)代码,GitLab Rails应用程序将全权负责处理用户身份验证和执行Git有序工作;

如果你是Git仓库推送(push)代码,GitLab Rails应用程序既不会执行用户身份验证,也不会执行Git命令,它将移交以下内容GitLab Shell处理:

  1. 调用GitLab Rails API 检查权限
  2. 执行pre-receive钩子(在GitLab企业版称为Git钩子)
  3. 执行您请求的操作
  4. 处理GitLab的post-receive动作
  5. 句柄自定义post-receive动作

GitLab Workhorse

GitLab Workhorse是一个敏捷的反向代理。它会处理一些大的HTTP请求,Git push/pull和Git软件包下载。其他请求被反向代理GitLab Rails应用程序,即后端的反向代理unicorn。

Gitlab环境部署

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

方法1:镜像部署

点击购买,免费GitLab全套环境图像。(单击查看: 镜像帮助文档

GitLab代码管理(Centos 64位 | GitLab)

转到图像详细信息页面,单击立即购买,然后按照提示步骤购买 ECS 实例。

购买完成后,登录“ ECS 管理控制台 ”,在左侧导航栏中,单击 实例 ”,进入 ECS 实例列表页,选择所购 ECS 实例所在的地区,并查找购买的 ECS 实例,在“ IP 地址 “获取实例的公共网络的列 IP 地址。

注意:部署镜像后,默认情况下禁止远程访问,因此直接访问ECS服务器的公共网络IP无法访问GitLab请运行登录界面/alidata 目录下的 gitlab_opennet.sh编写脚本,打开远程访问,然后通过浏览器访问公共网络。IP来访问GitLab的主页。

方法2:手动部署:

1、配置yum源

vim /etc/yum.repos.d/gitlab-ce.repo

[gitlab-ce]

name=gitlab-ce

baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6

Repo_gpgcheck=0

Enabled=1

Gpgkey=https://packages.gitlab.com/gpg.key

2更新本地yum缓存

sudo yum makecache

3、安装GitLab社区版

sudo yum install gitlab-ce        #自动安装最新版本

sudo yum install gitlab-ce-x.x.x    #安装指定的版本

GitLab常用命令

sudo gitlab-ctl start    # 启动所有 gitlab 组件;

sudo gitlab-ctl stop        # 停止所有 gitlab 组件;

sudo gitlab-ctl restart        # 重启所有 gitlab 组件;

sudo gitlab-ctl status        # 检查服务状态;

sudo gitlab-ctl reconfigure        # 启动服务;

sudo vim /etc/gitlab/gitlab.rb        # 修改默认配置文件;

gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab;

sudo gitlab-ctl tail        # 检查日志;

GitLab使用

登录GitLab

1在浏览器的地址栏中,输入ECS服务器的公共网络IP即可登录GitLab用于首次登录的用户名和密码如下 root 和 5iveL!fe。

2第一次登录将强制用户更改密码。成功修改密码后,输入新密码以登录。

创建Project

1、安装Git工具linux:安装Git,使用安装附带的源代码。

yum install git

2生成密钥文件:使用 ssh-keygen 生成密钥文件.ssh/id_rsa.pub

3.在GitLab在中创建新主页Project

4.添加ssh key导入步骤2生成的密钥文件的内容:

ssh key添加完成:

正在进行的项目地址clone需要使用的操作:

简单配置

1,配置用法Git仓库人员姓名(以云端上海为例)

git config --global user.name "上海驻云" 

git config --global user.email "support@jiagouyun.com" 

git clone git@iZbp1h7fx16gkr9u4gk8v3Z:root/test.git

上传文件

1,输入项目目录

cd test/ 

echo “test” >  /root/test.sh

cp /root/test.sh ./  

4、将test.sh添加到索引的文件

git add test.sh 

git commit -m “test.sh”

git push -u origin master 

7,查看上传的test.sh文件已同步GitLab中

操作详细记录

目录

1.基本操作
1.登录:
2.要更改密码:
2.项目管理
1.新建项目
2.编辑或删除项目
3.用户管理(由管理员使用,非管理员跳过此步骤)
1.新建用户
2.编辑和删除用户
4.组管理(由管理员使用,非管理员跳过此步骤)
1.新建组
2.编辑或删除组
3.添加组成员
4.修改成员的权限(owner用户操作)
5.从组管理添加项目
5.权限描述

1.基本操作

1.登录:

在浏览器地址栏中输入 http://10.6.2.160/ 输入以进入着陆界面。

在上面的红框区域中登录您的帐户密码。

2.要更改密码:

成功登录后,单击左侧工具列Profile Settings ------ Password -------修改密码-------Save password。

Tips:

点击GitLab的logo,您可以从任何界面返回此页面。

2.项目管理

您可以根据需要选择新项目、新组合和新用户。

1.新建项目

创建一个新项目,如下图所示:

创建时,您可以选择在自己的用户或组内创建。

a. 项目名称,可以是一组字母、数字、空格、下划线、中文行和英文句点。

并它必须以字母或数字开头,不能使用中文。

b. 项目描述

c.可见性(库类别)

私有库:仅对被授予权限的用户可见

内部库:登录用户可以下载

公共图书馆:每个人都可以下载

根据实际情况填写项目后,单击“创建项目”,项目创建成功。

提示通过SSH必须导入推拉项目代码。SSH key这将在稍后介绍。

项目地址为HTTP和SSH两种方式-------可以发送给开发人员下载和初始化项目

2.编辑或删除项目

主页左侧菜单栏--------Project

右上角的齿轮状按钮--------编辑项目

删除右下角的项目。

或者点击Admin Area

3.用户管理(由管理员使用,非管理员跳过此步骤)

1.新建用户

单击顶部Admin Area按钮

可以进入管理页面

  1. 姓名(可以是中文)

  2. 用户名(可以为字母、数字、空格、下划线、中划线和英文点号组并它必须以字母或数字开头,不能使用中文。)

  3. 电子邮件地址(第一个接收密码)

  4. 待建项目数量限制

  5. 是否可以创建组

  6. 管理员是否

  7. 可选内容(个人联系信息)

2.编辑和删除用户

4.组管理(由管理员使用,非管理员跳过此步骤)

1.新建组

菜单栏Group------New Group

1). 组名,可以由字母、数字、空格、下划线、连字符和句点组成,

它必须以字母或数字开头,不能使用中文。

2). 组详情

2.编辑或删除组

在此页面中,您可以编辑和删除组

3.添加组成员

添加组用户并授予他们适当的权限。

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

单击左侧Groups然后单击该组。

然后单击左侧Members菜单项。

修改要修改的用户的权限和save

5.从组管理添加项目

从组中添加项目无需添加项目用户,因此我们选择从组中删除项目。

点击左侧Group然后单击齿轮按钮。

然后点击Project,接着点New Project

按照步骤填写最后一次单击Create Project创建项目。

此时,组成员可以看到项目已创建。

5.权限描述

Guest(匿名用户) - 创建项目,撰写留言簿

Reporter(记者)- 创建项目,撰写留言簿、拉项目、下载项目、创建代码片

Developer(开发商)- 创建项目,撰写留言簿、拉项目、下载项目、创建代码

分段,创建合并请求,创建新分支,推送未受保护的分支,删除未受保护分支

支 ,创建标签,写入wiki

Master(经理)- 创建项目,撰写留言簿、拉项目、下载项目、创建代码片

分段,创建合并请求,创建新分支,推送未受保护的分支,删除未受保护分支

支 ,创建标签,写入wiki,添加团队成员,推送受保护的分支,删除受保护的

分支,编辑项目,添加部署密钥,配置项目挂钩

Owner(业主)- 创建项目,撰写留言簿、拉项目、下载项目、创建代码片

分段,创建合并请求,创建新分支,推送未受保护的分支,删除未受保护分支

支 ,创建标签,写入wiki,添加团队成员,推送受保护的分支,删除受保护的

分支,编辑项目,添加部署密钥,配置项目挂钩、开关公有模式、将项目转

移动到另一个命名空间,删除项目

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门