GitLab详细安装

释放双眼,带上耳机,听听看~!

GitLab是一个用于仓库管理系统的开源项目,基于Git实现在线仓库托管软件,你可以使用GitLab搭建一个类似于Github一样的系统,并在此基础上搭建起来的Web服务。
一个基于GIT的源码托管解决方案
基于Ruby on rails开发
集成了Nginx redis postgreSQL sidekiq prometheus等组件

GitLab官方地址:https://about.gitlab.com/
清华大学GitLab镜像地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
GitLab官方文档:https://docs.gitlab.com/ee/administration/index.html

GitLab版本

GitLab分为社区版(CE)和企业版(EE)

  • 开源GitLab社区版(CE)
  • 开放核心GitLab企业版(EE)

GitLab安装条件

存储

存储空间一定要大于你想存储在GitLab中存储库中的数据大小,一定要在存储库中拥有空闲空间。
如果你希望将来灵活扩展硬盘空间,请考虑LVM进行安装,以便在需要时添加更多的硬盘。
除本地硬盘外,你还可以使用NFS存储、NAS存储,SAN或AWS及EBS存储卷上
如果你有足够的内存和CPU,GitLab的主要速度受硬盘磁道的时间限制,拥有磁盘7200转及以上或者SSD将提高GitLab的响应能力

处理器

  • 1个核心最多支持100个用户,但由于所有工作和后台作业都在同一个核心上运行,因此应用程序可能会慢一点
  • 2核是建议的核心数,最多支持500个用户
  • 4个核心最多可支持2,000个用户
  • 8个核心最多可支持5,000个用户
  • 16个内核最多可支持10,000个用户
  • 32个核心最多可支持20,000个用户
  • 64个内核最多可支持40,000个用户

内存

官网给出:你至少拥有8G内存(物理内存➕交换内存)来安装和使用Gitlab操作系统和任何其他正在运行的应用程序也将使用内存,因此请记住,在运行GitLab之前,至少需要4GB可用内存。在内存更少的情况下,GitLab在重新配置运行期间会出现奇怪的错误,在使用期间会出现500个错误。

  • 4GB RAM + 4GB交换支持最多100个用户,但速度非常慢
  • 所有安装的建议内存大小为8GB RAM,最多支持100个用户
  • 16GB RAM最多支持2,000个用户
  • 32GB RAM最多支持4,000个用户
  • 64GB RAM最多可支持8,000个用户
  • 128GB RAM最多支持16,000个用户
  • 256GB RAM支持最多32,000个用户

官方建议:建议服务器上至少有2GB的swap空间,即使您当前有足够的可用内存。如果可用内存发生变化,交换将有助于减少发生错误的可能性。我们还建议将内核的swappiness设置配置 为较低的值,10以便充分利用RAM,同时在需要时仍然可以使用交换。

GitLab部署

安装依赖

1.安装依赖包

[root@abcops_node2 ~]# yum install -y curl policycoreutils-python openssh-server

2.安装Postfix来发送通知邮件

[root@abcops_node2 ~]# yum install postfix -y
[root@abcops_node2 ~]# systemctl enable postfix
[root@abcops_node2 ~]# sed -i 's/inet_interfaces = localhost/inet_interfaces = all/g' /etc/postfix/main.cf
[root@abcops_node2 ~]# systemctl start postfix      或者  /usr/sbin/postfix start

3.安装GitLab
安装GitLab我们可以使用两种源,一种是到清华大学镜像源去下载,一种是使用GitLab官网的镜像源,GitLab服务器在国外,下载速度不理想
以下线讲解使用清华大学镜像源部署再使用GitLab官方源部署

清华大学源进行部署

#清华大学镜像源如下
[root@abcops_node2 ~]# vim /etc/yum.repos.d/tuna_gitlab-ce.repo 
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
[root@abcops_node2 ~]# yum makecache
[root@abcops_node2 ~]# yum list | grep gitlab-ce
gitlab-ce.x86_64                        12.0.3-ce.0.el7                gitlab-ce
[root@abcops_node2 ~]# yum install gitlab-ce.x86_64 -y

安装完成了,一个小狐狸头,还挺好看

安装好之后修改GitLab默认的URL为自己的IP地址或者域名

[root@abcops_node2 ~]# sed -i 's@http://gitlab.example.com@http://10.211.55.12@g' /etc/gitlab/gitlab.rb

重置配置文件

[root@abcops_node2 ~]# gitlab-ctl reconfigure

GitLab源进行部署
1.添加GitLab仓库
默认的yum源中是没有Gitlab的rpm包的,必须使用gitlab的yum源来

[root@abcops_node2 ~]# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sh
[root@abcops_node2 ~]# mv /etc/yum.repos.d/tuna_gitlab-ce.repo ./           #把清华大学镜像源给移走
[root@abcops_node2 ~]# yum makecache
[root@abcops_node2 ~]# yum list | grep gitlab-ce
gitlab-ce.x86_64                        12.0.3-ce.0.el7                @gitlab-ce
[root@abcops_node2 ~]# yum install gitlab-ce.x86_64 -y

安装好之后修改GitLab默认的URL为自己的IP地址或者域名

[root@abcops_node2 ~]# sed -i 's@http://gitlab.example.com@http://10.211.55.12@g' /etc/gitlab/gitlab.rb

重置配置文件

[root@abcops_node2 ~]# gitlab-ctl reconfigure

GitLab目录介绍

GitLab组件介绍

经过上面的重置配置文件过后,我们可以使用gitlab-ctl status看到GitLab的所有组件

[root@abcops_node2 ~]# gitlab-ctl status
run: alertmanager: (pid 20440) 56s; run: log: (pid 20133) 102s                      #结合prometheus监控系统的告警组件
run: gitaly: (pid 20285) 59s; run: log: (pid 19661) 183s                            #提供对Git存储库的高级RPC访问,Gitaly是一个Git RPC服务,用于处理GitLab发出的所有git调用
run: gitlab-monitor: (pid 20330) 58s; run: log: (pid 20051) 116s                    #gitlab监控组件
run: gitlab-workhorse: (pid 20308) 59s; run: log: (pid 19911) 135s                  #gitlab轻量级反向代理服务器
run: grafana: (pid 20462) 55s; run: log: (pid 20251) 72s                            #grafana监控图形展示组件
run: logrotate: (pid 19932) 129s; run: log: (pid 19957) 128s                        #日志文件管理工具
run: nginx: (pid 19902) 135s; run: log: (pid 19925) 134s                            #GitLab使用Nginx作为静态Web服务器
run: node-exporter: (pid 20324) 58s; run: log: (pid 20031) 122s                     #容器监控组件
run: postgres-exporter: (pid 20454) 56s; run: log: (pid 20173) 98s                  #psql数据库监控系统
run: postgresql: (pid 19686) 180s; run: log: (pid 19735) 177s                       #GitLab采用postgresql作为数据库
run: prometheus: (pid 20423) 57s; run: log: (pid 20100) 108s                        #prometheus监控系统
run: redis: (pid 19530) 192s; run: log: (pid 19542) 189s                            #redis用户会话,缓存,Sidkiq的队列
run: redis-exporter: (pid 20335) 58s; run: log: (pid 20074) 112s                    #redis缓存数据库监控系统
run: sidekiq: (pid 19869) 142s; run: log: (pid 19887) 139s                          #用于在后台执行队列任务(异步执行)
run: unicorn: (pid 19838) 148s; run: log: (pid 19865) 145s                          #Web请求(UI,API,Git,over,HTTP)

GitLab目录介绍:

1.GitLab各个组件日志目录

/var/log/gitlab/

2.GitLab各个组件的应用路径及gitlab-ctl reconfigure命令编译后的应用和配置文件

/var/opt/gitlab/

3.GitLab默认存储库位置

/var/opt/gitlab/git-data/repositories/

4.GitLab应用代码和相应的依赖程序

/opt/gitlab/

5.GitLab配置文件目录

/etc/gitlab

6.GitLab备份文件目录

/var/opt/gitlab/backups/

GitLab-ctl常用命令介绍

gitlab-ctl reconfigure:重置配置文件
gitlab-ctl show-config:验证配置文件
gitlab-ctl restart:重启GitLab
gitlab-ctl start:启动GitLab
gitlab-ctl stop:关闭GitLab
gitlab-ctl status:查看GitLab状态
gitlab-ctl tail nginx:查看gitlab中的nginx日志(动态查看),如果要看其它组件日志,把Nginx换成组件名称即可

GitLab进程

GitLab默认包含很多组件一起启动,我们可以查看GiLab的进程状态

还可以使用ps -ef|grep 组件名称来查看各个组件的进程

访问GitLab

GitLab默认使用80端口对外提供服务
访问地址:http://ip
首次访问会让你设置密码,需要八位密码

密码设置过后进行登录
默认的账号为root,密码为你刚才设置的密码

好了,到此GitLab部署完成,相信你看完这篇文章也算是对GitLab有个初步了解,下个章节为关于GitLab页面配置的内容,请持续关注

人已赞赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索