抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Gitea 是新一代的代码托管平台,具备基于 Git 的核心代码托管能力和 DevSecOps 延伸能力,为广大软件开发者提供接近 GitHub 的使用体验,并且支持用户开展私有化部署。

介绍

Gitea 是一个轻量级的、自托管 Git 服务平台,对于小型团队、个人开发者或组织,Gitea 是一个经济实惠且灵活的代码托管解决方案,能够满足基本代码管理需求,并提供一定的可定制性和扩展性。

杜老师之前使用 GitLab,托管在群晖上,因 GitLab 量级较大,运行后会大量占用资源,影响了群晖上其它套件使用。

奈何因托管的代码过多,迁移会占用大量的时间,所以此事一直拖着未能解决。

直到前段时间,GitLab 因版本升级失败导致崩溃,故杜老师决定迁移至 Gitea。

优势

轻量级和高效,Gitea 的设计简洁,资源消耗较低,更易于部署和运行,即使在资源有限的服务器上也能表现良好。

开源免费,遵循开源许可,用户可以自由使用、修改、分发,促进社区的参与和发展。

简单易用界面,提供直观、友好的 Web 界面,方便用户进行代码管理、创建仓库、提交代码、查看历史记录操作。

支持多种操作系统,可在 Windows/Linux/Mac 等多种操作系统上进行安装和运行。

丰富功能,包括用户管理、组织管理、权限控制、问题跟踪等常见的代码托管平台功能。

易于集成,可以与其它工具和服务进行集成,例如持续集成、持续部署系统。

自定义和扩展,通过插件系统,可实现自定义功能扩展和个性化配置。

版本控制支持,基于 Git 版本的控制系统,提供强大的版本管理和分支管理功能。

部署

创建一个目录,如 gitea,用于存储相关配置文件。在该目录中创建一个 docker-compose.yml 文件,添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: '3'
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=sqlite3
- RUN_MODE=prod
ports:
- "3000:3000"
- "222:22"
volumes:
-./gitea-data:/data

在上述配置中,我们使用了最新的镜像。USER_UIDUSER_GID 应根据您的主机用户 ID 和组 ID 进行设置。DB_TYPE 选择了 sqlite3 作为数据库,如需要更强大的数据库,可选择 MySQL 或 PostgreSQL 并相应地配置。ports 部分将容器内部的 3000 端口和 22 端口映射到主机 3000222 端口。volumes 部分将数据存储在当前目录下的 gitea-data 文件夹中。保存 docker-compose.yml 文件后,在该目录中运行以下命令启动 Gitea:

1
docker-compose up -d

效果

登录后会显示仓库动态信息:

新版本 Gitea 支持 GitHub 同款 Actions,且支持相同的配置文件格式:

在仓库页可以查看提交数量、分支、仓库大小等等:

通过后台控制面板可以看到 Gitea 的运行情况,整理资源占用较小「于 GitLab 相比」

评论