
5 分钟部署 Gitea 自托管 Git 服务私有仓库与 CI 一步到位【免费下载链接】giteaGit with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD项目地址: https://gitcode.com/GitHub_Trending/gi/giteaGitea 是用 Go 编写的轻量级自托管 Git 服务MIT 许可单二进制文件即可运行。部署之后Git 仓库托管、代码评审、Issue 跟踪、CI/CD 和包仓库全部跑在你自己的服务器上。 一分钟认识 Gitea项目说明定位一体化自托管开发服务Git 托管、代码评审、团队协作、包注册、CI/CD开发语言Go许可证MIT资源占用单二进制部署无强制外部依赖生产环境建议 2GB 内存起步低配设备如树莓派也可运行支持平台Linux、macOS、Windows、Docker数据库SQLite3、MySQL、PostgreSQL、SQL Server安装向导中任选 功能聚焦Git 托管与 Pull Request 评审分支、标签、提交历史、在线 diff 查看都是标配。提交代码后发起 Pull Request评审人可以在差异上逐行评论合并方式合并、重组、快进由你控制。源码中 modules/git/ 封装了底层 Git 操作modules/git/ 之外的 PR 逻辑在 services/pull/ 中想改行为可以从这里入手。Issue 跟踪与看板Issue 支持标签、里程碑、依赖关系项目看板可以把 Issue 按自定义列拖拽流转配合 Wiki 写项目文档。相关数据模型在 models/issues/ 和 models/project/。Actions 自动化CI/CD内置的 Actions 引擎语法兼容 GitHub Actions在仓库里放一个 YAML 工作流文件就能触发构建、测试、发版。运行器管理、任务调度分别在 models/actions/ 与 services/actions/ 中实现。多格式包仓库同一个 Gitea 实例可以作为 Docker 镜像、npm、Maven 等格式的私有包仓库构建产物直接推给自己的 registry模块实现见 modules/packages/。 部署上手三种方式任选按熟悉程度挑一个即可。方式一Docker推荐新手docker run -d --name gitea -p 3000:3000 -p 222:22 \ -v /path/to/gitea:/data \ gitea/gitea:latest方式二二进制文件./gitea web # 下载对应平台的发行版二进制后直接运行方式三包管理器apt install gitea # Ubuntu / Debian brew install gitea # macOS无论哪种方式启动后在浏览器访问http://服务器IP:3000安装向导会引导你初始化数据库默认 SQLite生产建议切 PostgreSQL、创建管理员账号。全部配置项的注释示例见 custom/conf/app.example.ini数百个键都有中文说明。 典型用法场景一个人开发者搭私有代码库角色独立开发者本地项目不想推到公有平台。 诉求免费私有仓库代码留在自己机器上。 落地步骤用上面的 Docker 命令部署打开安装向导完成初始化登录后台创建账户在设置 → 应用里生成个人访问令牌网页上创建仓库然后git clone http://服务器:3000/用户名/repo.git日常 push/pull 和公有 Git 平台的操作习惯一致。可量化收益私有仓库不再产生订阅费用仓库数据、访问权限、备份策略全部由自己控制断网时本地 clone 依然可用。场景二小团队上线自动测试角色3~10 人团队的负责人。 诉求每次提交自动跑测试权限按团队划分。 落地步骤后台创建组织把成员编入团队团队绑定仓库并指定读写级别开启 Actions在仓库内添加工作流文件YAML 格式语法与 GitHub Actions 一致提交即触发给仓库配置 Webhook把 Issue、PR 事件推到 Slack 或 Discord 群模板见 services/webhook/。可量化收益测试从人工记得跑变成提交后自动执行权限按团队统一分配成员进出只改团队名单不用逐个仓库处理。️ 生产环境要点上线前过一遍这份检查清单安全管理员和核心成员开启双因素认证TOTP 或 Web 认证器企业内网场景接入 LDAP/AD认证与现有目录打通[ldap]配置段前置 Nginx 或 Caddy 反向代理并配置 TLS 证书对外只暴露 443 端口防火墙限制 SSH 端口默认 222的访问来源定期升级版本关注安全公告备份用gitea dump生成完整归档数据库 仓库 附件实现见 cmd/dump.go归档定时同步到异地存储保留至少一份每季度做一次恢复演练确认备份可用性能生产环境用 PostgreSQL 或 MySQL坚持用 SQLite 时在 app.ini 设SQLITE_JOURNAL_MODE WAL提升并发读性能会话与缓存后端可切到 Redisapp.ini 中[session]的PROVIDER静态资源交给反向代理或 CDN 处理减少 Gitea 进程压力❓ 常见问题 FAQGitea 和 GitLab 怎么选核心区别在体量。Gitea 是单 Go 二进制内存占用小一台 2GB 内存的机器跑得动适合个人和小团队GitLab 功能面更广内置 CI 更成熟、报表更丰富但部署和运维成本高通常建议 4GB 以上内存起步。如果你只需要私有仓库 评审 轻量 CIGitea 更省心已有大规模 GitLab 流程的团队迁移成本较高。Gitea 支持哪些数据库SQLite 能用吗支持 sqlite3、mysql、postgres、mssql 四种见 custom/conf/app.example.ini 的DB_TYPE段。SQLite 免安装、适合测试和单机小规模使用多人协作的生产环境建议 PostgreSQL并配合连接池参数调优。Gitea Docker 安装要开哪些端口Web 访问默认 3000 端口Git SSH 克隆默认 222 端口两个端口映射后数据统一挂到容器的/data目录挂载到宿主机一个持久化路径即可升级镜像只换容器数据不丢。Gitea 支持 LDAP/AD 和二次验证吗都支持。LDAP/AD 通过 app.ini 的[ldap]段配置OAuth2 授权登录在 services/auth/ 中实现二次验证支持 TOTP 与 Web 认证器管理员可以在后台统一策略。操作审计由活动日志记录数据模型在 models/activities/。下一步如果你准备动手先用 Docker 命令把服务跑起来再对照 custom/conf/app.example.ini 逐项确认生产参数想参与二次开发从 docs/development.md 的搭建流程开始要写脚本对接可以查 routers/api/ 里的 REST API 定义。你的第一台自托管 Git 服务5 分钟后就能上线。【免费下载链接】giteaGit with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD项目地址: https://gitcode.com/GitHub_Trending/gi/gitea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考