601451f22b
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>
2.7 KiB
2.7 KiB
SiteForge Enterprise V8.14 — P5 原生发布验收记录
版本:8.14.0-dev.1。本版在 V8.13 上添加 SFTP / S3 原生发布适配器、只读 S3 发布指针网关、统一发布目标状态与回滚入口。
本轮已实现且有确定性测试覆盖
| 能力 | 实际实现 | 测试边界 |
|---|---|---|
| 默认 HTTPS 签名 Agent 向后兼容 | 原发布 API、队列、签名与审批不变 | 继承 V8.13 专项回归 |
| SFTP 主机密钥校验 | Paramiko RejectPolicy + 必须预置 known_hosts 和 SSH 私钥文件 | 配置与仿真 SFTP 文件系统测试,未真实握手 |
| SFTP 不可变目录与原子激活 | 分版本目录、SHA256 manifest、原子符号链接切换与回滚 | 本地仿真、注入损坏/探针失败;OpenSSH 实机待验收 |
| S3 分版本对象上传 | 不变对象键、SHA256 内容校验、条件写入 current.json | FakeS3 条件语义测试,真实 AWS API 待验收 |
| S3 网站读取服务 | 只读 gateway 根据版本指针解析站点资源,不直接曝光存储凭据 | ASGI TestClient + FakeS3 测试 |
| 远端失败恢复 | 上传/校验失败保持旧版本;探针失败尝试恢复前一版本 | 本地故障注入测试 |
| 审批、Worker、部署记录 | 原 API 选择后端、异步执行、记录发布与回滚 | 自动化测试 |
| 后台展示 | 新增发布类型/目标配置状态、已发布版本回滚按钮 | JS 语法与组件级回归,真实浏览器待验证 |
| 依赖与 Docker | 添加 boto3/Paramiko 完整依赖与 Compose 使用示例 | 配置审查;无 Docker Engine 实机验证 |
不应宣称已完成的事项
- SFTP 真实 SSH/TLS、主机指纹、私钥权限与 OpenSSH 原子扩展实测;环境中无法安装 Paramiko 验证真实服务器操作。
- AWS/S3 真实凭据、桶 IAM、S3-compatible 条件写入能力及 CDN/域名部署。
- Docker 单机真实启动、Linux CI 云端执行、浏览器桌面/移动端流程、各生产环境实际回滚演练。
- 发布切换瞬间 Worker 崩溃的跨系统状态对账、长时间任务协调、完整运维监控、缓存刷新和 DNS 自动化。
后续门禁
- 实际 Docker Compose clean room 部署+版本核查;两个账户完成一次分权审批。
- SFTP 容器夹具:上传、异常断网、错误 host key、目录符号链接攻击、原子切换和回滚。
- MinIO/S3 实机夹具:不可变对象校验、并发指针更新、被篡改对象、只读网关、旧版本回滚。
- 正式测试域名:主页、产品详情、404、canonical、sitemap、robots、媒体、缓存状态、安全响应头。
- 中断/重试后远端实际 current 与数据库发布历史 reconciliation;完成后才能标记 P5 生产通过。