十分钟,带你搭建一个自己的Git系统

Gitea 是一个轻量级的开源代码托管平台,基于 Go 语言开发,支持 Git 版本控制。它类似于 GitHub 或 GitLab,但更注重轻量化、低资源占用和快速部署,适合个人开发者、小团队或企业内部使用。

Gitea 的名称来源于 Gittea (茶)的结合。Git 直接表明它是一个基于 Git 版本控制系统 的代码托管平台,功能定位清晰。 Tea 则象征轻量、简洁和友好,暗喻其低资源占用易用性,如同茶一样"小而美"。

Gitea历史背景

Gitea 最初是从另一个开源项目 Gogs(Go Git Service)分叉而来。Gogs 因开发进度缓慢,社区成员于 2016 年创建了 Gitea,目标是更开放、更活跃的协作。

新名称 Gitea 既保留了与 Git 的关联,又通过 "tea" 传递了社区驱动的友好形象,与 Gogs 形成区分。

Gitea功能与优势

Gitea的主要功能有如下几点:

代码托管。支持 Git 仓库管理,提供仓库克隆、推送、分支管理等功能。

协作开发。支持 Issue 跟踪、Pull Request(PR)、代码审查等协作工具。

权限管理。可配置团队和用户权限,保障代码安全。

集成能力。支持 Webhook、CI/CD 集成(需配合其他工具)等。

核心优势主要有:

轻量高效。资源占用低,适合低配置服务器。

跨平台。支持 Linux、Windows、macOS 等多种系统。

开源免费。代码完全开源,可自由修改和扩展。

社区驱动。由活跃的开源社区维护,更新频繁。

一键部署。通过二进制文件或 Docker 快速部署。

Linux环境下部署Gitea

部署环境

操作系统:Ubuntu 20.04

CPU、内存:2核、2G

依赖其他工具:Docker、Git、MySQL/PostgreSQL/SQLite

:推荐 SQLite 简化部署,但是本教程使用MySQL部署,另外本教程默认Docker正常和MySQL默认能够进行远程连接,具体按照文档可参看https://docs.gitea.com/zh-cn/category/installation

步骤 1:使用Docker安装并启动Gitea

Docker安装命令:

shell 复制代码
docker pull gitea/gitea

Docker启动Gitea:

shell 复制代码
docker run -p 3000:3000 -d gitea/gitea

步骤 2:准备Gitea需要的环境

Gitea的环境准备主要有两个部分:MySQL建库和创建主安装目录。

1)进入MySQL,创建数据库

sql 复制代码
create database gitea

2)进入到运行Gitea的Docker镜像内,创建目录并赋予权限

shell 复制代码
docker exec -it [容器ID] /bin/bash

cd /opt 

mkdir gitea

chmod 777 gitea

步骤 3:进入并配置Gitea

1)访问 http://<服务器IP>:3000,进入安装页面

2)填写配置

数据库类型 :SQLite3(默认路径 /var/lib/gitea/data/gitea.db

应用 URL :填写最终访问地址(如 https://gitea.example.com

管理员账号:设置管理员账户信息。

3)点击 立即安装 完成初始化

总结一下:就是除了数据库配置和域名配置,其他基本上使用默认值就可以了。

步骤 4:开始使用

访问自己的部署地址,登录管理员账户,创建仓库并测试推送代码。

常见问题

确保 /var/lib/gitea 目录归属 gitea 用户,或者提前创建好相关目录,其次是端口冲突 ,若 3000 端口被占用,修改 app.ini 中的 HTTP_PORT

通过以上步骤,您可以在 Linux 系统上快速部署一个高性能的 Gitea 代码托管平台。

相关推荐
炒空心菜菜4 小时前
SparkSQL 连接 MySQL 并添加新数据:实战指南
大数据·开发语言·数据库·后端·mysql·spark
蜗牛沐雨6 小时前
Rust 中的 `PartialEq` 和 `Eq`:深入解析与应用
开发语言·后端·rust
Python私教6 小时前
Rust快速入门:从零到实战指南
开发语言·后端·rust
秋野酱8 小时前
基于javaweb的SpringBoot爱游旅行平台设计和实现(源码+文档+部署讲解)
java·spring boot·后端
小明.杨8 小时前
Django 中时区的理解
后端·python·django
有梦想的攻城狮8 小时前
spring中的@Async注解详解
java·后端·spring·异步·async注解
qq_12498707538 小时前
原生小程序+springboot+vue医院医患纠纷管理系统的设计与开发(程序+论文+讲解+安装+售后)
java·数据库·spring boot·后端·小程序·毕业设计
lybugproducer9 小时前
浅谈 Redis 数据类型
java·数据库·redis·后端·链表·缓存
焚 城9 小时前
.NET8关于ORM的一次思考
后端·.net
撸猫79111 小时前
HttpSession 的运行原理
前端·后端·cookie·httpsession