1、gitlab介绍和安装

1.1、gitlab介绍

1.1.1、概念

Gitlab是一个开源分布式版本控制系统,由Ruby开发,有管理项目源代码、版本控制、代码复用与查找等功能

1.1.2、gitlab与github的区别

  • github是分布式在线代码托管仓库,个人版本可直接在线免费使用,企业版本收费且需要服务器安装
  • gitlab是分布式在线代码仓库托管软件,分社区免费版本与企业收费版本,都需要服务器安装

1.1.3、gitlab的优势

  1. 开源免费,社区免费版本适合中小型公司
  2. 差异化的版本管理,离线同步以及强大分支管理功能
  3. 便捷的GUI操作界面以及强大账户权限管理功能
  4. 集成度很高,能够集成绝大多数的开发工具
  5. 支持内置HA,保证在高并发下仍旧实现高可用性

1.1.4、gitlab主要服务构成

  • Nginx 静态Web服务器
  • Gitlab-workhorse 轻量级的反向代理服务器
  • Gitlab-shell 用于处理Git命令和修改authorized keys列表
  • Logrotate 日志文件管理工具
  • Postgresql 数据库 Redis 缓存服务器

1.1.5、gitlab的工作流程

  1. 创建并克隆项目
  2. 创建项目某Feature分支
  3. 编写代码并提交至该分支
  4. 推送该项目分支至远程Gitlab服务器
  5. 进行代码检查并提交Master主分支合并申请
  6. 项目领导审查代码并确认合并申请

1.2、准备工作

我们演示的场景是在Linux系统中安装gitlab,所以需要有一个Linux环境,那我这里的方式是在本地装了一个虚拟机,然后安装了CentOS7的系统,如果你不会在本地安装虚拟机和CentOS7的话,可以参考我的这篇文章:https://blog.csdn.net/wujiangbo520/article/details/119043758,照着一步一步做就可以了

1.3、安装

我这里是用【FinalShell】工具连接本地虚拟机中的Linux系统后输入命令操作的,按照下面一步一步做就可以了,有问题给我留言即可

1.3.1、配置yum源

相当于新建一个文件,通过这个文件来安装gitlab,执行下面命令:

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

然后把下面这些内容粘贴进去即可:

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

先按Esc键,在按:wq保存退出

1.3.2、更新本地缓存

执行下面命令:(这个过程可能会比较久,耐心等待,不报错就行了)

sudo yum makecache

sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行

1.3.3、安装gitlab

执行下面命令:(这个过程可能会比较久,耐心等待,不报错就行了)

sudo yum install -y gitlab-ce

最后出现下面界面就说明OK了:

image-20230330131026911

1.3.4、修改拉代码的地址

执行下面命令:

vim /etc/gitlab/gitlab.rb

image-20230330131242860

将external_url的值修改一下即可

1.3.5、刷新配置

执行下面命令:(这个过程可能会比较久,耐心等待,不报错就行了)

gitlab-ctl reconfigure

最后是这样结果就说明OK了:

image-20230330131411496

1.3.6、启动gitlab

执行下面命令启动gitlab:

sudo gitlab-ctl start

如果是下面结果就说明成功了:

image-20230330131622376

2、gitlab常用命令

gitlab常用命令如下:

find / -name gitlab | xargs rm -rf # 删除所有包含gitlab文件
sudo gitlab-ctl start # 启动所有 gitlab 组件;
sudo gitlab-ctl stop # 停止所有 gitlab 组件;
sudo gitlab-ctl restart # 重启所有 gitlab 组件;
sudo gitlab-ctl status # 查看服务状态;

3、关闭防火墙

现在虽然gitlab启动了,但是需要关闭虚拟机的防火墙后,才能正常访问gitlab页面,依次执行下面命令即可:

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

image-20230104155847516

我们本地浏览器访问:http://192.168.33.129:9001,结果如下:

image-20230330131823041

可以正常看到gitlab的首页,说明我们安装部署成功了,完美

4、注册账号

点击登录页面的【Register now】按钮,会出现下面页面:

image-20230330132023592

右下角可以切换成【简体中文】,然后输入相关信息注册即可

我这里的用户名是:wudapang

邮箱是:1134135987@qq.com

密码是:wuhan2023

点击注册,提示:

image-20230330132246557

此时我们还不能使用该账号登录,需要管理员审核

5、管理员账号登录

5.1、管理员密码

实际上,在我们执行命令【gitlab-ctl reconfigure】初始化 GitLab 配置时,GitLab 其实已经提示过密码信息了,只是很多人对英文不敏感,尤其是一长段英文中夹杂着一个重要信息时,那么我们可以使用下面命令来查看管理员root的默认密码:

vi /etc/gitlab/initial_root_password

如下:

image-20230330133021459

找到密码后,我们就可以使用root管理员账号登录了,登录成功之后的页面如下:

image-20230330133138131

5.2、重置管理员密码

下面是重置管理员密码的页面:

image-20230330133524270

重置完后save就可以了

6、其他设置

6.1、中文设置

image-20230330161422982

6.2、账号审核

image-20230330134140695

image-20230330134240504

该页面可以查看所有注册账号的申请,审批通过之后,对方账号就可以登录了,在这里可以添加公司员工帐号

7、项目管理

7.1、创建群组

image-20230330155212605

image-20230330155113783

我这里就创建了一个叫做【1103Java】的群组

7.2、新建项目

image-20230330154800829

image-20230330154844066

我这里就选择新建空项目了

image-20230330155316733

我的项目就创建完了,如下:

image-20230330155355440

7.3、拉代码

先复制仓库地址,和Gitee使用很类似,如下:

image-20230330155444017

然后在本地使用小乌龟工具直接克隆代码即可:

image-20230330160307173

工程就下载到本地了:

image-20230330160422592

7.4、提交代码

然后我们新增一个测试文件,如下:

image-20230330160535753

然后使用小乌龟提交并推送即可:

image-20230330160701943

需要输入账号和密码:

image-20230330160822776

然后点击【Continue】,如下:

image-20230330160847787

提交成功了,然后我们看页面,数据就提交到仓库中了:

image-20230330160948415

OK,至此,我们的项目就可以拉取和正常开发提交了,其实和Gitee的使用没什么太大区别

8、小结

其实gitlab和我们平时使用的Gitee没有太大的区别,使用方式大同小异,在工作中多用几次就不陌生了,首先大家不要害怕它

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐