集成部署与运维 · 发布控制台
22 个项目的产物接收校验、部署组映射、发布/回滚计划与状态聚合;本轮只做样板与清单,未部署、待授权。本地只读计算(不联网、不上传)
可用操作
产物接收校验
校验 deploy-manifest.json 的 11 个必填字段、版本、头配置、健康路径、根/子路径证据与静态包卫生;坏 manifest 被明确拒绝。
部署组映射校验
校验 C1–C5/U1–U9 的组→站点→部署形态映射:C1 三套独立 root、C3 无协作后端、C5 重点验 WASM 隔离头、U1 含 Postgres、U6/U7 私有。
发布计划(dry-run)
生成「新版本目录 → 健康检查 → 切换软链接/发布引用 → 失败回退」四步计划;保留至少一个上版,不用 K8s。
回滚计划(dry-run)
校验上版目录 → 原子切回上版 → 把失败版本保留为 previous → 保留诊断;无上版时返回 NO_PREVIOUS_RELEASE。
授权/凭据检查
检查 AL_DEPLOY_AUTHORIZED、AL_DEPLOY_TOKEN_REF(仅引用名)、本地密钥引用解析、DNS 授权与平台账号凭据;缺任一项即强制 dry-run。
22 项目状态聚合
把 PROJECTS.json 的 22 行聚合成状态表:域名→组→release 占位、状态上限 implemented/verified、产物接收结论;不标 staged/live。
真实示例与限制
本控制台不持有平台凭据、DNS 授权或真实账号。所有「部署成功」类断言一律禁止:publish/rollback 仅输出 dry-run 计划并标注「未部署/待授权」;manifest 校验只读取本地产物证据;isolated-app 只是声明,不代表响应头已生效。资源清单只存密钥引用名(如 CLOADY_TOKEN_REF),不存凭据值。状态上限为 implemented/verified,绝不标 staged/live。
FAQ
这里能真的发布站点吗?
不能。本轮无平台凭据、无 DNS 授权、无真实账号;publish.mjs 与 rollback.mjs 在无凭据时强制 dry-run 并输出「未部署/待授权」。真实发布须先在获得授权的环境中解析密钥引用、验证健康检查,再执行原子切换。
为什么清单里只有 CLOADY_TOKEN_REF?
资源清单只允许账号别名、应用 ID/位置、当前用途、可用容量与「密钥引用名」。引用名指向外部密钥存储,凭据值绝不进入源码、日志、产物或 URL。
产物接收校验器会拒绝未完成的项目吗?
不会崩溃。缺少 artifact/deploy-manifest.json 的项目标为 pending(未完成),已有 manifest 但字段/证据不合规才标 rejected,并逐条列出问题。
isolated-app 已经生效了吗?
未验证/待授权。manifest 里的 headersProfile 只声明需求;COOP/COEP 仅在 /app/ 执行区确实需要时配置,内容页、教程与广告脚本不继承隔离头。