CentOS8 + Docker 部署Gitea

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. 网页初始化(第一次访问必做)

  1. 数据库设置 :直接使用默认SQLite3
  2. 常规站点设置
    • 站点名称:自定义,例如内网代码仓库
    • Gitea 基础 URLhttp://192.168.88.132:3000(⚠️必须填你的虚拟机 IP,webhook 会依赖这个地址)
    • SSH 服务器端口:2222(和 docker 映射端口保持一致)
  3. 管理员账号(页面最底部,重点!)
    • 用户名:admin
    • 密码:自定义
    • 邮箱:随便填写
  4. 点击【立即安装】,等待几秒自动跳转登录页面。

⚠️安装完成后,管理员账号admin就创建完成,不要去注册页面新建管理员

3. 基础功能使用

1. 登录 Gitea

访问 http://192.168.88.132:3000,账号admin,输入初始化设置的密码。

2 创建删除代码仓库

  1. 页面右上角 ➕号 →【新建仓库】

  2. 参数填写:

参数名 解说
仓库名称(Repository name)【必填】 作用:仓库名字,就是代码库的名称,后面 git clone 地址里会带上这个名字 规范:只能英文、数字、中划线 -、下划线 _不要中文、空格、特殊符号 例:demo-projectjava-webvue-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)
  1. 点击【创建仓库】
  2. 删除仓库
    点击【设置】

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

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

4. 界面介绍

  1. 个人主页界面:

    顶部导航栏
名称 用途
工单 任务、缺陷管理(类似 bug 记录)
合并请求 PR,代码提交后申请合并分支,做代码评审
里程 项目版本规划,比如 v1.0 版本目标
探索 浏览 Gitea 上所有公开仓库
通知(铃铛图标) 消息通知(代码提交、PR、评论提醒)
+ 新建仓库、组织、上传文件等
admin 头像下拉菜单 进入个人设置、修改密码、添加 SSH 密钥

右侧面板

分【仓库】【组织】两个标签页,当前停留在仓库标签:

  1. 仓库列表:admin/jenkins_testPro,点这个仓库名字就能进入仓库详情页。

  2. 仓库列表右上角+:快速新建仓库。

  3. 搜索框:仓库多的时候用来搜索仓库。

  4. 下方筛选:

    • 所有:展示全部仓库
    • 自建:你自己创建的仓库
    • 派生:fork 复制别人的仓库
    • 镜像:从外部 git 地址同步过来的仓库
    • 协作:别人授权给你共同开发的仓库
  5. 仓库界面

二级导航栏

导航名称 用途
代码 当前页面,查看源码、文件、提交记录
工单 管理 bug、需求任务(类似 issue)
合并请求 代码分支合并(PR/MR,多人开发用)
工作流 Gitea 自带 CI 流水线
设置

仓库统计栏

名称 解说
提交 (commit) 一共 1 次代码提交,就是仓库初始化创建 README 那一次
分支 (branch) 当前只有main主分支(默认分支)
Git 标签 (tag) 版本标签,用来标记发布版本,现在还没创建

代码操作区

名称 解说
main下拉框 切换分支(现在就在 main 主分支)
添加文件 在线新建文件,后面我们可以在这里新建 Jenkins 流水线配置文件Jenkinsfile
蓝色【代码】按钮 点进去复制仓库地址(git clone地址,Jenkins 拉代码就填这个地址!)

提交记录列表

  • Initial commit:仓库初始化的第一次提交
  • 57c963edd1commit 提交哈希 ID,每次代码提交都会生成唯一 ID,Jenkins 拉代码可以指定这个版本
  • README.md:仓库说明文档,就是页面下方展示的内容
相关推荐
测试老哥4 天前
接口测试的测试用例应该怎么写?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
隐擎fox4 天前
解构无感人机验证底层机制:行为生物轨迹采样、环境评分模型与自动化对抗实战
自动化测试·python·网络协议·tcp/ip·网络爬虫
程序员杰哥4 天前
UI自动化测试:Jenkins配置
自动化测试·软件测试·python·测试工具·职场和发展·jenkins·测试用例
测试19986 天前
Jmeter接口自动化测试:Jmeter变量的使用
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·接口测试
2601_962078196 天前
Appium+Python+pytest自动化测试框架详解
自动化测试·python·appium·pytest·移动应用
2601_962284178 天前
Testin XAgent支撑下的智能测试实践:多端自动化如何真正落地
自动化测试·持续集成·ai测试·智能测试·跨平台测试
2601_962301339 天前
Playwright Stealth插件:绕过网站反爬虫检测的实战指南
自动化测试·数据采集·playwright·stealth插件·反爬虫检测
2601_962284509 天前
Python 和Java 哪个更适合做自动化测试?
java·自动化测试·python·接口测试·性能测试