NESTADeveloper
全部站点
DEVELOPER GUIDE · 05

部署机制

NESTA 的变更分流、制品构建、静态站同步与生产切换顺序。

生产发布以 Git 主干版本为单位。运行时应用与各静态站点按照受影响路径独立检查和构建,只有需要更新生产编排时才共同进入 Caddy 切换流程。

代码变更先识别影响范围,再并行构建运行时和静态站制品,随后先同步静态目录、再切换运行时与 Caddy,最后执行线上冒烟

变更分流

变更 主要流水线
Web、Gateway 或运行时依赖 Web 检查、Gateway 测试、运行时发布
产品思想或 Guide 实现 Guide 构建与发布
产品定义或 Product 实现 Product 构建与发布
UI 规范、共享 Token 或 Design 实现 Design 构建与发布,并触发受 Token 影响的站点
开发者文档或 Dev 实现 Dev 构建与发布
NESTA 注册表或导航实现 NESTA 主站构建与发布
Caddy、Compose 或发布编排 所有受影响制品检查后更新生产编排

构建制品

  • Web 生成浏览器应用制品;Gateway 生成与同一提交对应的容器镜像。
  • 每个静态站生成独立、完整、可校验的 dist 制品。
  • CSS、JavaScript、图像和共享 Token 使用内容哈希文件名,HTML 与 robots.txt 使用短缓存。
  • 构建和校验只读取 Git 中的来源,不依赖在线目录或上一次发布结果。

发布顺序

识别影响范围
  -> 并行检查与构建
  -> 生成并保存制品
  -> 创建并同步静态站目录
  -> 切换 Web/Gateway 与 Caddy(如需要)
  -> 检查全部受影响域名

首次增加静态域名时,必须先把完整制品同步到挂载目录,再让 Caddy 加载新虚拟主机。这样不会把空目录暴露到线上。后续仅修改某个静态站时,可以独立同步并冒烟,不需要重新发布 APP 或 Gateway。

发布边界

静态站点与 APP/Gateway 使用不同回滚边界:APP 通过不可变版本与指针切换回滚,静态站通过重新同步已验证制品恢复。发布脚本不得直接编辑线上文件,也不得把生产运行时状态提交到 Git。

具体 CI 门禁、命令和发布效率说明保留在 docs/ 工程资料中,不在公开开发者手册重复维护。