51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

使用 Docker 部署 Gitea 新一代的代码托管平台

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 相比」

赞(4)
未经允许不得转载:工具盒子 » 使用 Docker 部署 Gitea 新一代的代码托管平台