树莓派基于Gitea搭建代码仓库

树莓派基于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 服务的用户,与系统其它部分进行隔离。


sudo useradd -r -m -d /home/gitea gitea

sudo passwd gitea

su gitea

下载 Gitea 二进制文件

Gitea 的稳定版本可以从Gitea main中查找。

我的树莓派使用的是 Raspbian 的 32 位系统,cpu 是 armv7 架构。

由于 Gitea 在 1.8.2 版本之后不再提供 armv7 的发行版。

但是事实上 armv7 可以看做是对 armv6 及其扩展版本的收集,整理及部分增强。

所以树莓派可以使用 Gitea armv6 的发行版。也就是:

使用 wget 命令下载该发行版,并简化名称为gitea

cd /home/gitea

wget https://dl.gitea.io/gitea/main/gitea-main-linux-arm-6

mv gitea-main-linux-arm-6 gitea

chmod +x gitea

# 启动一次gitea 测试
# 此时输入 http://localhost:3000 看是否可以访问到
# 退出 gitea 输入 ctrl+C 即可
./gitea web

安装数据库

Gitea 支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 TiDB(MySQL) 数据库。

由于目前我的树莓派上没有装数据库。而且考虑到常用的 MySQL、PostgreSQL 这些数据库也会消耗一部分性能。

为了使得整个 git 服务器最轻量化,所以选用 SQLite3 数据库。

安装 SQLite3 数据库非常简单:


sudo apt-get install sqlite sqlite3

配置 Gitea

重新打开 Gitea 服务

./gitea web

选择数据库类型为 SQLite3

进行一般设置

  • 站点名称: git 服务首页会显示的名称
  • 以用户名运行:运行 Gitea 的系统用户名
  • 服务器域名:部署 git 的域名(注意,假设这里设置域名为www.xxx.com, 使用localhost:端口号仍然能进入到git服务器,但是会有警告信息,是否有使用上的问题暂不清楚)
  • 基础URL:修改localhost与服务器域名一致
  • SSH和HTTP服务端口:看需求修改

可选设置看个人需求,管理员账号如果不设置,则进入系统后,第一个注册的用户就是管理员用户。

最后点击立即安装,安装会持续一段时间。

一般几分钟后,点击刷新即可。

开机自启动

开启自启动可以参考官方文档进行配置。

大致就是复制gitea.service到本地,根据实际情况进行修改。

然后将gitea.service注册为系统自启动服务即可。

我的gitea.service文件:

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target

[Service]
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/home/gitea/
ExecStart=/home/gitea/gitea web --config /home/gitea/custom/conf/app.ini
Restart=always
RestartSec=2s

[Install]
WantedBy=multi-user.target

将gitea.service文件放到/etc/systemd/system目录下

注册并开启服务

# 注册成系统自启动服务
sudo systemctl enable gitea

# 开启服务
sudo systemctl start gitea
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值