整理内容: - 删除 60+ 临时测试输出文件 (*.txt) - 移动二进制文件到 bin/ 目录 - 移动 Shell 脚本到 scripts/ 目录 - scripts/dev/: check_gitea.sh, check_sub2api.sh, run_tests.sh - scripts/deploy/: deploy_*.sh, simple_deploy.sh - scripts/ops/: fix_nginx.sh, fix_ssl.sh, install_docker.sh - scripts/test/: test_*.sh, test_*.bat - 移动批处理文件到 scripts/ - 移动 Python 脚本到 tools/ - 清理临时日志文件 保留根目录必要文件: - go.mod, go.sum, go.work - Makefile, docker-compose.yml - .env.example, .gitignore - README.md, AGENTS.md, DEPLOY_GUIDE.md 验证: go build ./... && go test ./... 通过
3.2 KiB
3.2 KiB
生产级发布清单
版本:3.0
更新时间:2026-04-02
本清单用于发布前、发布后和对外表述前的最后核查。
0. PR 提交前检查(必须通过)
0.1 分支与提交
- 功能分支从
main最新状态拉取 - 每个提交是可独立验证的最小单元
- 提交信息格式:
类型: 简短描述
0.2 代码审查
- 至少 1 人完成代码审查
- 所有 🔴 阻塞问题已修复
- 所有 🟡 建议问题已有修复计划
0.3 验证矩阵
- 后端:
go test ./... -count=1通过 - 后端:
go vet ./...通过 - 后端:
go build ./cmd/server通过 - 前端:
npm.cmd run lint通过 - 前端:
npm.cmd run build通过 - 前端:
npm.cmd run test -- --run全绿(如改动前端代码) - 真实浏览器 E2E:
npm.cmd run e2e:full:win通过(如涉及认证/导航/主流程)
0.4 文档
- PR 描述包含变更目的、验证命令及结果、影响范围
- API 文档已更新(如改动 API)
docs/status/REAL_PROJECT_STATUS.md已同步更新(如改变真实结论)
1. 发布前必须完成
1.1 代码与构建
go test ./... -count=1go vet ./...go build ./cmd/servercd frontend/admin && npm.cmd run lintcd frontend/admin && npm.cmd run build
1.2 真实浏览器验证
cd frontend/admin && npm.cmd run e2e:full:win- 本轮改动涉及认证、路由、导航、弹窗、防线或主流程时,不得跳过真实浏览器回归
1.3 运行时规则核查
- 非测试代码中无
panic - 运行时无 mock provider / fake success 路径
smoke仅用于诊断,不是运行时依赖- 敏感接口仍带
no-store等防缓存头 - 邮件、短信、文件上传、外部调用均为 fail closed
1.4 配置与安全核查
- release 模式下无占位密钥
- release 模式下无 localhost OAuth 回调
- release 模式下无
*CORS 放行 - 真实密钥来自环境变量或密钥管理系统
2. 可选但建议同时检查
cd frontend/admin && npm.cmd run test:run- 已同步检查
docs/status/REAL_PROJECT_STATUS.md - 已同步检查是否需要补证据文档
3. 不能夸大的结论
满足本清单,不等于自动满足以下结论:
- 完整 OS 级自动化已闭环
- 真实第三方 OAuth live 验证已闭环
- 外部 Secrets/KMS 已闭环
- 多环境 CI/CD 密钥分发已闭环
- 跨历史版本 schema downgrade 回滚证据已闭环
如果上述材料未齐备,必须在发布说明中明确列为剩余缺口。
4. 当前项目的主验收路径
当前受支持的真实浏览器主验收路径:
cd D:\project\frontend\admin
npm.cmd run e2e:full:win
当前可诚实表述的边界:
- 已完成浏览器级真实 E2E 收口
- 未完成完整 OS 级自动化收口
5. 发布后 30 分钟内检查
- 核心登录/登出链路正常
- 后台主导航正常
- 关键日志无新增异常
- 无异常弹窗、popup、page error、401 回归
- 健康检查正常:
GET /healthGET /health/liveGET /health/ready