树莓派基于Gitea搭建代码仓库
随着Gitee宣布,发布开源仓库需要经过审核,否则变成私有仓库的消息。
加上国内访问GitHub很慢,所以萌生了搭建自己的代码仓库的想法。
Git服务器选型
说到自己搭建git服务器,常用的解决方案有下面这些:
GitLab CE
GitLab 是最常用的搭建git服务器的仓库管理系统,能够满足开发人员所有的幻想。
但是 GitLab 运行起来十分耗性能,对于树莓派来说,太吃力了。
所以pass
Gitbucket
Gitbucket 是一个由 Scala 提供支持的 Git 平台。
Gitbucket 基于JVM虚拟机,需要配置java环境。
性能要求适中,但对于树莓派可能还是吃力。
pass
Gogs / Gitea
Gitea 和 Gogs 均是使用 Golang 编写的轻量级的 Git 平台。
他们对于性能的要求很低,并且容易搭建。
而 Gitea 其实是 Gogs 的一个分支。
运行 Gogs 的内存开销会略低于 Gitea。
但是可能由于 Gogs 和 Gitea 的开发理念不同,所以 Gitea 的社区似乎更加活跃。
加上 Gogs 更新速度较慢,所以这里选择使用Gitea搭建 Git 服务器。
部署 Gitea
Gitea 提供了很多种安装方式,这里选择最简单的,使用二进制包安装。
注册git管理用户
Gitea 不支持以 root 身份运行,因此最好创建一个专门用于起 git 服务的用户,与系统其它部分进行隔离。
1 |
|
下载 Gitea 二进制文件
Gitea 的稳定版本可以从Gitea main中查找。
我的树莓派使用的是 Raspbian 的 32 位系统,cpu 是 armv7 架构。
由于 Gitea 在 1.8.2 版本之后不再提供 armv7 的发行版。
但是事实上 armv7 可以看做是对 armv6 及其扩展版本的收集,整理及部分增强。
所以树莓派可以使用 Gitea armv6 的发行版。也就是:
使用 wget 命令下载该发行版,并简化名称为gitea
1 |
|
安装数据库
Gitea 支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 TiDB(MySQL) 数据库。
由于目前我的树莓派上没有装数据库。而且考虑到常用的 MySQL、PostgreSQL 这些数据库也会消耗一部分性能。
为了使得整个 git 服务器最轻量化,所以选用 SQLite3 数据库。
安装 SQLite3 数据库非常简单:
1 |
|
配置 Gitea
重新打开 Gitea 服务
1 |
|
选择数据库类型为 SQLite3
进行一般设置
- 站点名称: git 服务首页会显示的名称
- 以用户名运行:运行 Gitea 的系统用户名
- 服务器域名:部署 git 的域名(注意,假设这里设置域名为
www.xxx.com
, 使用localhost:端口号
仍然能进入到git服务器,但是会有警告信息,是否有使用上的问题暂不清楚) - 基础URL:修改localhost与服务器域名一致
- SSH和HTTP服务端口:看需求修改
可选设置看个人需求,管理员账号如果不设置,则进入系统后,第一个注册的用户就是管理员用户。
最后点击立即安装,安装会持续一段时间。
一般几分钟后,点击刷新即可。
开机自启动
开启自启动可以参考官方文档进行配置。
大致就是复制gitea.service到本地,根据实际情况进行修改。
然后将gitea.service注册为系统自启动服务即可。
我的gitea.service文件:
1 |
|
将gitea.service文件放到/etc/systemd/system目录下
注册并开启服务
1 |
|