1
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
2026-04-30 00:27:07 +08:00
parent 7fd900543a
commit 3bfaa303cb
5 changed files with 76 additions and 12 deletions

View File

@@ -156,7 +156,7 @@ npm run spacetime:publish:maincloud -- --database xushi-p4wfr
Ubuntu 发布包的 `start.sh` 与 Jenkins `Genarrative-Deploy` 也采用同一套迁移 procedure但迁移触发点在部署目录内
1. Jenkins 覆盖部署前,如果旧部署目录存在 `migration-bootstrap-secret.txt`,先保存到 `run/migration-bootstrap-secret.previous.txt`
1. Jenkins 覆盖部署前,如果旧部署目录存在 `migration-bootstrap-secret.txt`,先保存到 `deploy-state/migration-bootstrap-secret.previous.txt`旧密钥快照属于部署状态,不再写入 `run/`,避免 `sudo` 启停脚本生成的 root 私有运行目录阻断后续覆盖部署。
2. Jenkins 复制新发布包,包含新 wasm、新 `migration-bootstrap-secret.txt``scripts/spacetime-*.mjs` 迁移脚本。
3.`start.sh` 先不清库发布当前包内 `spacetime_module.wasm`
4. 如果发布成功,流程结束。
@@ -172,7 +172,7 @@ Jenkins 参数 `CLEAR_DATABASE=true` 或手工执行 `./start.sh --clear-databas
自动迁移依赖两个引导密钥:
- 导出旧库:优先使用 `run/migration-bootstrap-secret.previous.txt`,也就是旧模块编译时注入的密钥。
- 导出旧库:优先使用 `deploy-state/migration-bootstrap-secret.previous.txt`,也就是旧模块编译时注入的密钥。
- 导入新库:使用当前发布包 `migration-bootstrap-secret.txt`,也就是新模块编译时注入的密钥。
如果不是通过 Jenkins 部署脚本覆盖发布包,而是手工替换文件,必须在覆盖前保留旧 `migration-bootstrap-secret.txt`;否则旧库迁移 procedure 可能无法授权导出。