同福

使用gitlab/gitlab-ce:12.1.3-ce.0镜像安装GitLab服务

介绍

介绍

前面福哥带着大家学会了使用k8s集群部署整套web服务(包括PHP环境和MySQL数据库等等)的方法。今天我们来学学Git的使用,Git是一款版本控制软件,用来管理项目文件的版本,是每一个研发人员每天都要使用的软件。

那么什么是版本控制呢?版本控制就是把你编写的程序文件的每个阶段都记录下来再打上一个编号,如果你在编写程序的时候发现走到了死胡同里出不来了,可以通过退回到历史的某一个时间点的版本重新来过!简单来说版本控制就是后悔药,当你发现“我错了”的时候可以选择“重来”!

GitLab是一款实现Git功能的管理软件,大部分团队都会选择使用GitLab来作为Git服务器端,今天我们就来学习GitLab软件的安装使用~

注意:涉及到在多个服务器上操作的情况,那些需要执行命令行命令的操作,福哥会附上操作截图,大家可以根据截图的主机名称判断是在哪个服务器操作的;那些需要在浏览器上面进行的操作,福哥会附上操作截图,大家可以根据浏览器上的IP地址判断是在哪个服务器操作的!!!

Git和GitLab

Git和GitLab有什么区别?

Git是一个开源公共软件,它支持最基础最基本最核心的版本控制功能,它是免费的!

GitLab是一个基于Git封装的、有用户界面的、功能丰富的版本控制管理软件,它除了可以提供Git的所有功能之外还增加很多CI/CD(持续集成)、用户管理等等的功能,它不是免费的!

GitLab本身不是免费的,但是我们可以用它的社区版本GitLab CE来体验它的功能~

环境

镜像版本
gitlab/gitlab-ce:12.1.3-ce.0
操作系统CentOS 7 x86_64 2009
服务器TFCentOS7x64、TFCentOS7x64Node1
IP192.168.168.68、192.168.168.69
端口1080、1022

安装

Dockerfile

镜像

福哥选择的是gitlab/gitlab-ce:12.1.3-ce.0这个基础镜像。

现在Docker Hub不能用了,福哥也不能给大家发链接了,唉~

拉取镜像gitlab/gitlab-ce:12.1.3-ce.0并且添加到registry.tongfu.net:5000私有仓库里面。

docker pull gitlab/gitlab-ce:12.1.3-ce.0
docker tag gitlab/gitlab-ce:12.1.3-ce.0 registry.tongfu.net:5000/gitlab/gitlab-ce:12.1.3-ce.0
docker rmi gitlab/gitlab-ce:12.1.3-ce.0
docker images | grep 'gitlab/gitlab-ce'

555fe5d6bee23a9d54fdc8586b4f2c22.png

启动容器

因为端口80被nginx占用了,所以福哥选择的是1080这个端口!

因为端口22是SSH端口,所以福哥选择了1022这个端口!

docker run -tid \
--name tfgitlab \
-h tfgitlab \
--net tfnet \
-p 1080:80 \
-p 1022:22 \
registry.tongfu.net:5000/gitlab/gitlab-ce:12.1.3-ce.0

2ca631d0f5bcf7fb5c798a2372a2fd8d.png

安装git客户端

这个git客户端直接通过yum安装就可以了。注意两台服务器都要操作哦~

yum -y install git
git --version

7bb1c877633f310b841fc32d74b112a1.png

代码管理

克隆项目代码

创建/tongfu.net/data/git目录并切进去。注意两台服务器都要操作哦~

mkdir /tongfu.net/data/git
cd /tongfu.net/data/git

93eedd3f205bf68be661f421c4222c51.png

切到tfphp项目里面可以看到只有一个文件。

cd tfphp/
ls

89afb29e0988518c6243ea14e0898987.png

添加文件

通过git add命令把这些文件都添加进项目里来。

git add config/
git add html/
git add res/

c4b0f5eb4a46aa979fd6601a68544d38.png

cd tfphp/
ls
rsync -av --exclude=.git ./ /tongfu.net/data/docker/data/tfphp/

ae9ab489c78733300cf5dfd5086a770d.png

切入gitlab容器里面,打开/etc/gitlab/gitlab.rb配置文件。

vi /etc/gitlab/gitlab.rb

把配置文件/etc/gitlab/gitlab.rb里面的如下项目修改一下!注意项目前面有“#”的要把“#”去掉!

postgresql['shared_buffers'] = "64MB"                  # 256 to 64
postgresql['max_worker_processes'] = 1                 # 8 to 1
nginx['worker_processes'] = 1                          # 4 to 1
unicorn['worker_processes'] = 1                        # 2 to 1
sidekiq['concurrency'] = 1                             # 25 to 1
unicorn['worker_memory_limit_min'] = "120 * 1 << 20"   # 400 to 120
unicorn['worker_memory_limit_max'] = "180 * 1 << 20"   # 650 to 180
prometheus_monitoring['enable'] = false                # true to false

重新配置gitlab。

gitlab-ctl reconfigure

重新启动gitlab。

gitlab-ctl restart

等待页面可以访问之后,再次查看内存占用情况,现在空闲内存1.6G,相比较减配之前的gitlab节省了大约800M左右,就这样吧!

d838b9b07e4b700b5b22c8c3d148ca69.png

总结

今天福哥带着大家学习了GitLab软件的安装使用,大家可以使用GitLab管理自己的项目文件了。

后面福哥会单独讲解如何使用Git来管理我们的项目文件我们的程序代码,包括分支的使用、标签的使用、合并代码、拉取代码、推送代码等等Git的操作,敬请期待~~