refactor(GOV-009): 彻底切换为仅源码部署

This commit is contained in:
2026-08-13 21:12:12 +08:00
parent ab48f06150
commit 47d0e0d248
35 changed files with 480 additions and 712 deletions
@@ -92,7 +92,7 @@ count += 1;
- 只有 `*.env.example` 可以提交;真实 `.env`、`*.env.local`、密码、Token 和 API Key 必须被 Git 忽略并由运行环境注入。
- Web 只能使用公开的 `VITE_*` 变量。数据库、Redis、RocketMQ、数据源和 AI 凭据禁止进入前端变量或构建产物。
- MySQL、RocketMQ、正式数据源与 AI 使用显式功能开关;关闭时连接变量可为空,开启后缺少任何必填值都必须拒绝启动。
- Docker Compose 与源码部署必须复用同一变量契约,禁止为某种部署方式建立语义不同的别名。
- 开发源码进程与 Ubuntu 生产源码部署复用同一变量契约;项目脚本不得安装、启动、停止或删除 Redis、MySQL、RocketMQ 等外部基础设施。
- 生产配置必须位于发布目录之外,切换应用版本不得覆盖配置;日志和诊断输出必须对配置值脱敏。
## 9. 前端规范
@@ -116,7 +116,7 @@ count += 1;
## 11. MySQL 5.7 兼容规范
- 开发、测试、Docker 和生产环境统一使用 MySQL 5.7.42,禁止使用其他 5.7 补丁、`latest`、MySQL 8.x 或其他数据库代替兼容性验证。
- 开发、测试和生产环境统一使用 MySQL 5.7.42,禁止使用其他 5.7 补丁、`latest`、MySQL 8.x 或其他数据库代替兼容性验证。
- 创建数据库必须显式声明 `DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci`;建表与迁移脚本必须显式保持 `DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci`。
- ORM 和数据库驱动必须声明 `utf8mb4`,连接建立后验证会话、数据库和表的排序规则为 `utf8mb4_general_ci`,不得依赖服务器默认值。
- 文本列默认继承表级规则。列级改变字符集或排序规则必须由具体功能设计解释,并通过 ADR 审批。
+3 -2
View File
@@ -84,7 +84,8 @@ npm run governance:finish -- FEAT-MO-001 market-overview
- 发布说明和回退方法可执行。
- 中文提交已关联功能编号。
- 当前分支和本次新建标签已推送到 `origin`,功能档案保存远程核对结果。
- 配置契约变化已同步开发/生产模板和适用的 Compose、systemd、Nginx及部署文档。
- 配置契约变化已同步开发/生产模板、systemd、Nginx 和源码部署文档。
- `pnpm verify:release` 源码发布门禁通过;外部基础设施不可达时按前置条件失败,不得由项目脚本启动替代服务。
- 下一版本开发前所需的上一发布版本 Schema 基线已验证、独立提交并推送 Gitea。
## 7. 数据库 Schema 基线
@@ -132,6 +133,6 @@ git push origin <本次标签名>
- 使用语义化版本和带注释 Git Tag。
- 发布产物必须对应确定提交,不从浮动分支临时构建。
- 应用优先通过部署上一不可变镜像回退。
- 应用通过把 `/opt/a-share-analysis/current` 原子切回上一完整不可变发布目录并重启 systemd 服务回退。
- 数据库采用可兼容迁移和前向修复,破坏性回滚需先备份和演练。
- 规则、提示词和消息契约发布后不得原地覆盖,只能新增版本。