CentOS8 + Docker 部署 Gitea
- [1.Docker 部署 Gitea](#1.Docker 部署 Gitea)
- [2. 网页初始化(第一次访问必做)](#2. 网页初始化(第一次访问必做))
- [3. 基础功能使用](#3. 基础功能使用)
-
- [1. 登录 Gitea](#1. 登录 Gitea)
- [2 创建删除代码仓库](#2 创建删除代码仓库)
- [4. 界面介绍](#4. 界面介绍)
1.Docker 部署 Gitea
1. 启动 Gitea 容器
bash
docker run -d \
--name gitea \
--restart always \
-p 3000:3000 \
-p 2222:22 \
-v /data/gitea:/data \
gitea/gitea:latest
命令参数含义
docker run -d:后台守护进程方式启动容器(detach,后台跑,不占用当前终端)--name gitea:给容器起名叫 gitea,方便后续操作docker start/stop gitea--restart always:开机 / 容器崩溃自动重启,生产常用-p 3000:3000:端口映射,宿主机 3000 端口 → 容器内 3000(网页访问 Gitea)-p 2222:22:宿主机 2222 端口 → 容器内部 22 端口(git ssh 克隆代码,和宿主机 ssh 的 22 端口不冲突)-v /data/gitea:/data:数据持久化挂载
宿主机/data/gitea目录,挂载到容器内/data,仓库代码、账号配置全部保存在宿主机,就算删掉容器,数据还在宿主机目录,不会丢失。gitea/gitea:latest:使用 gitea 最新镜像
等待镜像完整下载解压

2. 下载完成后查看容器状态:docker ps
正常输出:会出现一行 gitea,STATUS 状态显示
Up。刚启动成功,等待30‑60 秒 ,给 gitea 内部初始化时间。
3. 防火墙放行端口
bash
firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --add-port=2222/tcp --permanent
firewall-cmd --reload

4.验证本地访问是否通:curl http://127.0.0.1:3000
如果返回一堆 HTML 代码,代表服务就绪。
5.浏览器访问安装页面:http://你的虚拟机IP:3000
会弹出 Gitea 图形化安装界面
2. 网页初始化(第一次访问必做)
- 数据库设置 :直接使用默认
SQLite3 - 常规站点设置
- 站点名称:自定义,例如
内网代码仓库 - Gitea 基础 URL :
http://192.168.88.132:3000(⚠️必须填你的虚拟机 IP,webhook 会依赖这个地址) - SSH 服务器端口:
2222(和 docker 映射端口保持一致)
- 站点名称:自定义,例如
- 管理员账号(页面最底部,重点!)
- 用户名:
admin - 密码:自定义
- 邮箱:随便填写
- 用户名:
- 点击【立即安装】,等待几秒自动跳转登录页面。
⚠️安装完成后,管理员账号
admin就创建完成,不要去注册页面新建管理员
3. 基础功能使用
1. 登录 Gitea
访问 http://192.168.88.132:3000,账号admin,输入初始化设置的密码。


2 创建删除代码仓库
-
页面右上角 ➕号 →【新建仓库】

-
参数填写:
| 参数名 | 解说 |
|---|---|
| 仓库名称(Repository name)【必填】 | 作用:仓库名字,就是代码库的名称,后面 git clone 地址里会带上这个名字 规范:只能英文、数字、中划线 -、下划线 _,不要中文、空格、特殊符号 例:demo-project、java-web、vue-app |
| 仓库描述(Description)【选填】 | 作用:写这个项目是干嘛的,展示在仓库主页 示例:测试项目,用于Jenkins CI/CD演示 |
| 可见性(Visibility) | Public(公开) :任何人都能查看代码,不需要账号,适合练习 Private(私有):只有你授权的用户才能访问。 |
| 初始化仓库(Initialize repository) | ✅ 勾选这个选项 勾选后,Gitea 自动帮你初始化 git 仓库,不用本地手动执行git init 下面会多出几个选项: 1. README.md :自动生成项目说明文件,推荐勾选,仓库创建好自带 README,方便测试。 2. .gitignore :忽略文件配置,作用:提交代码时,某些文件不提交到仓库(编译产物、日志、IDE 配置),下拉框可以选语言:比如 Java 选Java,前端选Node,练习可以先选Custom或者直接不选。 3. 许可证 License :开源协议,学习测试直接选 No License 就行,不用管 |
| 默认分支名称(Default branch) | 默认一般是 main(老版本叫 master) |
| 其他高级选项(一般不动) | 启用 Issues:任务 bug 管理,练习 CI/CD不用勾选 启用 Wiki:项目文档,练习不用勾选 启用 Pull Requests:代码合并评审,后面可以用,初学可以先勾选 |
模板:
- 仓库名称:
cicd-demo - 描述:
Jenkins+Gitea CI/CD测试项目 - 可见性:Public
- ✅ 勾选 Initialize repository
- ✅ 勾选 README.md
- .gitignore:留空 / 选 Java(看你项目语言)
- License:No License
- 默认分支:main
- 其余选项默认
然后点 创建仓库(Create repository)
- 点击【创建仓库】

- 删除仓库
点击【设置】

页面划到最后,点击【删除本仓库】

点击【仓库名称】输入框,选择仓库名,点击【删除本仓库】

4. 界面介绍
- 个人主页界面:

顶部导航栏
| 名称 | 用途 |
|---|---|
| 工单 | 任务、缺陷管理(类似 bug 记录) |
| 合并请求 | PR,代码提交后申请合并分支,做代码评审 |
| 里程 | 项目版本规划,比如 v1.0 版本目标 |
| 探索 | 浏览 Gitea 上所有公开仓库 |
| 通知(铃铛图标) | 消息通知(代码提交、PR、评论提醒) |
+号 |
新建仓库、组织、上传文件等 |
| admin 头像下拉菜单 | 进入个人设置、修改密码、添加 SSH 密钥 |
右侧面板
分【仓库】【组织】两个标签页,当前停留在仓库标签:
-
仓库列表:
admin/jenkins_testPro,点这个仓库名字就能进入仓库详情页。 -
仓库列表右上角
+:快速新建仓库。 -
搜索框:仓库多的时候用来搜索仓库。
-
下方筛选:
- 所有:展示全部仓库
- 自建:你自己创建的仓库
- 派生:fork 复制别人的仓库
- 镜像:从外部 git 地址同步过来的仓库
- 协作:别人授权给你共同开发的仓库
-
仓库界面

二级导航栏
| 导航名称 | 用途 |
|---|---|
| 代码 | 当前页面,查看源码、文件、提交记录 |
| 工单 | 管理 bug、需求任务(类似 issue) |
| 合并请求 | 代码分支合并(PR/MR,多人开发用) |
| 工作流 | Gitea 自带 CI 流水线 |
| 设置 |
仓库统计栏
| 名称 | 解说 |
|---|---|
| 提交 (commit) | 一共 1 次代码提交,就是仓库初始化创建 README 那一次 |
| 分支 (branch) | 当前只有main主分支(默认分支) |
| Git 标签 (tag) | 版本标签,用来标记发布版本,现在还没创建 |
代码操作区
| 名称 | 解说 |
|---|---|
main下拉框 |
切换分支(现在就在 main 主分支) |
| 添加文件 | 在线新建文件,后面我们可以在这里新建 Jenkins 流水线配置文件Jenkinsfile |
| 蓝色【代码】按钮 | 点进去复制仓库地址(git clone地址,Jenkins 拉代码就填这个地址!) |
提交记录列表
Initial commit:仓库初始化的第一次提交57c963edd1:commit 提交哈希 ID,每次代码提交都会生成唯一 ID,Jenkins 拉代码可以指定这个版本README.md:仓库说明文档,就是页面下方展示的内容


