替换GitLab的方案之Gitea

[复制链接]
发表于 6 天前 | 显示全部楼层 |阅读模式
概述

官网:https://docs.gitea.com/zh-cn/
GitHub地址:https://github.com/go-gitea/gitea
Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包罗 Git 托管、代码查察、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。
Gitea与GitLab的区别

功能完整性


  • Gitea:

    • 核心功能代码托管、Pull Request、Issue 跟踪、Wiki、Webhook。
    • 轻量级计划:功能聚焦于基础代码管理,插件体系较简单,无内置 CI/CD(需集成外部工具如 Drone)。
    • 扩展本领:支持自定义钩子脚本、少量主题和插件,但生态不如 GitLab 丰富。

  • GitLab:

    • 全栈 DevOps:集成代码托管、CI/CD(GitLab CI)、容器注册表、项目管理(Issue / 看板)、安全扫描(SAST/DAST)、监控监控等。
    • 企业级功能:支持 LDAP/AD 集成、多因素认证、审计日志日志、分支权限管理、归并请求审批流。
    • 生态丰富:拥有大量官方和社区插件,支持与 Jira、Slack 等工具集成。

用户体验与界面


  • Gitea:

    • 界面简洁,操作流程接近 GitHub,学习资本低。
    • 资源占用少,适合中小团队快速部署。

  • GitLab:

    • 界面功能复杂,模块众多(如 DevOps 流水线、安全模块),新手需时间顺应。
    • 支持自定义仪表盘和工作流,适合大型团队协作。

性能与可扩展性


  • Gitea:

    • 资源需求:轻量级,可在低配置服务器(如 1 核 2G 内存)运行,适合 100 人以下团队。
    • 扩展性:横向扩展本领有限,大型项目(如数万仓库)可能出现性能瓶颈。

  • GitLab:

    • 资源需求:资源斲丧较高(尤其是启用 CI/CD 和容器服务时),发起至少 4 核 8G 内存起步。
    • 企业级扩展:支持分布式部署(多节点集群),可承载数千人团队和百万级仓库。

部署与维护


  • Gitea:

    • 部署简单:支持 Docker 一键部署,安装包体积小(约 100MB),配置文件简洁。
    • 维护资本:依靠少,升级频率较低,适合技术本领有限的团队。

  • GitLab:

    • 部署复杂:官方提供 Omnibus 包(数百 MB),但自定义配置(如 HTTPS、负载均衡)需较多技术投入。
    • 维护要求:需定期更新组件(如 Rails、PostgreSQL),企业版需购买支持服务。

社区与生态


  • Gitea:

    • 社区活跃度较低,插件和文档相对较少,但轻量化特性吸引部分极简主义用户。
    • 分叉自 Gogs,继承了部分中文用户群体。

  • GitLab:

    • 社区极为活跃(GitHub 星标超 40 万),官方文档美满,第三方集成丰富(如 VS Code、Jenkins)。
    • 企业版提供官方技术支持,适合贸易场景。

适用场景推荐

选 Gitea 的场景:


  • 中小团队或个人项目,需求聚焦代码托管,追求轻量化和低资本。
  • 对开源协议宽松度有要求(如贸易闭源项目)。
  • 服务器资源有限,需在低配置环境运行。
选 GitLab 的场景:


  • 大型团队或企业,需要全流程 DevOps 工具链(CI/CD、安全项目管理)。
  • 对合规性、审计和企业级管控有要求(如金融、政府行业)。
  • 愿意投入资源维护复杂体系,或需要官方技术支持。
Gitea安装

官网文档https://docs.gitea.com/zh-cn/category/installation
配置SSH端口

默认情况下,GitLab 使用 port22通过 SSH 与 Git 交互
修改SSH端口
  1. [root@master ~]# vim /etc/ssh/sshd_config
  2. # 默认为22,修改为2222
  3. Port 2222
  4. ## 重启sshd服务
  5. [root@master ~]# systemctl restart sshd
复制代码
数据库准备

Gitea的数据存储支持PostgreSQL(>= 12)、MySQL(>= 8.0)、MariaDB(>= 10.4)、SQLite(内置) 和 MSSQL(>= 2012 SP4)这几种数据库
数据库实例可以与 Gitea 实例在相同呆板上(当地数据库),也可以与 Gitea 实例在不同呆板上(远程数据库)。
数据库安装可以参考这篇文章:https://www.cnblogs.com/huangSir-devops/p/18848445
执行sql
  1. CREATE USER 'gitea'@'%' IDENTIFIED BY 'gitea';
  2. CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin';
  3. GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea'@'%';
  4. FLUSH PRIVILEGES;
复制代码
Docker一键安装Gitea

官方文档:https://docs.gitea.com/zh-cn/installation/install-with-docker
前置条件,你应该安装了Docker和docker-compose
安装Docker可以查看这篇文章:https://www.cnblogs.com/huangSir-devops/p/18822041#_label2
安装docker-compose可以查看这篇文章:https://www.cnblogs.com/huangSir-devops/p/18835671#_label2
创建挂载目录
  1. [root@master ~]# mkdir -p /data/{gitea,giteabak}
复制代码
创建docker-compose.yaml
  1. [root@master ~/gitea]# cat docker-compose.yaml
  2. services:
  3.   server:
  4.     image: docker.gitea.com/gitea:1.24.1
  5.     container_name: gitea
  6.     environment:
  7.       - GITEA__database__DB_TYPE=mysql
  8.       - GITEA__database__HOST=10.0.0.10:3306
  9.       - GITEA__database__NAME=giteadb
  10.       - GITEA__database__USER=gitea
  11.       - GITEA__database__PASSWD=gitea
  12.     restart: always
  13.     volumes:
  14.       - /data/giteabak:/tmp/bak
  15.       - /data/gitea:/data
  16.       - /etc/timezone:/etc/timezone:ro
  17.       - /etc/localtime:/etc/localtime:ro
  18.     ports:
  19.       - "3000:3000"
  20.       - "22:22"
复制代码
启动
  1. [root@master ~/gitea]# docker-compose up -d
  2. [+] Running 2/2
  3. ✔ Network gitea_default  Created                                                                                                                                                        0.1s
  4. ✔ Container gitea        Started        
复制代码
查抄是否启动成功
  1. [root@master ~/gitea]# docker ps -a
  2. CONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS          PORTS                                                                              NAMES
  3. 5fabd750d171   docker.gitea.com/gitea:1.24.1   "/usr/bin/entrypoint…"   24 seconds ago   Up 23 seconds   0.0.0.0:22->22/tcp, [::]:22->22/tcp, 0.0.0.0:3000->3000/tcp, [::]:3000->3000/tcp   gitea
复制代码
访问Gitea举行配置

访问 http://10.0.0.21:3000
基础配置(一样平常不用改动)


管理员配置


立即安装

配置完成之后点击立即安装即可
最终访问

配置完成之后稍微等候一会,即可看到如图界面

总结

个人以为Gitea比GitLab更好用,更加轻量级,尤其适合小型团队举行开发。固然如果你的团队有百人以上,那么还是发起使用GitLab

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-6-27 19:30 , Processed in 0.076450 second(s), 30 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表