2.3 KiB
2.3 KiB
模拟部署与最新构建
已确认要求
- 源码继续放在
backend/、frontend/。 - 生产、开发模拟部署均使用
yunx-test/,禁止把out/当运行目录。 - 配置固定为
config/中的五个 JSON;证书及加密密钥归ssl/;数据库归data/;日志归log/。 - 保留独立的
smail、smail-admin。Windows 使用.exe后缀。 - 前端开发仍使用原源码目录的 Vite 热更新。
- 不清空现有业务库,不删除原证书、密钥及历史备份。
当前任务状态
[✓]修改前的文档基线已提交并推送。[✓]源码指纹和产物 SHA-256 校验已加入构建、部署入口。[x]开发启动入口固定使用yunx-test,移除跳过编译选项,等待迁移后运行复审。[x]Vite 仅在服务端从yunx-test/config读取域名、证书引用,等待真实页面复审。[~]完整构建、最新产物部署和回归验证。[ ]配置事务与历史备份改存状态数据库。[ ]密钥、TLS、DKIM、ACME 和审计日志迁到最终目录。[ ]内置插件合并进发布产物并保持隔离机制。[ ]停服备份、无损迁移到yunx-test。[ ]新目录开发、生产模拟运行和浏览器验收。
已实现入口
完整构建并部署二进制,不覆盖配置和数据库:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File deploy/deploy-runtime.ps1
完成运行数据迁移后,启动前后端:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File deploy/start-dev.ps1 -Service all
后端启动总是先完整编译、部署和校验。单独启动前端会校验当前源码与部署产物,不允许搭配过期后端。缺少迁移后的配置、账号库或密钥时拒绝启动,不会创建另一份空库。
构建收据保存在 out/build-state.json,不混入部署根目录。已有程序被覆盖前备份至 out/deployment-history/。历史前端编译目录归档至 out/build-history/,不删除生成物,也不将历次散列资源重复嵌入新程序。
验收边界
构建通过不代表目录迁移、登录持久化、插件、TLS 和管理员恢复通道均已验收。迁移完成前,不能使用旧布局的测试结果证明新布局正确。