环境准备: 3台搭建好基础环境的虚拟机 关闭selinux/防火墙
Gitlab服务器一台:2核4G以上,将ssh的端口更改,gitlab服务用22端口
Jenkins服务器一台:2核4G以上
Web服务器一台:应用服务器
Gitlab服务器:
#下载git
yum -y install git
#创建用户,设置使用者名字
useradd baiyongchang
git config --global user.name baiyongchang
#配置email
git config --global user.email baiyongchang@qq.com
#查看配置信息
git config --list
#如果配置错误在文件中修改 /root/.gitconfig
# 安装:podman,docker,k8s其中一种容器
安装docker
# 这个docker-20.10.10的目录是自己准备的
[root@localhost ~]# cd docker-20.10.10/ #cd 到root下的docker-20.10.10
[root@localhost docker-20.10.10]# ls
daemon.json docker docker.sh myos.tar.xz
[root@localhost docker-20.10.10]# cat daemon.json #存放镜像加速站的文件
{
"registry-mirrors": ["https://yvy4mzil.mirror.aliyuncs.com"]
}
[root@localhost docker-20.10.10]# ls docker #存放docker软件包的目录
containerd.io-1.4.11-3.1.el7.x86_64.rpm docker-ce-cli-20.10.10-3.el7.x86_64.rpm docker-scan-plugin-0.9.0-3.el7.x86_64.rpm
slirp4netns-0.4.3-4.el7_8.x86_64.rpm
container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm
docker-ce-rootless-extras-20.10.10-3.el7.x86_64.rpm fuse3-libs-3.6.1-4.el7.x86_64.rpm
docker-ce-20.10.10-3.el7.x86_64.rpm docker-distribution-2.6.2-2.git48294d9.el7.x86_64.rpm fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm
[root@localhost docker-20.10.10]# cat docker.sh
#在当前目录下运行这个脚本就可按装docker-20-10-10版本的docker
#!/bin/bash
#1.更新系统
yum update
echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf
sysctl -p
#2.检查并清除系统残余项
yum remove -y docker yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
#3.安装需要的软件包,以便使用官方Docker仓库
yum install -y yum-utils device-mapper-persistent-data lvm2
#4.安装Docker
cd docker ; yum -y install *.rpm
#5.启动Docker服务
systemctl start docker
#6.验证Docker是否成功安装并正常运行
docker version
#7.设置镜像加数站地址
cp daemon.json /etc/docker/daemon.json
systemctl restart docker
docker info
#8.导入备份的镜像文件
docker load -i /root/docker-20.10.10/myos.tar.xz
docker images
[root@localhost docker-20.10.10]#
创建gitlab服务
# 导入gitlab的镜像。一个镜像可以创建很多容器。镜像是只读的,容器是可以改变的,容器如果出现故障,首先的排错方法是重启它;如果无效,删掉重建。
# 这个镜像是自己准备的
[root@localhost ~]# docker load -i gitlab_zh.tar # 导入gitlab的镜像
[root@localhost ~]# docker images #查看是否导入成功
# 为了删容器,不丢失数据,需要把容器需要的数据保存在宿主机上。在哪台主机上启动容器,哪台主机就是宿主机,在gitlab服务器上创建用于保存容器数据的目录
[root@localhost ~]# mkdir -p /srv/gitlab/{config,logs,data}
[root@localhost ~]# ls /srv/gitlab/ #查看是否创建成功
# 创建容器
# -d后台运行。-h gitlab设置容器的主机名。--name gitlab是podman ps查看到的容器名;-p指定发布的端口号,当访问宿主机443/80/22端口时,这样的请求就发给容器的相关端口;--restart always是开机自启;-v是映射路径,将容器中指定的路径,映射到宿主机,以便保存容器产生的数据;最后的gitlab_zh是镜像名。
[root@localhost ~]# docker run -d -h gitlab --name gitlab -p 443:443 -p 80:80 -p 22:22 --restart always -v /srv/gitlab/config:/etc/gitlab -v /srv/gitlab/logs:/var/log/gitlab -v /srv/gitlab/data:/var/opt/gitlab gitlab_zh
[root@localhost ~]# vim /etc/rc.d/rc.local #追加一行,设置开机自启gitlab容器
docker stsrt gitlab
[root@localhost ~]# chmod +x /etc/rc.d/rc.local #给文件执行权限