侧边栏壁纸
  • 累计撰写 8 篇文章
  • 累计创建 7 个标签
  • 累计收到 1 条评论

Gitlab 数据的备份与迁移

Aiden
2022-08-12 / 0 评论 / 0 点赞 / 4,748 阅读 / 1,119 字
温馨提示:
本文最后更新于 2022-08-12,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

gitlab数据迁移的时候新服务器的gitlab版本必须与旧服务器gitlab的版本相同。

1. 新服务器安装gitlab

我们是直接使用docker镜像来安装gitlab服务的。

在就服务器中查看原始的gitlab的版本

## 进入docker容器
docker exec -it gitlab /bin/bash

## 查看gitlab版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
13.8.3

## 新服务器中下载docker gitlab 镜像
docker pull gitlab/gitlab-ce:13.8.3-ce.0

## 新服务器中创建docker挂载文件夹
mkdir -p ~/docker/gitlab/config ~/docker/gitlab/logs ~/docker/gitlab/data

## 创建容器
docker run -id -p 8929:8929 -p 2289:22 -v ~/docker/gitlab/config:/etc/gitlab  -v ~/docker/gitlab/logs:/var/log/gitlab -v ~/docker/gitlab/data:/var/opt/gitlab --restart always --privileged=true --name gitlab gitlab/gitlab-ce:13.8.3-ce.0

##  --privileged=true 容器拥有宿主机的权限

2. 备份与数据迁移

## 1. 生成gitlab 备份文件
gitlab-rake gitlab:backup:create
# 默认会在 /var/opt/gitlab/backups 中生成备份文件, 实际是在宿主机中的 ~/docker/gitlab/data/backups

## 将生成的备份文件拷贝到新服务器的 backups目录中
chmod 777 1660201142_2022_08_11_13.8.3_gitlab_backup.tar ## 防止权限问题

ll -h ## 查看文件大小

## 停止新服务器上gitlab数据连接服务
gitlab-ctl stop unicon
gitlab-ctl stop sidekiq

## 恢复备份文件
## gitlab-rake gitlab:backup:restore BACKUP=备份文件编号

git-rake gitlab:backup:restore BACKUP=1660201142_2022_08_11_13.8.3

最后等待备份文件恢复完成即可。

最后重启gitlab

## 重启gitlab服务
gitlab-ctl restart

## 退出容器
exit

## 重启容器
docker restart gitlab
0

评论区