在CentOS8中安装gitlab

centos8,安装,gitlab · 浏览次数 : 642

小编点评

**安装 Docker 及 docker-composecentos8** 1. 在 CentOS8 中安装 Docker: ``` sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ``` 2. 更新 container.io 包: ``` dnf install -y --allowerasing https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/Packages/containerd.io-1.6.6-3.1.el8.x86_64.rpm ``` 3. 安装 Docker-CE: ``` sudo yum install -y docker-ce ``` 4. 启动 Docker 服务并设置开机自启: ``` sudo systemctl start docker && sudo systemctl enable docker ``` 5. 测试 Docker 版本: ``` docker version ``` **配置 gitlabdocker-compose.yml** ```yaml version: '2' services: gitlab: image: 'gitlab/gitlab-ce' container_name: "gitlab" restart: unless-stopped privileged: true hostname: 'gitlab.xxxx.com' environment: TZ: 'Asia/Shanghai' GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.xxxx.com' gitlab_rails['time_zone'] = 'Asia/Shanghai' ports: - '80:80' volumes: - /app/gitlab/config:/etc/gitlab - /app/gitlab/data:/var/opt/gitlab - /app/gitlab/logs:/var/log/gitlab ``` **备份 Gitlab 账号密码** ``` docker exec -it gitlab gitlab-rails consoleuser = User.where(username:\"xxxx\").firstuser.password=\"aabb12223\"user.save! ``` **备份数据** 1. 获取当前系统时间:`date +%Y_%m_%d` 2. 创建备份目录:`mkdir -p $tar_dircd $out_dirrm -rf $out_dir*` 3. 备份数据:`docker exec -i gitlab /bin/bash -c 'sh /var/opt/gitlab/gitlab_bak_data.sh'` 4. 删除 15 天前的备份文件:`find $tar_dir -mtime +$days -deleterm -rf $out_dir*exit` **压缩备份文件** 1. 创建 .tar.gz 格式压缩文件:`tar -zcvPf $tar_dir$tar_bak $bakfile` 2. 删除历史 10 天前的备份文件:`rm -rf $out_dir/*`

正文

安装 docker 及 docker-compose

centos8 更新源

cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

gitlab 服务器 IP:192.168.0.666,端口 80

安装 docker

### CentOS8 默认是会读取centos.org的mirrorlist的,所以一般来说是不需要配置镜像的。
 (Refer to: https://www.linuxidc.com/Linux/2019-10/161212.htm)

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# step 2: 更新 container.io 包, 否则可能会报 `package docker-ce-3:19.03.13-3.el7.x86_64 requires containerd.io >= 1.2.2-3, ...`的错
# 可在 https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/Packages/ 下找最新版安装
sudo dnf install -y --allowerasing https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/Packages/containerd.io-1.6.6-3.1.el8.x86_64.rpm
# Step 3: 安装Docker-CE
sudo yum install -y docker-ce

# Step 4: 开启Docker服务并设置开机自启
sudo systemctl start docker && sudo systemctl enable docker

# 测试, 如输出版本号则安装成功
docker version

docker 安装参考:https://www.jianshu.com/p/18c1abe97b2a

配置 gitlab

docker-compose.yml

version: '2'
services:
    gitlab:
      image: 'gitlab/gitlab-ce'
      container_name: "gitlab"
      restart: unless-stopped
      privileged: true
      hostname: 'gitlab.xxxx.com'
      environment:
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://gitlab.xxxx.com'
          gitlab_rails['time_zone'] = 'Asia/Shanghai'
      ports:
        - '80:80'
      volumes:
        - /app/gitlab/config:/etc/gitlab
        - /app/gitlab/data:/var/opt/gitlab
        - /app/gitlab/logs:/var/log/gitlab

运行: docker-compose up -d

配置 nginx 指向 gitlab 服务

	server {
		server_name  gitlab.xxxx.com;
		listen 80;
		keepalive_timeout 70;
		location / {
				proxy_pass_header Server;
				proxy_redirect off;
				set $outhost "gitlab.xxxx.com";
		    proxy_set_header Host $outhost;
				proxy_pass http://192.168.0.666:80;
				proxy_set_header x-Forwarded-For $proxy_add_x_forwarded_for;
				proxy_http_version   1.1;
				proxy_set_header   Upgrade $http_upgrade;
				proxy_set_header Connection $http_connection;
		}
	}

重置 gitlab 账号密码,无法发送邮件

docker exec -it gitlab gitlab-rails console
user = User.where(username:"xxxx").first
user.password="aabb12223"
user.save!

备份

将备份脚本放到 /app/gitlab/data 目录中

#获取当前系统时间
date=`date +%Y_%m_%d`
#临时备份目录
out_dir='/var/opt/gitlab/backups/'
#备份存放路径
tar_dir='/var/opt/gitlab/bak_tar/'

#DAYS=15代表删除15天前的备份,即只保留近15天的备份
days='15'
tar_bak=$date'.tar.gz'

mkdir -p $tar_dir

cd $out_dir

rm -rf $out_dir*
#备份数据
gitlab-rake gitlab:backup:create
#最终保存的数据库备份文件
bakfile=$(ls -lt $out_dir | grep tar | head -n 1 |awk '{print $9}')

cd $out_dir
#压缩为.tar.gz格式
tar -zcvPf  $tar_dir$tar_bak $bakfile

#删除15天前的备份文件
find $tar_dir -mtime +$days -delete
rm -rf $out_dir*
exit

执行备份:docker exec -i gitlab /bin/bash -c 'sh /var/opt/gitlab/gitlab_bak_data.sh'
将备份文件复制到本地目录,并删除历史 10 天前的文件

echo 'bak gitlab'
scp -r root@192.168.0.666:/app/gitlab/data/bak_tar/ /d/gitlab/
./find.exe /d/gitlab/bak/ -mtime +10 -delete
echo

gitlab 备份还原参考:https://juejin.cn/post/7031027881484484644

与在CentOS8中安装gitlab相似的内容:

在CentOS8中安装gitlab

安装 docker 及 docker-compose centos8 更新源 cd /etc/yum.repos.d/ sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* sed -i 's|#baseurl=http://mi

[转帖]在 CentOS 中安装 bcc-tools

https://www.jianshu.com/p/2ebf85f61bb8 # 升级系统 yum update -y # 安装 ELRepo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh https://ww

CentOS7配置NFS服务并设置客户端自动挂载

在CentOS7中配置NFS服务并设置客户端自动挂载的步骤如下: NFS服务端配置 安装NFS服务: 首先,你需要在CentOS 7服务器上安装NFS服务。你可以使用yum命令来安装: yum install nfs-utils 创建共享目录: 创建一个你希望共享的目录,例如: mkdir -p /

[转帖]如何在 CentOS 中添加、启用和禁用一个仓库

https://linux.cn/article-10219-1.htmlyum repolistyum-config-manager --enable --disable 在基于 RPM 的系统上,例如 RHEL、CentOS 等,我们中的许多人使用 yum 包管理器来管理软件的安装、删除、更新、

Centos 安装 python3.x 为默认

CentOS 7 中默认安装了 Python,但是版本是2.x的,由于2020年python2.x将停止更新,因此需要将版本升级至3.x。但由于python2.x是系统集成的,很多命令都是要基于python2.x,比如:yum。因此在更新 Python 时,建议新旧版本共存。 当前初始环境 # 该系

[转帖]CentOS7 ab压力测试安装与解释

#背景 Apache Benchmark(简称ab) 是Apache安装包中自带的压力测试工具 ,简单易用在此提供 ab 在 centOS7 下的安装和使用方法注:个人发现,之前安装的centos6.5 默认已安装了ab,具体原因不明 ①.ab(apache benchmark)安装 命令:# yu

[转帖]制作本地docker-ce镜像仓库(使用reposync、createrepo、httpd)

记录:330 场景:在CentOS 7.9操作系统上,使用reposync从开源镜像站下载docker-ce镜像仓库的rpm包;使用createrepo制作本地docker-ce镜像仓库;使用httpd发布服务。解决内网中使用yum命令安装docker-ce的需求。 版本: 操作系统:CentOS

[转帖]制作本地epel镜像仓库(reposync下载、createrepo制作、httpd发布)

记录:310 场景:在CentOS 7.9操作系统上,使用reposync从开源镜像站下载epel镜像仓库的rpm包;使用createrepo制作本地epel镜像仓库;使用httpd发布服务。解决内网中使用yum命令安装软件时,缺少依赖包的需求。 版本: 操作系统:CentOS 7.9 名词: EP

Docker安装

Docker安装 1、环境说明 CentOS Docker 安装 前提条件 目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在CentOS 7 (64-bit)上,要求系统为64位、Linux系统内核版本为 3.8以上,这里使用Centos7.9 查看自己的内核 cat

Node工程使用云服务器中的redis镜像做数据库

Redis镜像安装 在云服务器中执行指令 docker pull redis 添加redis镜像实例的配置 [root@VM-0-11-centos ~]# cd /home [root@VM-0-11-centos home]# ls mongotest [root@VM-0-11-centos