本文引用的文件
本文件为 AI 有声书生成平台提供系统化的版本管理文档,覆盖 Git 分支模型、版本号规范、合并策略、发布流程、CI/CD 与自动化部署、发布日志与变更管理,以及向后兼容性保障策略。文档以仓库现有部署与自动化脚本为基础,结合项目技术栈与开发流程,形成可落地的版本管理实践。
开发流程包含功能清单、Agent 协作规则与前端检查清单,确保功能交付质量。
graph TB
subgraph "前端"
FE_PKG["my-uniapp-vue3/package.json"]
FE_BUILD["H5 构建产物"]
end
subgraph "后端"
BE_PKG["server/package.json"]
BE_SRC["Koa 应用"]
PRISMA["Prisma 迁移与客户端"]
end
subgraph "部署与运维"
SH["部署脚本<br/>deploy-prod.sh"]
PY["Webhook 部署<br/>webhook-deploy.py"]
NGINX["Nginx 反向代理"]
PM2["PM2 进程管理"]
end
FE_PKG --> FE_BUILD
BE_PKG --> BE_SRC
BE_SRC --> PRISMA
FE_BUILD --> NGINX
BE_SRC --> NGINX
NGINX --> PM2
SH --> PM2
PY --> SH
图表来源
章节来源
章节来源
本项目的版本管理与发布架构由“分支模型 + 版本号 + 合并策略 + 自动化部署 + 回滚机制”组成,贯穿开发、测试、上线与运维全生命周期。
sequenceDiagram
participant Dev as "开发者"
participant Repo as "Git 仓库"
participant CI as "CI/CD/Webhook"
participant Server as "部署服务器"
participant PM2 as "PM2 进程管理"
Dev->>Repo : 提交功能分支并发起 PR
Repo->>CI : 触发自动化测试与构建
CI-->>Dev : 测试结果与构建产物
Dev->>Repo : 代码审查通过后合并主分支
Repo->>CI : 推送主分支触发自动部署
CI->>Server : 执行部署脚本备份/安装/迁移
Server->>PM2 : 重启后端服务
PM2-->>Server : 服务就绪
Server-->>CI : 健康检查通过
CI-->>Dev : 发布完成通知
图表来源
章节来源
章节来源
章节来源
回滚机制
一键回滚:恢复备份目录并重启服务。
flowchart TD
Start(["开始发布"]) --> BuildFE["前端构建 H5"]
BuildFE --> BuildBE["后端编译与依赖安装"]
BuildBE --> Backup["创建备份目录"]
Backup --> Install["安装与迁移"]
Install --> Health["健康检查 /api/health"]
Health --> |通过| Restart["PM2 重启服务"]
Health --> |失败| Rollback["回滚到备份"]
Restart --> Done(["发布完成"])
Rollback --> Done
图表来源
章节来源
多环境部署
生产环境使用宝塔面板管理 Nginx。
sequenceDiagram
participant Dev as "开发者"
participant Gogs as "Gogs 仓库"
participant Nginx as "Nginx"
participant Py as "webhook-deploy.py"
participant Sh as "deploy.sh"
participant PM2 as "PM2"
Dev->>Gogs : 推送代码
Gogs->>Nginx : 触发 Webhook
Nginx->>Py : 转发请求
Py->>Sh : 执行部署脚本
Sh->>PM2 : 重启后端服务
PM2-->>Sh : 服务就绪
图表来源
章节来源
章节来源
部署脚本与服务
Nginx:反向代理与静态资源服务。
graph LR
FE_PKG["my-uniapp-vue3/package.json"] --> FE_BUILD["H5 构建"]
BE_PKG["server/package.json"] --> BE_COMPILE["编译产物"]
BE_COMPILE --> PM2
FE_BUILD --> NGINX
PM2 --> NGINX
NGINX --> CLIENT["客户端访问"]
图表来源
章节来源
章节来源
本版本管理文档以仓库现有部署与自动化脚本为基础,建立了从分支模型、版本号规范到发布与回滚的完整闭环。通过 PR 流程、代码审查与自动化测试,确保发布质量;通过 Webhook 与 PM2 实现一键部署与快速回滚,保障线上稳定性。建议在后续实践中补充 CI/CD 流水线与自动化测试覆盖率指标,持续优化发布效率与可靠性。