标签:chmod dock 方式 部署 round 备份 tab 基本功 重要
本地linux中gitlab11.4.3-ee.0 ----迁移并升级---->docker+ gitlab12.5.9-ee.0
首先使docker中的gitlab和本地linux为相同版本,然后再一步步升级至12.5.9
升级路径:11.4.3 -> 11.11.8 -> 12.0.9 -> 12.5.9
官方docker安装、升级gitlab官方文档:
https://docs.gitlab.com/omnibus/docker/README.html#run-the-image
官方docker下载gitlab地址:
https://hub.docker.com/r/gitlab/gitlab-ee/tags?page=1&name=11.4.3
https://blog.csdn.net/bpqdwo/article/details/93204128
https://www.cnblogs.com/inxworld/p/11782545.html
linux版本:CentOS Linux release 7.6.1810 (Core)
docker版本:Docker version 19.03.5, build 633a0ea
老主机:IP为192.168.3.5------->gitlab为11.4.3-ee版本
新主机:IP为192.168.3.103
在老主机中操作:
gitlab-rake gitlab:backup:create
使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1581338904_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1581338904_是备份创建的日期生成完后,/var/opt/gitlab/backups目录创建一个名称类似为1581338904_gitlab_backup.tar的压缩包
复制 /etc/gitlab目录下的
gitlab.rb
gitlab-secrets.json
这两个文件,到新的服务器gitlab上的对应目录下
gitlab完整仓库迁移至新gitlab仓库,确保新Gitlab服务器和老Gitlab服务器版本相同
用scp命令内网复制压缩文件过来,或者上传也行
scp -r 1581338904_2020_02_10_11.4.3-ee_gitlab_backup.tar root@192.168.3.103:/gitlab
上传到新的gitlab仓库对应的/var/opt/gitlab/backups目录下
#如果是docker部署的服务,推荐用挂载目录的方式去做
volumes:
# gitlab配置
- /etc/gitlab:/etc/gitlab
# 挂载宿主机目录
- /var/opt/gitlab:/var/opt/gitlab
这个后边映射的docker容器的目录可以在容器启动后,去容器内自己查找看看
第一步,将备份文件权限修改为777,不然可能恢复的时候会出现权限不够,不能解压的问题
chmod 1581338904_2020_02_10_11.4.3-ee_gitlab_backup.tar
第二步,执行命令停止相关数据连接服务
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
第三步,执行命令从备份文件中恢复Gitlab
gitlab-rake gitlab:backup:restore BACKUP=备份文件编号
敲完命令后,出现第一个交互页面,
root@ubuntu4146:/var/opt/gitlab/backups# gitlab-rake gitlab:backup:restore BACKUP=1581338904_2020_02_10_11.4.3-ee
Unpacking backup ... done
Before restoring the database we recommend removing all existing
tables to avoid future upgrade problems. Be aware that if you have
custom tables in the GitLab database these tables and all data will be
removed.
Do you want to continue (yes/no)?
输入yes
会出现几个这样的输入框,都输入yes
最后
第四步,启动Gitlab
gitlab-ctl start
使docker中gitlab和本地gitlab为同一版本
① 用scp命令内网复制压缩文件过来,或者上传也行(在192.168.3.35上操作)
scp -r 1581338904_2020_02_10_11.4.3-ee_gitlab_backup.tar root@192.168.3.103:/gitlab
② 将备份文件权限修改为777,不然可能恢复的时候会出现权限不够,不能解压的问题(在192.168.3.103上操作)
chmod 1581338904_2020_02_10_11.4.3-ee_gitlab_backup.tar
③ 执行命令从备份文件中恢复(在192.168.3.103上操作)
gitlabgitlab-rake gitlab:backup:restore BACKUP
④ 获取gitlab-ee:11.4.3版本(在192.168.3.103上操作)
docker pull gitlab/gitlab-ee:11.4.3-ee.0
⑤ 运行gitlab-ee:11.4.3镜像(在192.168.3.103上操作)
首先移动gitlab.rb和gitlab-secrets.json到/srv/gitlab/config下
sudo docker run --detach \
--publish 8443:443 --publish 80:80 --publish 222:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
--volume /gitlab:/var/opt/gitlab/backups \
gitlab/gitlab-ee:11.4.3-ee.0
用docker ps命令查看运行的镜像
⑥ 进入容器内部
docker exec -it 44a4fd38d084 /bin/bash
gitlab-ctl start
查看gitlab的版本:
root@7a2163c095cf:/# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
------------------------以上步骤成功迁移gitlab至docker且版本为11.4.3------------------------
升级路径:11.4.3 -> 11.11.8 -> 12.0.9 -> 12.5.9
基本过程是:
1. docker exec -it gitlab /bin/bash --------> 进入dokcer 容器 gitlab
2. gitlab-ctl stop ---------------------------->停止全部服务
3. exit -------------------------------------->退出容器
4. docker stop gitlab ------------------------> 停止dokcer容器gitlab
5. docker rm gitlab -------------------------->删除容器
6. docker run --detach \
--publish 8443:443 --publish 80:80 --publish 222:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
--volume /gitlab:/var/opt/gitlab/backups \
gitlab/gitlab-ee:11.4.3-ee.0 ------------------->注意修改这个位置
6.漫长等待升级完成以后,登陆网站(192.168.3.103)看看基本功能是否正常。
7.循环1-6步骤,直到最新版本
访问确认:
标签:chmod dock 方式 部署 round 备份 tab 基本功 重要
原文地址:https://www.cnblogs.com/ly2020/p/12322701.html