news 2026/6/10 13:54:46

10GB vs 600MB:我们弃用 GitLab,选择了这个轻量级神器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
10GB vs 600MB:我们弃用 GitLab,选择了这个轻量级神器

初的方案选择了业界熟知的 GitLab ,但很快就遇到了瓶颈:仅仅是基础的代码托管功能,GitLab全套服务(主进程、PostgreSQL 和 Redis )在运行一段时间后,内存占用一度逼近 10GB。这对于我们的轻量级项目需求而言,无疑是一个难以承受的“资源黑洞”。

最后我们选择了 Gitea 这个轻量级的自托管 Git 解决方案——它不仅将内存占用从10GB降低到 600MB左右,更重要的是提供了完整的API接口,让我们可以深度集成到自己的 AI 平台中。

本文将带你快速使用 Docker 部署 Gitea,并演示如何创建仓库,以及如何通过 Gitea REST API 实现业务定制 。

1 部署前置准备

组件 是否必须 用途说明

数据库(MySQL / PostgreSQL / SQLite) ✅ 必须 存储核心业务数据:用户、仓库、Issue、PR、权限、LFS 元信息等

S3 / MinIO(对象存储) ➖ 可选 用于存储仓库附件、LFS 大文件;没有时使用本地磁盘

Redis ➖ 可选 用作缓存、Session、队列后台,提升性能

gitea 支持 sqlite 、mysql8 、pg12 ,因为 sqlite 只支持单进程/线程写,性能极差。

因为笔者使用 MySQL 最多也最熟悉,所以我们选择前置安装 MySQL 8 。安装完 MySQL 后 ,在数据库中新建数据库 gitea (此时,gitea 数据库并没有任何表)。

2 Docker 安装 Gitea

接下来,运行如下命令,使用 Docker 安装 Gitea 。

docker run -d --name gitea \

-p 3000:3000 -p 222:22 \

-v /Users/zhangyong/docker/gitea/data:/data \

-v /etc/localtime:/etc/localtime:ro \

-v /etc/timezone:/etc/timezone:ro \

-e USER_UID=1000 \

-e USER_GID=1000 \

--restart always \

gitea/gitea:latest

安装完后第一次访问页面 http://localhost:3000 :

如图,我们配置了 数据库 Gitea ,然后点击立即安装 。

配置选项将写入以下位置: /data/gitea/conf/app.ini

安装完成之后,界面如下:

注册完 root 账号后,进入首页:

3 新建仓库

如图,创建仓库的界面和 Github 类似,输入仓库名,即可创建成功:

当我们想克隆 或者 推送仓库时,需要创建用户的 pat ( Access Token )。

创建成功后,界面如下:

我们将令牌保存好,在克隆仓库时,或者 push 仓库时,需要使用该令牌。

4 调用 API

如图,当我们访问:http://localhost:3000/api/swagger#/repository , 可以查看所有的 Gitea 开发 API 。

如图,我们可以将所有的 Gitea API 封装成如下的 Java 服务:

5 总结

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 23:50:45

【完整源码+数据集+部署教程】钢筋类型检测系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

一、背景意义 随着建筑行业的快速发展,钢筋作为混凝土结构的重要组成部分,其类型的准确识别与分类对于工程质量的保障、施工安全的维护以及资源的合理利用具有重要意义。传统的钢筋识别方法多依赖人工目测和简单的测量工具,这不仅效率低下&am…

作者头像 李华
网站建设 2026/6/10 8:12:29

一张图看懂AI Agent的6种模式—MAS

大模型(LLM)狂飙突进的今天,我们经常听到“AI Agent(智能体)”这个词。如果说 ChatGPT 是一个超级大脑,那么 Agent 就是给这个大脑装上了手脚(工具)和耳朵(感知&#xff…

作者头像 李华
网站建设 2026/6/9 18:43:23

JSP如何整合开源组件支持大文件分片上传?

大文件传输系统建设方案(技术方案与代码示例) 一、项目背景与核心需求 作为公司项目负责人,针对产品部门提出的100G级大文件传输需求,需构建一套高兼容性、高稳定性、全浏览器支持的解决方案。核心需求如下: 功能需求…

作者头像 李华
网站建设 2026/6/9 23:32:34

如何利用JSP实现大文件上传的步骤解析与教程?

大文件传输系统解决方案 - 超时代技术方案书 项目背景与需求分析 作为湖南某软件公司项目负责人,经过深入调研,我们发现现有开源组件难以满足以下核心需求: 超大文件传输:50G以上单个文件稳定传输文件夹层级保留:完…

作者头像 李华
网站建设 2026/6/10 3:15:36

jQuery如何优化大文件分块上传的性能与体验?

2023年XX月XX日 外包项目攻坚日志 - 20G级文件传输系统开发实录 (关键词:信创环境兼容/海量文件存储/企业级断点续传/简历镀金项目) 凌晨3点:需求风暴会议复盘 客户作为省级档案数字化服务商,提出的变态需求&#xff…

作者头像 李华
网站建设 2026/6/10 14:41:24

wangEditor支持Latex公式转MathML兼容导入

企业网站后台管理系统增强功能开发方案 项目背景 作为河南某国企的项目负责人,我负责的企业网站后台管理系统需要新增以下功能: 在Web编辑器工具栏中增加Word粘贴功能和Word文档导入功能实现微信公众号内容粘贴(自动下载公众号图片并上传到服务器)支持…

作者头像 李华