提交ci/cd文件
This commit is contained in:
419
.gitea/README.md
Normal file
419
.gitea/README.md
Normal file
@@ -0,0 +1,419 @@
|
||||
# 🚀 GUI客户端自动化版本管理系统
|
||||
|
||||
## 📋 概述
|
||||
|
||||
**与后端完全一致的版本管理系统** - 直接连接PostgreSQL数据库
|
||||
|
||||
- ✅ **直接数据库操作** - 与后端使用相同方式(PostgreSQL)
|
||||
- ✅ **完全一致** - 相同的表、相同的字段、相同的逻辑
|
||||
- ✅ **极简设计** - 无需API,配置一次,永久生效
|
||||
- ✅ **全自动** - 提交代码即可,自动版本递增
|
||||
|
||||
---
|
||||
|
||||
## 🎯 核心特性
|
||||
|
||||
### 存储方式(与后端完全一致)
|
||||
|
||||
```
|
||||
后端Django GUI客户端
|
||||
↓ ↓
|
||||
Django ORM psycopg2
|
||||
↓ ↓
|
||||
└──────────┬──────────────────┘
|
||||
↓
|
||||
PostgreSQL
|
||||
web_versionhistory表
|
||||
```
|
||||
|
||||
| 特性 | 后端 | GUI |
|
||||
|------|------|-----|
|
||||
| **操作方式** | Django ORM | psycopg2(SQL) |
|
||||
| **数据库** | PostgreSQL (8.155.9.53) | **相同** |
|
||||
| **表名** | web_versionhistory | **相同** |
|
||||
| **版本类型** | "Web端" | "水滴智能通讯插件" |
|
||||
|
||||
---
|
||||
|
||||
## 🚀 快速开始(2步)
|
||||
|
||||
### 1️⃣ 安装依赖
|
||||
|
||||
```bash
|
||||
pip install psycopg2-binary
|
||||
```
|
||||
|
||||
### 2️⃣ 提交代码
|
||||
|
||||
```bash
|
||||
# 新增功能(MINOR版本)
|
||||
git commit -m "[minor] 新增拼多多平台支持"
|
||||
|
||||
# 修复Bug(PATCH版本)
|
||||
git commit -m "[patch] 修复京东连接超时"
|
||||
|
||||
# 重大变更(MAJOR版本)
|
||||
git commit -m "[major] 重构WebSocket架构"
|
||||
|
||||
# 推送触发自动版本发布
|
||||
git push origin main
|
||||
```
|
||||
|
||||
**就这么简单!** 🎉
|
||||
|
||||
---
|
||||
|
||||
## 📖 版本号规则
|
||||
|
||||
采用**语义化版本**(Semantic Versioning):`MAJOR.MINOR.PATCH`
|
||||
|
||||
| 版本类型 | 说明 | 示例 |
|
||||
|---------|------|------|
|
||||
| `MAJOR` | 重大架构变更 | 1.0.0 → 2.0.0 |
|
||||
| `MINOR` | 新增功能 | 1.0.0 → 1.1.0 |
|
||||
| `PATCH` | Bug修复、优化 | 1.0.0 → 1.0.1 |
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Commit Message 关键词
|
||||
|
||||
### 手动标记(优先级最高)
|
||||
|
||||
```bash
|
||||
git commit -m "[major] 重构WebSocket通信架构"
|
||||
git commit -m "[minor] 新增拼多多平台支持"
|
||||
git commit -m "[patch] 修复京东连接超时问题"
|
||||
```
|
||||
|
||||
### 自动识别关键词
|
||||
|
||||
**MAJOR**: `重构`, `refactor`, `架构`, `breaking`
|
||||
**MINOR**: `新增`, `add`, `feature`, `功能`, `实现`
|
||||
**PATCH**: `修复`, `fix`, `bug`, `优化`, `调整`
|
||||
|
||||
---
|
||||
|
||||
## 📁 文件结构
|
||||
|
||||
```
|
||||
shuidrop_gui/
|
||||
├── .gitea/
|
||||
│ ├── workflows/
|
||||
│ │ └── gui-version-release.yml # CI/CD工作流
|
||||
│ ├── scripts/
|
||||
│ │ ├── gui_version_creator.py # ⭐ 核心:版本创建器(直接数据库)
|
||||
│ │ ├── view_version_history.py # 版本历史查看
|
||||
│ │ └── init_version_system.py # 系统初始化
|
||||
│ └── README.md # 本文档
|
||||
├── version_history.json # 版本历史本地备份
|
||||
├── config.py # 包含 APP_VERSION
|
||||
└── VERSION_MANAGEMENT_GUIDE.md # 快速入门指南
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ 常用命令
|
||||
|
||||
### 查看版本历史
|
||||
|
||||
```bash
|
||||
# 查看最近10个版本
|
||||
python .gitea/scripts/view_version_history.py --list
|
||||
|
||||
# 查看最新版本
|
||||
python .gitea/scripts/view_version_history.py --latest
|
||||
|
||||
# 查看特定版本详情
|
||||
python .gitea/scripts/view_version_history.py --detail 1.2.3
|
||||
|
||||
# 导出更新日志
|
||||
python .gitea/scripts/view_version_history.py --export
|
||||
```
|
||||
|
||||
### 本地测试
|
||||
|
||||
```bash
|
||||
# 设置数据库连接
|
||||
export DB_HOST=8.155.9.53
|
||||
export DB_PORT=5400
|
||||
export DB_NAME=ai_web
|
||||
export DB_USER=user_emKCAb
|
||||
export DB_PASSWORD=password_ee2iQ3
|
||||
|
||||
# 运行版本创建脚本
|
||||
python .gitea/scripts/gui_version_creator.py
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 版本创建流程
|
||||
|
||||
```
|
||||
提交代码
|
||||
↓
|
||||
git push origin main
|
||||
↓
|
||||
Gitea Actions触发
|
||||
↓
|
||||
gui_version_creator.py
|
||||
↓
|
||||
┌────────────────────────────────┐
|
||||
│ 1. 连接PostgreSQL数据库 │
|
||||
│ (8.155.9.53:5400/ai_web) │
|
||||
│ 2. 查询最新版本 │
|
||||
│ SELECT version FROM ... │
|
||||
│ 3. 分析commit message │
|
||||
│ 识别版本类型 │
|
||||
│ 4. 计算新版本号 │
|
||||
│ 1.0.5 → 1.1.0 │
|
||||
│ 5. 插入数据库 │
|
||||
│ INSERT INTO web_versionhistory...│
|
||||
│ 6. 保存本地JSON备份 │
|
||||
│ 7. 更新config.py │
|
||||
│ APP_VERSION = "1.1.0" │
|
||||
└────────────────────────────────┘
|
||||
↓
|
||||
完成!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💾 存储策略
|
||||
|
||||
### 主要存储:PostgreSQL数据库
|
||||
|
||||
```sql
|
||||
-- web_versionhistory表(与后端共用)
|
||||
INSERT INTO web_versionhistory (
|
||||
version, -- "1.1.0"
|
||||
type, -- "水滴智能通讯插件"
|
||||
content, -- commit message
|
||||
download_url, -- 下载地址
|
||||
release_time, -- 发布时间
|
||||
is_delete -- FALSE
|
||||
) VALUES (...);
|
||||
```
|
||||
|
||||
### 备份存储:本地JSON
|
||||
|
||||
```json
|
||||
// version_history.json(快速查询/离线使用)
|
||||
[
|
||||
{
|
||||
"version": "1.1.0",
|
||||
"update_type": "minor",
|
||||
"content": "新增拼多多平台支持",
|
||||
"author": "张三",
|
||||
"release_time": "2025-10-09 14:30:00",
|
||||
"stats": {
|
||||
"files_changed": 5,
|
||||
"lines_added": 234,
|
||||
"lines_deleted": 56
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ CI/CD配置
|
||||
|
||||
### 触发条件
|
||||
|
||||
- **分支**: `main`
|
||||
- **事件**: `push`
|
||||
|
||||
### 环境变量(已配置好)
|
||||
|
||||
```yaml
|
||||
env:
|
||||
DB_HOST: 8.155.9.53 # 数据库主机
|
||||
DB_PORT: 5400 # 端口
|
||||
DB_NAME: ai_web # 数据库名
|
||||
DB_USER: user_emKCAb # 用户名
|
||||
DB_PASSWORD: password_ee2iQ3 # 密码
|
||||
```
|
||||
|
||||
**这些配置与后端完全一致!**
|
||||
|
||||
### 执行步骤
|
||||
|
||||
1. 📦 检出代码
|
||||
2. 🐍 设置Python环境
|
||||
3. 📦 安装依赖(psycopg2-binary)
|
||||
4. 🏷️ 创建版本记录(直接数据库操作)
|
||||
5. 📦 自动打包(可选)
|
||||
|
||||
---
|
||||
|
||||
## 📊 版本历史格式
|
||||
|
||||
### PostgreSQL数据库(主要)
|
||||
|
||||
```sql
|
||||
-- 与后端共享web_versionhistory表
|
||||
SELECT * FROM web_versionhistory
|
||||
WHERE type = '水滴智能通讯插件'
|
||||
ORDER BY release_time DESC;
|
||||
```
|
||||
|
||||
### 本地JSON备份
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"version": "1.1.0",
|
||||
"update_type": "minor",
|
||||
"content": "新增拼多多平台支持",
|
||||
"author": "张三",
|
||||
"commit_hash": "abc123def456...",
|
||||
"release_time": "2025-10-09 14:30:00",
|
||||
"stats": {...}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 常见问题
|
||||
|
||||
### Q: 为什么不用API?
|
||||
|
||||
**A**: 直接数据库操作的优势:
|
||||
- ✅ 与后端存储方式完全一致
|
||||
- ✅ 无需后端开发接口
|
||||
- ✅ 更简单、更可靠
|
||||
- ✅ 减少中间层故障点
|
||||
|
||||
### Q: 数据库连接失败怎么办?
|
||||
|
||||
**A**: 不影响使用!
|
||||
- ✅ 本地JSON备份仍会保存
|
||||
- ✅ config.py仍会更新
|
||||
- ✅ 后续可手动同步数据库
|
||||
|
||||
### Q: 如何跳过版本发布?
|
||||
|
||||
**A**: 在commit message中添加 `[skip ci]`:
|
||||
```bash
|
||||
git commit -m "更新文档 [skip ci]"
|
||||
```
|
||||
|
||||
### Q: 如何验证版本记录?
|
||||
|
||||
**A**:
|
||||
```bash
|
||||
# 方式1: 查看本地备份
|
||||
python .gitea/scripts/view_version_history.py --latest
|
||||
|
||||
# 方式2: 查询数据库
|
||||
psql -h 8.155.9.53 -p 5400 -U user_emKCAb -d ai_web \
|
||||
-c "SELECT * FROM web_versionhistory WHERE type='水滴智能通讯插件' LIMIT 5;"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎓 学习资源
|
||||
|
||||
### 1. 查看快速入门指南
|
||||
|
||||
```bash
|
||||
cat VERSION_MANAGEMENT_GUIDE.md
|
||||
```
|
||||
|
||||
### 2. 查看实施说明
|
||||
|
||||
```bash
|
||||
cat IMPLEMENTATION_NOTES.md
|
||||
```
|
||||
|
||||
### 3. 初始化系统
|
||||
|
||||
```bash
|
||||
python .gitea/scripts/init_version_system.py
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📞 完整示例
|
||||
|
||||
### 场景:新增拼多多平台支持
|
||||
|
||||
```bash
|
||||
# 1. 开发功能
|
||||
# 修改: Utils/Pdd/PddUtils.py, config.py 等
|
||||
|
||||
# 2. 提交代码
|
||||
git commit -m "[minor] 新增拼多多平台支持,实现消息收发和自动重连"
|
||||
git push origin main
|
||||
```
|
||||
|
||||
**自动执行**:
|
||||
1. Gitea Actions检测push
|
||||
2. 连接PostgreSQL数据库
|
||||
3. 查询最新版本: `1.0.5`
|
||||
4. 版本递增: `1.0.5` → `1.1.0`
|
||||
5. **插入数据库**: `INSERT INTO web_versionhistory ...`
|
||||
6. 保存本地备份: `version_history.json`
|
||||
7. 更新配置: `APP_VERSION = "1.1.0"`
|
||||
|
||||
**验证结果**:
|
||||
```bash
|
||||
$ python .gitea/scripts/view_version_history.py --latest
|
||||
|
||||
🏷️ 最新版本: v1.1.0
|
||||
📅 发布时间: 2025-10-09 14:30:00
|
||||
👤 发布者: 张三
|
||||
📝 内容: 新增拼多多平台支持,实现消息收发和自动重连
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💡 核心优势
|
||||
|
||||
### 1. 与后端完全一致
|
||||
- ✅ 相同的数据库(PostgreSQL)
|
||||
- ✅ 相同的表(web_versionhistory)
|
||||
- ✅ 相同的字段结构
|
||||
- ✅ 相同的时间处理逻辑
|
||||
|
||||
### 2. 极简设计
|
||||
- ✅ 只需安装1个依赖(psycopg2-binary)
|
||||
- ✅ 无需后端开发API
|
||||
- ✅ 配置一次,永久生效
|
||||
|
||||
### 3. 全自动
|
||||
- ✅ 提交代码自动触发
|
||||
- ✅ 自动版本递增
|
||||
- ✅ 自动更新配置
|
||||
|
||||
### 4. 双重保障
|
||||
- ✅ PostgreSQL数据库(主要)
|
||||
- ✅ 本地JSON备份(保底)
|
||||
|
||||
---
|
||||
|
||||
## 🚀 下一步行动
|
||||
|
||||
```bash
|
||||
# 1. 安装依赖(必需)
|
||||
pip install psycopg2-binary
|
||||
|
||||
# 2. 初始化系统(推荐)
|
||||
python .gitea/scripts/init_version_system.py
|
||||
|
||||
# 3. 测试提交
|
||||
git commit -m "[patch] 测试版本管理系统"
|
||||
git push origin main
|
||||
|
||||
# 4. 验证结果
|
||||
python .gitea/scripts/view_version_history.py --latest
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**恭喜!** 🎉 你现在拥有了一套**与后端完全一致**的自动化版本管理系统!
|
||||
|
||||
**版本**: 3.0(最终版)
|
||||
**最后更新**: 2025-10-09
|
||||
**核心特点**: 直接PostgreSQL数据库操作,与后端完全一致
|
||||
Reference in New Issue
Block a user