Gogs远程仓库迁移

场景:因服务器A要停用,将服务器A中gogs服务迁移到服务器B中;保证B中gogs服务无任何异常后,才可释放A服务器

一、准备工作:

  服务器A:192.168.1.20

  服务器B搭建mysql5.7数据库  192.168.1.30

  服务器B搭建gogs远程仓库  192.168.1.30

二、gogs仓库迁移

1、备份gogs仓库

服务器A中代码仓库目录:(根据搭建gogs仓库的参数设置来的)
    /server/docker/gogs/data/git/gogs-repositories
备份:
    tar -zcvf gogs-repositories.tar.gz gogs-repositories

2、备份数据库

使用navicat客户端连接mysql数据库,导出数据库结构和数库(gogs.sql)
或者在服务器:mysqldump -h localhost -u gogs -P 3306 --no-tablespaces -p gogs> /root/gogs.sql

3、登录数据库B创建账户、授权

登录mysql数据库,并执行:
  create database gogs;    #创建gogs数据库
  grant all privileges on gogs.* to gogs@'%' identified by 'gogs';    #创建用户并授权
  flush privileges;    #刷新权限

4、还原数据库

使用navicat客户端登录数据库,将gogs.sql导入
或者在服务器mysql命令
     use gogs
     source /root/gogs.sql

5、访问gogs页面,配置信息

访问gogs页面:192.168.1.30:10080
填写安装程序所需的信息:
  
根据实际情况配置,图上信息不正确,只是展示用

6、替换gogs仓库

将A服务器备份的gogs-repositories上传到服务器B,替换gogs仓库

然后重启服务器B的gogs服务:
    docker restart gogs

 

迁移完成。如没有任何问题,观察几天再释放服务器A,以免出错。

如想更换mysql数据库,修改/server/docker/gogs/data/gogs/conf/app.ini 文件中mysql数据库信息,更重启gogs即可。

 

posted @ 2023-03-23 15:23  等风来~~  阅读(1317)  评论(0编辑  收藏  举报