Gitlab服务部署及应用

第四阶段

时  间:2023年8月21日

参加人:全班人员

内  容:

Gitlab服务部署及应用

目录

一、Gitlab简介

二、Gitlab工作原理

三、Gitlab服务构成

四、Gitlab的优点

五、Gitlab环境部署

(一)安装部署

(二)Web操作:

(三)测试:


一、Gitlab简介

        Gitlab 是一个基于Git实现的WEB代码仓库托管软件,你可以用Gitlab自己搭建一个类似于Github一样的代码仓库,一般使用gitlab搭建私有代码仓库主要是用在公司的内部代码管理。

        Gitlab 功能是能够对代码的提交审核和问题跟踪,这个对于软件工程(代码)质量的管理是至关重要的。

        Gitlab分为社区版(CE)和企业版(EE)。大多数的公司还是会选择社区版。部署Gitlab是对服务器有配置要求的建议是CPU两核,内存4G以上。

二、Gitlab工作原理

gitlab的原理其实就是git的工作原理,GitHub也是基于git实现的

Gitlab服务部署及应用_第1张图片

 

Remote远程仓库:

        远程仓库的内容可能被分布在多个地点的处于协作关系的本地仓库修改,因此它可以与本地仓库同步,也可以不同步,但是它的内容是最旧的。

Repository本地仓库:

        这里面保存了被提交过的代码各个版本,比起工作区和暂存区的内容,它的内容会旧一些,git commit 后同步index的目录树到本地仓库,方便下一步通过git push同步本地仓库与远程仓库的同步。

index暂存区:

        git目录下的index文件,暂存区会记录git add 添加文件的相关信息(文件名、大小),不保存文件实体,通过id指向每个文件的实体,可以使用git status查看暂存区的状态,暂存区标记了你当前工作区中哪些内容是被git管理的。当你完成某个需求或者功能后需要提交代码,那么第一步就是通过git add 先提交到暂存区。

workspace工作区:

        程序员进行开发改动的地方,是你当前看到的,内容也是最新的。平常我们开发就是拷贝远程仓库中的分支,基于该分支进行开发,在开发的过程就是在工作区的操作。

总结:

任何对象都是在工作区中诞生和修改的;

任何修改都是从进入index区才开始被版本控制的;

只有把修改的代码提交到本地仓库,该修改才能在仓库中留下痕迹;

与协助者分享本地的修改,可以push到远程仓库来共享;

Gitlab服务部署及应用_第2张图片

 

三、Gitlab服务构成

Nginx:静态Web服务器

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

gitlab-workhorse:轻量级的反向代理服务器(这个是个敏捷的反向代理,它会处理一些大的HTTP请求,比如文件的上传下载,其他的请求会反向代理给Gitlab Rails应用)

logrotate:日志文件管理工具

postgresql:数据库

redis:缓存数据库

sidekiq:用于在后台执行队列的任务

unicorn:Gitlab Rails应用是托管在这个服务器上面的

四、Gitlab的优点

git是分布式的,svn不是

        git分布式本地就可以用,可以随便保存各种历史痕迹,不用担心污染服务器,连不上服务器也能提交代码、查看log。

GIT分支和SVN的分支不同

        分支在SVN中实际上是版本库中的一份copy,而git一个仓库是一个快照,所以git 切换、合并分支等操作更快速。

git有一个强大的代码仓库管理系统 – gitlab

可以很方便的管理权限、代码review,创建、管理project

五、Gitlab环境部署

(一)安装部署

1、主机名设置

[root@localhost ~]# hostname gitlab

[root@localhost ~]# bash

Gitlab服务部署及应用_第3张图片

 

2、安装依赖包

[root@gitlab ~]# yum -y install curl openssh-server openssh-clients postfix cronie policycoreutils-python

Gitlab服务部署及应用_第4张图片

 

3、启动postfix,并设置开机自启

[root@gitlab ~]# systemctl start postfix

[root@gitlab ~]# systemctl enable postfix

 Gitlab服务部署及应用_第5张图片

 

4、设置防火墙

[root@gitlab ~]# systemctl stop firewalld

[root@gitlab ~]# iptables -F

[root@gitlab ~]# setenforce 0

Gitlab服务部署及应用_第6张图片

 

5、下载安装gitlab rpm包

清华开源镜像站:清华大学开源软件镜像站 | Tsinghua Open Source Mirror

[root@gitlab ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.11.3-ce.0.el7.x86_64.rpm

[root@gitlab ~]# rpm -ivh gitlab-ce-11.11.3-ce.0.el7.x86_64.rpm

Gitlab服务部署及应用_第7张图片

 

6、修改配置文件/etc/gitlab/gitlab.rb,生产环境下可以跟据需求修改

[root@gitlab ~]# vim /etc/gitlab/gitlab.rb

  13 external_url 'http://192.168.200.111'

Gitlab服务部署及应用_第8张图片

 

7、重新加载配置文件

[root@gitlab ~]# gitlab-ctl reconfigure

Gitlab服务部署及应用_第9张图片

[root@gitlab ~]# gitlab-ctl restart

Gitlab服务部署及应用_第10张图片

[root@gitlab ~]# netstat -lnpt | grep :80

Gitlab服务部署及应用_第11张图片

启动:gitlib-ctl start    关闭:gitlab-ctl stop

重启:gitlab-ctl restart

重载配置:gitlab-ctl reconfigure

查看状态:gitlab-ctl status

8、查看gitlab版本

[root@gitlab ~]# head -1 /opt/gitlab/version-manifest.txt

Gitlab服务部署及应用_第12张图片

 

(二)Web操作:

1、浏览器登录 GitLab,输入 http://192.168.100.131

输入密码

Gitlab服务部署及应用_第13张图片

 

2、密码需要八位数

Gitlab服务部署及应用_第14张图片

 

3、登录:root,12345678

Gitlab服务部署及应用_第15张图片

 

4、登录成功后即可进入 GitLab 首页

Gitlab服务部署及应用_第16张图片

 

5、创建新的项目

Gitlab服务部署及应用_第17张图片

 

6、创建名称和权限

Gitlab服务部署及应用_第18张图片

 

7、添加readme

Gitlab服务部署及应用_第19张图片

 

8、创建测试内容:It's gitlab test,而后点绿色键添加

Gitlab服务部署及应用_第20张图片

Gitlab服务部署及应用_第21张图片 

 

(三)测试:

1、客户机测试:

[root@localhost ~]# hostname jenkins

[root@localhost ~]# bash

[root@jenkins ~]# git config --global user.name "jenkins"

[root@jenkins ~]# git config --global user.email "[email protected]"

[root@jenkins ~]# git config --global color.ui true

[root@jenkins ~]# git config --list

[root@jenkins ~]# git clone http://192.168.200.111/root/huyang.git

[root@jenkins ~]# ls huyang/

[root@jenkins ~]# cat huyang/README.md 

Gitlab服务部署及应用_第22张图片

 

增加内容测试:

Gitlab服务部署及应用_第23张图片

 

获取:(删除之前的内容,重新克隆)

Gitlab服务部署及应用_第24张图片

 

2、设置发邮件功能

1)修改配置文件

[root@gitlab ~]# vim /etc/gitlab/gitlab.rb

Gitlab服务部署及应用_第25张图片

 

2)#修改gitlab配置的发信人

Gitlab服务部署及应用_第26张图片

Gitlab服务部署及应用_第27张图片

3)重新加载配置并重启服务

[root@gitlab ~]# gitlab-ctl reconfigure

Gitlab服务部署及应用_第28张图片

[root@gitlab ~]# gitlab-ctl restart

Gitlab服务部署及应用_第29张图片

 

4)测试邮件:

[root@gitlab ~]# gitlab-rails console -e production

irb(main):001:0> Notify.test_email('[email protected]', 'Message Subject', 'Message Body').deliver_now

Gitlab服务部署及应用_第30张图片

 

邮箱通知:

Gitlab服务部署及应用_第31张图片

 

5)web设置邮箱,发送邮箱提醒!

Gitlab服务部署及应用_第32张图片

 

邮箱通知

Gitlab服务部署及应用_第33张图片

 

你可能感兴趣的:(gitlab,elasticsearch,大数据)