7.1 自动化构建(代码仓库Gitea)

系列 - 自动化构建与持续集成
目录
Gitea
Gitea 是一个轻量级的开源 Git 服务平台,用于托管代码和进行版本控制。它与 Github、Gitlab、Gitee 等商业化平台功能类似,但更加轻量和易于部署。
为什么选择 Gitea
Gitea 相比其他 Git 服务平台的优势在于它非常轻量,启动速度快,占用资源少。对于小型团队或个人开发者来说,Gitea 是一个理想的选择,特别是在资源有限的环境中。
实验准备
在开始实验前,我们需要清理环境,确保没有旧的容器和镜像影响我们的实验结果。请执行以下步骤:
- 删除所有容器
- 删除所有已下载的镜像
- 清理未使用的数据卷和网络
# 删除所有容器
docker rm -f $(docker ps -aq)
# 删除所有镜像
docker rmi -f $(docker images -q)
# 清理系统
docker system prune --volumes -f
任务一:部署 Gitea
Gitea 官方提供了 Docker 镜像,并且建议使用 docker-compose.yml 部署,官方文档在这里:https://docs.gitea.com/zh-cn/installation/install-with-docker
1、创建项目目录
mkdir /srv/gitea
cd /srv/gitea
在该目录创建 docker-compose.yml 文件内容如下:
networks:
gitea:
services:
server:
image: docker.gitea.com/gitea:1.25.2
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
networks:
- gitea
volumes:
- ./data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
2、部署
docker compose up -d


3、安装

在【可选设置】部分,填写管理员账号信息,包括用户名、密码和邮箱

完成所有设置后,点击页面底部的【立即安装】按钮

任务二:试用 Gitea
在完成 Gitea 的部署后,我们来创建一个简单的 Flask 应用并将其推送到 Gitea 仓库中,体验 Git 版本控制的基本流程。
1. 准备项目环境
首先,我们需要安装必要的依赖并创建项目目录:
# 安装 Python 和 pip
yum install -y python3 python3-pip
# 安装 Flask 框架
pip3 install flask
# 创建项目目录
mkdir /root/myproject
cd /root/myproject
Flask 简介
Flask 是一个轻量级的 Python Web 框架,非常适合创建简单的 Web 应用。它提供了基本的路由功能和模板渲染,而且易于学习和使用。
2. 创建项目代码
vim app.py
文件内容:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return '<p>我是一个网页!</p><img src="http://helloflask.com/totoro.gif">'
3. 验证项目
在将代码推送到 Gitea 之前,我们先本地运行应用,确保它能正常工作:
# 启动 Flask 应用,允许外部访问
flask run --host=0.0.0.0
你应该能看到类似下面的输出,表示 Flask 服务器已经启动:

操作提示
按 Ctrl + C 可以中止 Flask 进程。Flask 默认在 5000 端口运行。
现在,打开浏览器,访问 http://服务器IP:5000,你应该能看到我们的网页:

4. 在 Gitea 中创建仓库


点击最下方的【创建仓库】
5. 上传项目代码
创建仓库后,Gitea 会显示如何将代码推送到仓库的指令。我们回到命令行,按照这些指令操作:

# 创建一个简单的 README 文件
touch README.md
echo "# My Flask Project" > README.md
# 初始化 Git 仓库
git init
# 创建并切换到 main 分支
git checkout -b main
# 添加文件到暂存区
git add README.md
git add app.py
# 提交更改
git commit -m "first commit"
# 添加远程仓库地址(替换为你的实际地址)
git remote add origin http://服务器IP:3000/用户名/myproject
# 推送代码到远程仓库
git push -u origin main
Git 操作说明
git init:在当前目录初始化一个 Git 仓库git checkout -b main:创建并切换到 main 分支git add:将文件添加到暂存区git commit:将暂存区的文件提交到本地仓库git remote add:添加远程仓库地址git push:将本地仓库的代码推送到远程仓库
执行上述命令时,系统会要求你输入 Gitea 的用户名和密码。认证成功后,代码会被推送到 Gitea 仓库。
6. 查看仓库内容
推送完成后,刷新 Gitea 网页,你应该能看到你的代码已经成功上传:

恭喜
恭喜你!你已经成功部署了 Gitea 代码仓库,并完成了一个简单项目的创建和推送。这是自动化构建和持续集成的第一步。在后续实验中,我们将学习如何将 Gitea 与 CI/CD 工具集成,实现代码的自动构建和部署。
小结
在本实验中,我们学习了:
- Gitea 的基本概念和特点
- 如何在服务器上部署 Gitea
- 如何创建一个简单的 Flask 应用
- 如何使用 Git 命令将代码推送到 Gitea 仓库
这些知识和技能为后续学习自动化构建和持续集成打下了基础。

