开源git仓库(gitea)安装及迁移

开源git仓库(gitea)安装及迁移

jance 9 2024-03-25

一、docker安装

直接docker运行 docker run -d --name gitea -p 13000:3000 -p 13001:22 gitea/gitea:1.15.6

访问 http://IP:13000 即可

注意:gitea需连接数据库,因此需要有数据库可以使用,建议使用mysql,其他也可以。

之后就是,浏览器上按照步骤完成初始化,连接数据库等操作。

参考网址:https://blog.csdn.net/qq_34844710/article/details/128659469

当然,还可以使用nginx去代理,使用域名访问等等。

二、数据备份及迁移(重点)

1、老机器备份

1.创建备份文件夹

cd /home/docker
mkdir gittmp

2.进入容器,并备份数据库数据

docker exec -it gitea bash

-- 切到git用户
su git

-- 找到gitea文件(不同版本位置可能不同,我这个是1.15.6版本的)
cd /app/gitea

-- 执行数据备份命令,执行完毕后,文件夹下会生成gitea-dump-**********.zip文件
./gitea dump

-- 退出容器
exit
exit

3.复制出备份的数据库数据,以及git相关代码

-- 复制出数据库备份
docker cp gitea:/app/gitea/gitea-dump-1711363970.zip /home/docker/gittmp/gitea-dump.zip
-- 复制出gitea的数据文件
docker cp gitea:/data /home/docker/gittmp/gitea-data-backup

4.打包,传到新机器

tar -zcvf gittmp.tar.gz gittmp/
scp -P ${ssh端口} gittmp.tar.gz ${username}@${ip}:/home/docker/

2、新机器导入

1.进入文件夹,并解压备份文件

cd /home/docker/
tar -zxvf gittmp.tar.gz

-- 解压老机器中gitea备份的数据,主要是sql
cd /home/docker/gittmp
unzip gitea-dump.zip

2.安装gitea,安装后无需进行配置

docker pull gitea/gitea:1.15.6
docker run -d --name gitea -p 13000:3000 -p 13001:22 gitea/gitea:1.15.6

3.将sql数据导入数据库(以本地安装的mysql容器为例)

首先需要使用数据库连接工具,连接mysql,并创建gitea仓库(也可以通过命令去创建)

-- 1.将sql文件导入到mysql容器中
docker cp /home/docker/gittmp/gitea-db.sql mysql:/

-- 2.进入容器,并将sql文件导入进数据库
docker exec -it mysql bash
mysql -uroot -p gitea < /gitea-db.sql

-- 3.导入完成后,删除sql文件并退出
rm gitea-db.sql
exit

4.导入git仓库代码等数据文件

-- 1.修改配置文件。将里面的域名、数据库等信息修改为实际的域名及数据库、用户名、密码
vim /home/docker/gittmp/gitea-data-backup/gitea/conf/app.ini

-- 2.将所有备份数据文件复制进gitea容器中
docker cp /home/docker/gittmp/gitea-data-backup/. gitea:/data/

-- 3.进入容器,修改文件权限(默认文件所有人、所属组为root,需改完git)
docker exec -it gitea bash
cd /data/
chown -R git:git *
exit

5.最后重启gitea,删除备份

docker restart gitea
rm -rf /home/docker/gittmp*

重启完成后,访问 http://IP:13000 即可