亲测总结-gitea更换服务器数据迁移(windows)

亲测总结-gitea更换服务器数据迁移(windows)

275发表于2020-09-12

今天完成了我自己的git私服服务器数据迁移,使用的是gitea,操作系统是Windows10。为什么要迁移呢?因为考虑到代码的异地容灾,我想把gitea服务器放在不同的地域。在这个过程中难免遇到几个坑,下面把我的操作步骤分享出来,希望有和我相同需求的同学少走弯路。

因为我的新机器只有两个分区C和D,原来机器有N多个分区

from clipboard

有三块硬盘,^_^

git程序程序在K盘,仓库文件在L盘,分别在两块硬盘上。所以新机器没有和原来路径对应的K和L分区,这给迁移带来了麻烦和复杂度,如果你的的新机器保持和原来的相同路径就简单多了。

1、备份数据库

备份数据库gitea,导出数据库结构及数据gitea.sql

2、拷贝gitea程序文件

原位置:K:\gitea-1.11.6

新位置:D:\gitea-1.11.6

3、拷贝gitea仓库文件

原位置:L:\gitea-repositories

新位置:D:\gitea-repositories

4、更改配置文件app.ini

gitea配置文件:D:\gitea-1.11.6\custom\conf\app.ini
修改如下节点信息,对新的路径和地址进行相应调整:
ROOT_PATH
ROOT_URL
SSH_DOMAIN
DOMAIN
ROOT
修改数据库配置[database]部分

5、修改hook文件

如果路径相同忽略这一步。

注意:修改repositories含有hook部分的要修改pre-receive.d、post-receive.d、update.d,因为里面有gitea的目录。不然代码push不上去会报如下错误:
from clipboard

找到对应文件:
from clipboard
看到路径写死了还是原来的路径。
from clipboard
改为:
#!/usr/bin/env bash
"D:/gitea-1.11.6/gitea-1.11.6-windows-4.0-amd64.exe" hook --config='D:/gitea-1.11.6/custom/conf/app.ini' pre-receive
同理,post-receive.d、update.d一样的修改

如果项目比较多可以通过notepad++的在文件中查找&替换功能。
from clipboard

7、创建gitea所用数据库

create database gitea default character set utf8mb4 collate utf8mb4_general_ci;

8、导入最开始我们备份的数据库结构及数据

可以共提供source命令或者数据库工具navicat等。

9、创建windows服务

sc create gitea-1.11.6 start= auto binPath= ""D:\gitea-1.11.6\gitea-1.11.6-windows-4.0-amd64.exe" web --config "D:\gitea-1.11.6\custom\conf\app.ini""


小编蓝狐