GitLab介绍及安装


1. 代码版本管理工具GitLab

GitLab目前有开源的CE(Community Edition),也有收费的商业EE(Enterprise Edition)。所有版本都可以基于Git对项目源码进行存储和管理,但是收费版本会提供更强大的功能,比如,与第三方服务的集成、代码提交规则制订、代码审核扫描等。

2. 安装GitLab CE

1.Gitlab结构及组件

在这里插入图片描述

  1. GitLab Workhorse
    GitLab处理的内容可以存储在GitLab Workhorse中,也可以放在外置的硬盘中或者一些复杂的文件系统上,比如NFS(Network File System,网络文件系统)。
  2. Nginx
    就好像前台,nginx用户会首先访问前台,然后前台把请求发送给办公司中具体的办公人员。
  3. PostgreSQL(数据库)
    就好像文件柜,数据库包含如下信息:
  • 仓库中的所有货物(元数据、问题、合并请求等)
  • 前台记录的所有访问用户(权限数据)
  1. Redis
    就好像通信中心,Redis包含所有工作人员的任务列表
  2. Sidekiq
    主要负责往外发送邮件的工作人员,邮件任务是从上面的Redis任务列表中获取的
  3. Unicorn(GitLab Rails)
    从Redis任务列表中获取任务,处理各种任务的工作人员,大致的任务如下:
  • 通过Redis中存储的用户会话信息,对用户进行验证
  • 从代码仓库里取出内容,或者在里面移动、修改内容,就是日常一些代码的操作
  1. GitLab Shell
    从SSH而不是前台(HTTP)接受命令的工作人员
  2. Gitaly
    Gitaly提供高层次的Git RPC服务已访问Git仓库,GitLab CE9.4以后变成一个必要组件,目前仍处在研发中,后期GitLab希望它能用于处理GitLab发出的所有Git调用。

2. GitLab安装

1.安装准备

  • 安装OpenSSH服务器和客户端。
  • 安装并且启动postfix邮件服务器,并且设置为开机自启动(用于后面配置SMTP和邮件发送)。
  • 使用lokkit命令设置防火墙,打开HTTP和SSH的访问权限。
sudo yum install -y curl policycoreutils-python openssh-server openssh-clients postfix cronie lokkit

下载安装完成后如图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sSBEaB9U-1599551378952)(/tfl/captures/2020-09/tapd_personalword_1169702794001001681_base64_1599484559_50.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JPw8Cwb7-1599551378955)(/tfl/captures/2020-09/tapd_personalword_1169702794001001681_base64_1599484571_51.png)]

# 设置SSH开机自启动
sudo systemctl enable sshd
# 启动SSH服务
sudo systemctl start sshd
# 启动postfix服务
sudo systemctl start postfix
# 设置postfix开机自启动
sudo systemctl enable postfix
sudo chkconfig postfix on
#lokkit命令打开HTTP和SSH的访问权限
sudo lokkit -s http -s ssh

在使用lokkit命令设置防火墙时,打开HTTP和SSH的访问权限时,若原系统中防火墙处于激活状态,需要先关闭防火墙,命令如下:

sudo systemctl stop firewalld

然后继续使用lokkit命令打开对应访问权限
在这里插入图片描述
2. 下载EL6完整版rpm安装包
下载地址:
官方源地址:https://about.gitlab.com/downloads/#centos6
清华大学镜像源:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce
以下是通过下载rpm安装包的方式,进行本地化安装,安装命令如下:

# 下载rpm安装包
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.3.5-ce.0.el7.x86_64.rpm
# 进行GitLab安装 -i:安装 -v:可视化安装 -h:安装的时候显示进度
rpm -ivh gitlab-ce-13.3.5-ce.0.el7.x86_64.rpm

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K7bppisj-1599551378962)(/tfl/captures/2020-09/tapd_personalword_1169702794001001681_base64_1599538524_3.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MQMfOh1m-1599551378965)(/tfl/captures/2020-09/tapd_personalword_1169702794001001681_base64_1599539087_89.png)]下载安装完成后,提示需要配置修改gitlab.rb文件的external_url参数值,具体如下:

vi /etc/gitlab/gitlab.rb

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-696ccO3E-1599551378967)(/tfl/captures/2020-09/tapd_personalword_1169702794001001681_base64_1599550630_44.png)]

  • 配置external_url,为GitLab对外提供一个访问链接,包括邮件中展示地址和拉取代码的URL等。
  • 修改GitLab的服务端口,若GitLab和Jenkins安装在同一台虚拟机上时,Jenkins的默认端口是8080,而GitLab的默认端口也是8080,为了避免端口冲突,需要修改一下GitLab的默认端口,从8080改为8081即可。
    修改完配置文件后,执行命令使修改后的配置立即生效
sudo gitlab-ctl reconfigure

gitlab-ctl reconfigure是Gitlab自带的用于重载配置的命令,在首次运行时,会初始化所有的配置,一般需要一些时间进行执行。
执行完成后如图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FRaPbCjn-1599551378969)(/tfl/captures/2020-09/tapd_personalword_1169702794001001681_base64_1599548915_54.png)]
查看GitLab状态

sudo gitlab-ctl status

查看所有启动的子组件的进程和状态
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IRArLPjt-1599551378971)(/tfl/captures/2020-09/tapd_personalword_1169702794001001681_base64_1599549091_15.png)]
启动、停止、重启GitLab服务

sudo gitlab-ctl start
sudo gitlab-ctl stop
sudo gitlab-ctl restart
  1. 浏览器访问GitLab页面
    注意:使用浏览器访问GitLab时,虚拟机中安装的GitLab的防火墙需要处于关闭状态
systemctl stop firewalld

使用http://IP:端口,进行访问
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yJOQ9TNG-1599551378973)(/tfl/captures/2020-09/tapd_personalword_1169702794001001681_base64_1599549925_68.png)]
在以上页面设置root账号的密码,设置完成后,跳转到登陆页面,直接使用root账号密码登陆即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UeD9ljNL-1599551378975)(/tfl/captures/2020-09/tapd_personalword_1169702794001001681_base64_1599550109_26.png)]
登陆成功后,显示的主页有创建项目、组和用户,及GitLab配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NGiIjaXV-1599551378977)(/tfl/captures/2020-09/tapd_personalword_1169702794001001681_base64_1599550247_87.png)]
到此便完成了GitLab的安装及访问。可正常使用GitLab创建项目、用户及其他一系列操作。

猜你喜欢

转载自blog.csdn.net/wangzhimin0928/article/details/108470428
今日推荐