群晖gitlab备份迁移

开篇一张图

  • 1.gitlab跑在黑群晖的docker中,先确定对应的版本和服务,gitlab为同版本迁移;

    如:我的gitlab用到了psql和redis

  sameersbn/postgresql:12-20200524
  sameersbn/redis:4.0.9-1
  sameersbn/gitlab:13.12.2
  • 2.然后先在黑群晖中备份已有项目

在gitlab实例shell中运行

 bundle exec rake gitlab:backup:create RAILS_ENV=production

从gitlab/backups将备份文件拷贝到临时位置方便后续恢复

  • 3.新机器中拉取镜像 方便后续使用

  docker pull sameersbn/postgresql:12-20200524
  docker pull sameersbn/redis:4.0.9-1
  docker pull sameersbn/gitlab:13.12.2
  • 4.分别部署容器实例


docker run --name=synology_gitlab_postgresql -d -e 'DB_NAME=gitlabhq_production' -e 'DB_USER=gitlab_user' -e 'DB_PASS=password' -e 'DB_EXTENSION=pg_trgm,btree_gist' -v /mnt/d/docker/postgresql:/var/lib/postgresql sameersbn/postgresql:12-20200524

docker run --name='gitlab' -d --link synology_gitlab_redis:redisio -v /mnt/d/docker/gitlab/data:/home/git/data -p 30022:22 -p 30080:80 -e 'GITLAB_PORT=30080' -e 'GITLAB_SSH_PORT=30022' --link synology_gitlab_postgresql:postgresql -e 'GITLAB_EMAIL=landwind1180@gmail.com' -e 'GITLAB_BACKUPS=daily' -e 'GITLAB_HOST=192.168.123.186' -e 'GITLAB_SIGNUP=true' -e 'GITLAB_GRAVATAR_ENABLED=false' -e 'GITLAB_SECRETS_SECRET_KEY_BASE=ADeKlXsdUH18a2BNYYeuTKdSV4yycQNVbbvTPF3ShPP2KF0nBAjAfT9paBpiZu24' -e 'GITLAB_SECRETS_DB_KEY_BASE=8c2943pzWnd30xt2UAMIG0XxCsY1jG8pdXfTQ1FZt77cWrarzqVsYd4y54wAUpGG' -e 'GITLAB_SECRETS_OTP_KEY_BASE=DVyFWY1nSVTxaOy9poddPSDWcjeFPT9Eb2gvKJ8LyRbBA8BJoDVGJAjlHScnulOy' sameersbn/gitlab:13.12.2
  • 5.测试gitlab是否正常启动

打开localhost:30080

  • 6.测试正常后还原备份

先将备份文件拷贝到 gitlab/data/backups 目录下的,我用的wsl跑docker,可以在windows下直接复制,其他宿主可用docker cp 拷贝。


# shell中执行,等待恢复完成
# 此过程耗时按项目多寡决定,稍等片刻即可
bundle exec rake gitlab:backup:restore RAILS_ENV=production

等待出现上图即表示成功,打开网站查看即可。

posted @ 2022-01-28 18:05  LandWind  阅读(1248)  评论(0编辑  收藏  举报