欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

gitlab服务器的迁移与升级备份---从centos7到ubuntudocker的升级之路

时间:2023-05-17
升级思路: 在新服务器上安装老服务器的相同gitlab版本,然后在新服务器上迭代gitlab, 进入旧版服务器查看当前版本-11.11.8备份老版本gitlab数据

gitlab-rake gitlab:backup:create #手动备份

生成如下文件

3、新服务器上安装11.11.8版本

docker pull gitlab/gitlab-ce:11.11.8-ce.0 #安装对应版本

运行docker gitlab

### 创建配置文件目录mkdir -p /home/gitlab/config 创建config目录mkdir -p /home/gitlab/logs 创建logs目录mkdir -p /home/gitlab/data 创建data目录mkdir -p /home/gitlab/gitlab_backups### 启动gitlabdocker run -d --hostname 10.10.10.246 --publish 7001:443 --publish 7777:80 --publish 7003:22 --name gitlab_11.11.8 --volume /home/gitlab/config:/etc/gitlab --volume /home/gitlab/logs:/var/log/gitlab --volume /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:11.11.8-ce.0####--name: 设置当前容器名称 便于区分

设置gitlab的配置文件

#### 进入gitlab_11.11.8 容器 docker exec -it gitlab_11.11.8 /bin/bash ### 设置gitlab配置文件并保存 vim /etc/gitlab/gitlab.rb vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml ### 如果打开路径不对 可以通过查找 替换成查找后的路径即可find / -name gitlab.ymlfind / -name gitlab.rb



6、配置完成后通过 10.10.10.246在网页上访问 能打开就可以,不需要进入
7、还原备份准备工作,我第一次没有找到还原的路径,一直报错(都是经验)后来在服务器上直接备份 然后查找新服务器的备份路径,将老服务器的备份文件 拷到对应目录下 还原即可!!! 如果看不懂 建议多读两遍

docker exec -it gitlab_11.11.8 /bin/bash #进入gitlab容器 gitlab-rake gitlab:backup:create #在新服务器中手动备份! find / -name 新备份文件名 cp 老服务器备份路径 新服务器备份路径(find找到的 如下如/var/lib...)


8、还原备份

gitlab-rake gitlab:backup:restore BACKUP=1645105774_2022_02_17_11.11.8 --trace#1645105774_2022_02_17_11.11.8 为老服务器备份文件名称

打开web页面访问 这个时候用原来的账号密码就可以登录了

升级准备工作, 将老版本的gitlab升级成最新的,需要按照如下的升级路径进行
升级路径https://docs.gitlab.com/ee/update/#upgrade-paths

下载没有版本的镜像文件

docker pull gitlab/gitlab-ce:XXX-ce.0升级路径:11.11.8 ->12.0.12 -> gitlab_12.0.1212.1.17 -> gitlab_12.1.1712.10.14 -> gitlab_12.10.1413.0.14 -> gitlab_13.0.1413.1.11 -> gitlab_13.1.1113.8.8 -> gitlab_13.8.813.12.15 -> gitlab_13.12.1514.0.11 -> gitlab_14.0.1114.1.8 -> gitlab_14.1.814.2.6 -> gitlab_14.2.6#依次下载 下载哪个版本 XXX为版本号

将下载好的下一个版本灌入数据 <清洗数据> 比如从11.11.8 >> 12.0.12

docker run -d --hostname 10.10.10.246 --publish 7001:443 --publish 7777:80 --publish 7003:22 --name gitlab_12.0.12 --volume /home/gitlab/config:/etc/gitlab --volume /home/gitlab/logs:/var/log/gitlab --volume /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:12.0.12-ce.0# 当前命令和11.11.8gitlab运行的命令差异仅在于两处 --name 容器的名称 gitlab/gitlab-ce:12.0.12-ce.0 镜像的名称--volume 参数里面用到的数据仍然是11.11.8的数据 也就是用高版本的镜像兼容低版本的数据##### 下面依次进行升级

这里我遇到的坑

最好每个大版本升级后再执行一次备份,并把备份移出原有备份文件夹<每一个字都是血泪 藍>
移出是因为下个版本升级会将版本文件覆盖 别问我是怎么知道的

升级结束 如下图:
你以为完了嘛?本地SSH更新了吗?

新版本服务器已迁移(原账号密码登录) 但需要更新ssh,步骤如下1、清空旧密钥 ``` C:Users用户用户名.ssh 文件夹内文件全部清空 ```2.git bash生成新的密钥 [123替换成自己的邮箱] ``` ssh-keygen -t rsa -C "123456789@qq.com" #生成密钥 cat ~/.ssh/id_rsa.pub # 复制密钥 ```3.往服务器绑定密钥 ``` 登录246服务器 >> 头像 >> 用户设置 >> SSH密钥 >> 添加SSH密钥 ```4.本地项目指向新服务器地址 ``` git remote -v # 查看当前服务器指向地址 git remote set-url origin "新服务器ssh路径" # 更改为新的服务器地址 ```

如果你还有遇到坑 欢迎提问 祝你好运

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。