Files
cms-SiteForge/docs/V8_16_PRODUCTION_ACCEPTANCE.md
浅念 601451f22b upgrade: adopt V8.21.3 (V8.13→8.21.3: P5 SFTP/S3, P6 multilingual, editor overhaul, enterprise hardening)
Overlay ~150 upstream items onto our V8.12 base, preserving trade-pro
theme, registry tests, and design docs. Re-applied our patch set
(discovery/env_for/blocks.css/type-mapping/theme_color/frontend entries,
test_theme_pro_v3 mods) — all anchors survived upstream evolution.

New platform enhancement (fixes upgrade-introduced regression):
multilingual.site_locale now honors settings_json.locale, plus
PUT /api/i18n/sites/{id}/locale — standalone English sites get
<html lang='en'> under the V8.15 locale-rewrite pipeline.

compose: adopt V8.21.3 (image 8.21.3-dev.1, /api/ready probes, MySQL/S3
env) with project name pinned to siteforge-v8-10 (data volumes).

Tests: 356 passed / 11 failed — all 11 confirmed pre-existing in
pristine V8.21.3 on this host (10 upstream Windows env + our build test
now green after locale fix). Patch registry updated in plan doc.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-23 12:31:03 +08:00

4.0 KiB
Raw Permalink Blame History

SiteForge Enterprise V8.16 — 企业部署基础验收记录

版本:8.16.0-dev.1;阶段:开发集成(非生产认证)。

本轮新增与测试门禁

验收项 验证路径 当前结果
PostgreSQL 查询行数字/字段访问 tests/test_production_v816.py 本地模拟测试通过
PostgreSQL SQL 占位符、注释及 DDL 分句 同上 本地单元测试通过
PostgreSQL 初始化及 schema ledger scripts/verify_pg_bootstrap.py 脚本已扩展;需要 PostgreSQL 实例实测
PostgreSQL Worker FOR UPDATE SKIP LOCKED、事务与任务恢复 CI postgres-smoke 自动检查代码已接入;本机没有 PG 服务,未实际通过
Worker 按实例隔离心跳 tests/test_production_v816.py 本地通过
/api/ready 探针成功/失败及脱敏 tests/test_production_v816.py 本地通过
全平台自动化回归 scripts/check.sh 按模块三组通过:95+82+78 = 255 项
HTTP + Worker 实际建站链路 python scripts/http_end_to_end.py 本地通过:建站、保存、队列、静态 ZIP、预览
Chromium 桌面/移动端真实交互 scripts/browser_smoke.py 环境阻断:ERR_BLOCKED_BY_ADMINISTRATOR,未通过
Docker Engine Web + Worker docker compose up -d --build 本机无 Docker Engine,未运行
Redis 通知故障降级 历史单元测试 通过;真实 Redis 容器未运行
Art Design Pro 官方构建 用户提供官方完整源码后执行 pnpm/构建 未完成;交付包含安装脚本/适配页面,不含官方完整项目
公网 SFTP/S3/HTTPS 上线和回滚 独立预生产环境 未完成

说明:单进程连续执行所有 pytest 在约 84% 时超时;上述 255 项是三个独立 pytest 进程(95/82/78)分别完成并通过,不等同于单进程全量成功。新增真实 HTTP 集成构建了 10 个 HTML 页面,仍有缺少正式域名、未填充栏目内容的质量警告;只证明代码路径畅通。

生产环境验收操作建议(必须在预生产进行)

  1. 对 V8.15 的 SQLite 数据卷和所有媒体、归档、发布目录做完整备份,先演练恢复;保留生产回退窗口。
  2. 在独立 PG 16+ 测试数据库执行 scripts/verify_pg_bootstrap.py。验证 Web、Worker 启动与并发 claim;不把原 SQLite 文件当作 PostgreSQL 数据迁移。SQLite → PG 的正式数据迁移、外键校验、内容数量和媒体对账还未实现为可一键生产执行的迁移器。
  3. docker compose -f compose.enterprise.yaml config、up -d --build,分别核对 Web /api/ready、Worker 本地健康以及 PostgreSQL/Redis 服务健康。
  4. 将两个 Worker 实例分别配置唯一的 SITEFORGE_WORKER_INSTANCE,断开其中一个,确认另一个健康状态不会使坏实例误报正常;断电中断后要检查租约回收与远程发布状态对账。
  5. 用完整真实数据做创建网站、WordPress 迁移、5000 条产品导入、构建、主题预览和多语言 SEO 检验。在 Chromium 1440/1024/390/360 视口进行后台与前台访问性/响应式验证。
  6. 在预生产的实际 SFTP/S3/HTTPS Agent 发布,逐步演练上传失败、激活失败、CDN 缓存、健康检查失败及人工回滚;审批人与执行人分离。
  7. 获取合法的 Art Design Pro 官方工程后执行 scripts/install_into_art_design_pro.py,完成实际路由/会话/CSRF 联调及 pnpm build。目前属于可选桥接,不要把它计为完成。

风险边界

  • PostgreSQL 兼容桥目前在 PG + Psycopg 真机上仍需完整持续验证,不能因为 SQLite 测试通过就宣称 PG 生产稳定。
  • Redis 当前主要用于任务唤醒,任务权威状态仍在数据库;并非完整的分布式消息可靠性交付。
  • SFTP/S3 原生发布已支持本地仿真,但公网环境、强制 TLS、服务端权限和切换时缓存行为仍需验收。
  • 新版未添加 SSO、MFA 或企业级集中监控系统,也未完成 Art Design Pro 官方源码集成。