【亲测免费】3步搞定 Gitea 自助部署,代码托管全流程指南
你还在为团队代码托管发愁?GitHub私有仓库收费太贵,自建Git服务器又担心配置复杂?本文将用3个步骤,带你零成本搭建功能完备的自托管代码平台——Gitea,包含Git托管、代码审查、团队协作和CI/CD功能,全程无需专业运维知识。
关于Gitea:轻量级代码管理解决方案
Gitea是一款开源的自托管Git服务,用Go语言开发,具有轻量高效、易部署的特点。相比GitLab动辄GB级的内存占用,Gitea在512MB内存的服务器上即可流畅运行,非常适合中小企业和个人开发者。
项目核心优势:
- 全功能集成:Git托管、代码评审、Issue跟踪、Wiki、CI/CD等
- 跨平台部署:支持Linux、Windows、macOS及Docker
- 极低资源占用:最低512MB内存即可运行
- 完全开源免费:基于MIT许可证,无功能限制
官方文档:README.zh-cn.md 项目源码:GitHub_Trending/gi/gitea
部署前准备:环境要求与资源规划
硬件要求
- CPU:1核及以上
- 内存:512MB(推荐1GB)
- 存储:至少1GB可用空间(根据代码仓库数量调整)
软件环境
- 操作系统:Linux(推荐Ubuntu 20.04+)、Windows或macOS
- Docker环境(推荐)或Go 1.25+开发环境
- Git 2.0+
部署步骤:3种方式任选
方法1:Docker一键部署(推荐)
Docker部署是最简单快捷的方式,适合大多数用户:
# 拉取Gitea镜像
docker pull gitea/gitea:latest
# 创建数据卷目录
mkdir -p /var/gitea/data /var/gitea/config
# 启动容器
docker run -d \
--name=gitea \
-p 3000:3000 \
-p 222:22 \
-v /var/gitea/data:/data \
-v /var/gitea/config:/etc/gitea \
--restart always \
gitea/gitea:latest
Dockerfile定义:Dockerfile 中使用了golang:1.25-alpine3.22作为构建环境,最终镜像基于alpine:3.22,确保了极小的镜像体积。
方法2:二进制文件部署
适合需要自定义配置的场景:
-
下载对应系统的二进制文件:
wget https://dl.gitea.com/gitea/latest/gitea-latest-linux-amd64 chmod +x gitea-latest-linux-amd64 -
初始化并启动:
./gitea-latest-linux-amd64 web
方法3:源码编译部署
适合开发者或需要定制功能的场景:
# 克隆仓库
git clone https://gitcode.com/GitHub_Trending/gi/gitea.git
cd gitea
# 编译
TAGS="bindata" make build
# 运行
./gitea web
编译配置:Makefile 中定义了详细的构建流程,支持多种编译选项。
基础配置:5分钟完成初始化
- 访问http://服务器IP:3000,进入安装向导
- 数据库配置:推荐使用SQLite(简单无需额外配置)或MySQL
- 站点设置:填写站点名称、管理员账号
- 服务器配置:设置域名、SSH端口等信息
核心配置文件路径:custom/conf/app.example.ini,包含所有可配置项说明。关键配置示例:
[server]
PROTOCOL = http
DOMAIN = git.example.com
HTTP_PORT = 3000
ROOT_URL = http://git.example.com:3000/
[database]
DB_TYPE = sqlite3
PATH = data/gitea.db
功能体验:从创建仓库到团队协作
创建第一个仓库
- 使用管理员账号登录
- 点击右上角"+"号,选择"新建仓库"
- 填写仓库名称、描述,选择可见性
- 点击"创建仓库"
团队协作流程
- 创建组织:管理员后台 -> 组织 -> 新建组织
- 添加成员:组织设置 -> 成员 -> 邀请用户
- 分配权限:通过团队功能设置不同成员的访问权限
CI/CD功能
Gitea内置了CI/CD功能,通过.gitea/workflows目录下的YAML文件定义流水线,支持自动构建、测试和部署。
常见问题解决
端口冲突
如果3000端口被占用,修改配置文件中的HTTP_PORT:
[server]
HTTP_PORT = 3001
数据备份
定期备份数据目录和数据库:
# 备份数据目录
tar -czf gitea_data_backup.tar.gz data/
# SQLite数据库备份
cp data/gitea.db gitea.db.bak
升级方法
- 下载新版本二进制文件
- 停止当前服务
- 替换二进制文件并重启
总结与进阶
通过本文的步骤,你已经成功搭建了自己的Gitea服务。Gitea不仅提供了Git托管功能,还集成了代码审查、项目管理、CI/CD等一站式开发工具链。
进阶学习资源:
- 官方文档:README.zh-cn.md
- 配置指南:custom/conf/app.example.ini
- 开发文档:CONTRIBUTING.md
立即动手尝试,体验自托管代码平台的便利,让团队协作更高效!如果觉得本文有用,欢迎点赞收藏,关注获取更多技术教程。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



