侧边栏壁纸
  • 累计撰写 15 篇文章
  • 累计创建 10 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

GITLAB迁移、备份、升级、恢复

骑摩托的程序员
2019-03-04 / 0 评论 / 0 点赞 / 1,063 阅读 / 0 字

问题背景:

  • 原gitlab在北京二区一些老服务器上,启动方式为docker-compose启动(庆幸还有配置文件),新的gitlab准备跑在腾讯云TKE容器服务中,欲通过dockerfile打包镜像。

第一感觉:

第一感觉是找到数据,直接复制到新环境。好,那么开始找数据,很快通过配置文件找到挂载到本地的数据。数据找到了,很懵,之前是将gitlab,redis,postgresql分开部署,而自己打包dockerfile后发现,gitlab本身就包含了redis,postgresql与nginx等服务,并不知道数据需要放在哪里。好了,开始查资料。

遇到问题:

  1. gtlab部署完成后访问返回502 需要修改 /etc/gitlab/gitlab.rb 的域名为容器域名或ip
  2. Gitlab 管理员界面500 需要将之前的/etc/gitlab/gitlab-secrets.json复制到新的gitlab中。

好了,资料有了开始动手,思考许久终于有了思路。

无论什么方式启动,都可以备份,那么将老服务器上gitlab数据备份一遍,导出到本地,再通过nfs传输到腾讯云上,然后docker启动一个和老服务器上版本一致的docker,将备份导入,逐级升级到最新版本。**注意gitlab升级不能跨大版本,比如我的为10.3版本,需要升级到10的最高版本,才能升级11。**升级到最新版本后,再备份一份最新版本数据,导出nfs中。再启动一个最新版本容器,读取nfs中最新版备份,还原。然后配置邮箱,时区,以及备份信息等。定时备份需要linux定时任务配合。

跑了大概一周需要使用自动部署,新版本默认webhooks是不支持外网访问的(不少人踩过坑,但从10到11一直都这么默认),管理员账号修改时报错500,并且之前配置过webhooks的也访问不到,刚开始以为是之前的webhooks出问题导致管理员设置响应500,调试半天无果。资料查过,看到过“/etc/gitlab/gitlab-secrets.json复制到新的gitlab”,但是之前的环境找不到此文件,只能重新逐个升级,升级到10.8.X时,是可以使用的,升级到最新版时该容器内也是可以使用的,备份到最新版容器种却不可以使用,后想到那个json文件,从升级的容器中传入到最新版版本,问题解决!

只挂载了备份与仓库

启动成功后,配置以及挂载,不需要每次启动再修改 1.需要重新下载cron ,开启自动备份 2.需要将本机时区修改为东八区,命令如下 dpkg-reconfigure tzdata 依次选择 file

996.icu

0

评论区