RELEASE OPERATIONS RULES

RELEASE OPERATIONS RULES

文件六:06_RELEASE_OPERATIONS_RULES.md

操作指南MD下载原文件
# 文件六:06_RELEASE_OPERATIONS_RULES.md # 构建、部署、上线、日志、备份与运维永久规则 版本:1.0 状态:长期有效 作用:确保项目不是“这台电脑能跑”,而是真正可部署、可维护、可恢复。 # 1. 上线不是上传代码 正式上线包括: - 构建。 - 配置。 - 部署。 - 启动。 - 健康检查。 - 监控。 - 日志。 - 备份。 - 恢复。 # 2. 开发与生产分离 必须区分: - development。 - production。 - 必要时: - test / staging。 # 3. 生产环境不得使用开发配置 禁止: - localhost API。 - 测试数据库。 - Debug模式。 - 测试账户。 - 开发Secret。 - Mock服务。 # 4. 环境变量管理 项目必须明确列出生产所需环境变量。 - 例如: ` APP_ENV API_BASE_URL DATABASE_URL JWT_SECRET 第三方服务Key ` # 5. 提供 .env.example 不能包含真实Secret。 # 6. 部署不能依赖开发者记忆 必须有文档说明: - 安装什么。 - 配置什么。 - 怎么启动。 - 怎么Build。 - 怎么部署。 # 7. Production Build必须成功 不能只有: - npm run dev - 能运行。 - 正式构建必须验证。 # 8. 干净环境验证 目标: - 新的环境拿到项目, - 按照文档, - 可以重新部署。 # 9. 依赖版本必须稳定 使用Lock文件。 - 不要生产环境随机获得新版本。 # 10. 数据库迁移必须可控 生产环境不得启动时无提示自动执行危险数据库修改。 # 11. 域名配置化 换域名不应修改大量源码。 # 12. HTTPS 正式外网网站原则上使用HTTPS。 # 13. HTTP重定向 正式环境合理配置: - HTTP → HTTPS。 # 14. 反向代理规则需要记录 如使用Nginx等: - API路径。 - 静态资源。 - 上传限制。 - 超时。 - WebSocket。 # 15. SPA必须检查刷新路由 例如: - /dashboard - 直接访问不能意外404。 # 16. 静态资源路径 Build后确认: - JS。 - CSS。 - 字体。 - 图片。 - 都可访问。 # 17. Source Map 生产环境根据需要决定是否公开。 - 不得无意识暴露大量源码信息。 # 18. 日志体系 至少应考虑: - 应用错误。 - 访问。 - 登录。 - 管理员操作。 - 关键业务。 # 19. 日志必须可定位问题 至少记录合理: - 时间。 - 事件。 - 结果。 - 错误标识。 # 20. 日志不能无限增长 需要: - 轮转。 - 归档。 - 清理策略。 - 避免占满磁盘。 # 21. 健康检查 正式长期运行服务建议提供Health Check。 - 检查: - 应用。 - 数据库。 - 关键依赖。 # 22. 服务异常恢复 考虑: - 程序崩溃。 - 服务器重启。 - 数据库短暂断开。 服务应有合理恢复机制。 # 23. 优雅关闭 服务关闭: - 停止接受新请求。 - 处理必要任务。 - 释放数据库连接。 - 释放资源。 # 24. 备份原则 至少考虑: - 数据库。 - 用户上传。 - 关键配置。 # 25. 备份和代码仓库不是一回事 Git不能代替数据库备份。 # 26. 备份必须有周期 根据数据重要程度制定。 # 27. 备份必须有保留策略 避免: - 永远覆盖唯一一个备份。 # 28. 恢复比备份更重要 必须知道: - 数据库怎么恢复。 - 文件怎么恢复。 - 配置怎么恢复。 # 29. 定期验证备份是否可用 不能只看到: - backup.zip - 就认为安全。 # 30. 发布前必须有检查清单 至少: - 代码提交完成。 - 依赖确认。 - 配置确认。 - 数据库确认。 - Build通过。 - 测试通过。 - 安全检查通过。 - 备份完成。 # 31. 上线前P0/P1必须处理 已知致命和高风险问题原则上不得带病上线。 # 32. 发布必须可回滚 重大更新前必须知道: - 如果失败怎么恢复旧版本。 # 33. 数据库变更必须有回滚/恢复思路 尤其不可逆修改。 # 34. 禁止上线时临时大规模重构 上线阶段目标是: - 稳定。 - 不是: - 顺便把架构改漂亮。 # 35. 上线后检查 必须验证: - 首页。 - 登录。 - API。 - 核心功能。 - 管理员。 - 静态资源。 - 数据库。 - 日志。 # 36. 生产环境错误不能只看用户反馈 需要日志和监控。 # 37. 第三方服务需要故障策略 例如: - AI服务挂了。 - 邮件服务挂了。 - 对象存储挂了。 系统应: - 合理降级。 - 明确提示。 - 避免整个网站崩溃。 # 38. 外部API必须配置超时 不能无限等待。 # 39. 重试必须有限制 禁止无限重试造成: - 请求风暴。 - 费用爆炸。 - 服务器压力。 # 40. AI服务成本保护 如使用收费模型: - 必须有: - 请求上限。 - Token上限。 - 并发控制。 - 异常成本保护。 # 41. 管理员操作应可追踪 尤其: - 删数据。 - 改权限。 - 封账号。 - 改配置。 # 42. 更新流程 推荐: - 备份 - ↓ - 部署新版本 - ↓ - 迁移 - ↓ - 启动 - ↓ - Health Check - ↓ - 核心流程测试 - ↓ - 确认上线 失败: - ↓ - 停止继续发布 - ↓ - 回滚 - ↓ - 检查日志 - ↓ - 恢复服务 # 43. 版本号 正式发布建议建立: - 版本号。 - 发布时间。 - 主要修改。 例如: - v1.0.0 - v1.0.1 - v1.1.0 # 44. CHANGELOG 重要版本记录: - 新增。 - 修复。 - 安全修改。 - 兼容问题。 - 数据库修改。 # 45. 生产环境禁止随手改代码 正式变更必须: - 修改源码。 - 测试。 - Build。 - 发布。 - 而不是直接服务器现场手改。 # 46. 上线判定 只有满足: - 核心功能通过。 - Production Build通过。 - 权限通过。 - 安全无已知严重问题。 - 配置正确。 - 日志可用。 - 有恢复方案。 - 才能判定: - 【可正式上线】

六大规则共同执行协议

以下内容同时适用于全部六份文件。

A. AI每次任务开始前

先阅读:

  • 与当前任务有关的规则文件。
  • 如果任务涉及多个领域:
  • 全部读取。 例如:
  • 修改登录:
  • 必须读取:
  • 01_REQUIREMENTS_RULES.md
  • 03_ENGINEERING_RULES.md
  • 04_SECURITY_RULES.md
  • 05_TESTING_RULES.md 修改视觉:
  • 读取:
  • 01_REQUIREMENTS_RULES.md
  • 02_DESIGN_SYSTEM_RULES.md
  • 05_TESTING_RULES.md 准备上线:
  • 六份全部读取。

B. 规则冲突优先级

如发生冲突:

  • 安全与数据完整性 明确用户需求 产品规则 架构规则 设计规则 优化建议

C. AI不能自行修改规则

除非用户明确要求:

  • “修改规则文件”。
  • 否则:
  • 这些文件只读。

D. 现有项目与规则冲突怎么办

不得为了符合规则立即大规模重写。

  • 先输出:
  • 规则:
  • 当前实现:
  • 差异:
  • 严重程度:
  • 建议迁移方式: 再决定是否修复。

E. 每次修改之前

先回答自己:

  • 我正在解决什么问题?
  • 哪些文件必须修改?
  • 哪些文件不应该碰?
  • 是否涉及数据?
  • 是否涉及权限?
  • 是否影响API?
  • 是否影响UI?
  • 如何验证?

F. 每次修改之后

必须检查:

  • 代码是否能运行。
  • 是否引入新错误。
  • 相关功能是否正常。
  • 是否影响其他模块。
  • 是否需要更新文档。

G. 禁止假完成

以下情况不得说:

  • “全部完成”。
  • 仍有未测试。
  • 仍有报错。
  • Build失败。
  • 接口未验证。
  • 缺少环境。
  • 第三方服务没测试。 应明确:
  • 已完成:
  • 未完成:
  • 无法验证:
  • 风险:

H. 修改范围原则

永远优先:

  • 小范围。
  • 可验证。
  • 可回滚。
  • 低耦合。 而不是:
  • 一次改几十个无关文件。

I. 项目长期目标

本项目必须尽量保持:

  • 可理解。
  • 可修改。
  • 可维护。
  • 可测试。
  • 可部署。
  • 可恢复。
  • 可扩展。
  • 安全。 最终目标不是:
  • “AI这次把它跑起来了。”
  • 而是:
  • “即使换一个AI、换一台电脑、换一个开发者,这个项目依然能够继续维护。”

AI任务统一结束报告模板

每一次AI开发任务结束,都使用:

本次任务

修改文件

新增文件

删除文件

修改功能

配置变化

依赖变化

数据库变化

安全影响

实际测试

Build状态

未验证内容

已知问题

后续建议

最后只能使用:

  • ✅ 完成并验证
  • ⚠️ 完成但仍有未验证项目
  • ❌ 未完成
  • 三种结论之一。