4.0 KiB
4.0 KiB
Memind Portal 生产更新发布指南
2026-06-26 起,103 / Studio 正式禁止
rsync发布。
Portal 生产必须是无源码 runtime 模式,唯一合法入口是bash scripts/release-portal-runtime-prod.sh。 每次发包前先读:发包必看。
当前规则
- 构建只发生在本机 Mac:
node scripts/build-portal-runtime.mjs。 - 103 只接收
.runtime/portal/打出来的 artifact,不直接覆盖源码树。- 所有由 goosed 以 stdio 启动的 Portal MCP 入口都必须打进 artifact,并同时加入发布脚本的必需文件和容器可见性检查;当前包括
mindspace-sandbox-mcp.mjs与tkmind-search-mcp.mjs。
- 所有由 goosed 以 stdio 启动的 Portal MCP 入口都必须打进 artifact,并同时加入发布脚本的必需文件和容器可见性检查;当前包括
- 103 在切换前必须做
Memind全量备份,并单独备份持久目录。 - 103 禁止
npm install、npm run build、在线改源码后继续运行。 - 切换后必须通过 Portal 健康检查;失败立即回滚。
补充:
103 / Studioruntime 发布入口:bash scripts/release-portal-runtime-prod.sh105runtime 发布入口:bash scripts/release-portal-runtime-105.sh- 两者都必须是 runtime artifact,不要直接发源码树
105与103的关键差异是:105为 Linux 环境,不要携带本机 Mac 的node_modules;应在105切换前本机执行npm install --omit=dev --no-package-lock
唯一入口
bash scripts/release-portal-runtime-prod.sh --dry-run
bash scripts/release-portal-runtime-prod.sh
如果目标环境是 105:
bash scripts/release-portal-runtime-105.sh --dry-run
bash scripts/release-portal-runtime-105.sh --yes
产物发布流程
- 本地 commit 当前改动。
- 本机构建 runtime:
node scripts/build-portal-runtime.mjs(发布脚本默认会自动执行)。 - 校验 artifact 至少包含:
server.mjs、mindspace-sandbox-mcp.mjs、dist/、scripts/run-memind-portal-prod.sh。 - 本地生成
memind-portal-runtime-<release-id>.tar.gz和发布清单。 - 通过
scp上传到 103 的incoming/memind-portal-runtime/。 - 103 备份当前
/Users/john/Project/Memind全目录 + 持久目录。 - 停止旧 Portal,解包 runtime artifact 到新的 live 目录,继承
.env/data//users//.tailscale//public/plaza-covers//logs/。/Users/john/MindSpace是独立 MindSpace Service 根目录,不随 Portal runtime 解包;/Users/john/Project/Memind/MindSpace只作为旧链路兼容/存量目录看待。 - 更新 LaunchAgent 指向
${APP_DIR}/scripts/run-memind-portal-prod.sh。 - 启动 Portal,检查
127.0.0.1:8081/api/status为 200。 - 旧源码 live 目录移入
archives/,线上不再保留可运行源码树。
105 runtime 发布差异
105 当前不是 launchd,而是 systemd 服务:
goose-h5.service
WorkingDirectory=/root/tkmind_go/ui/h5
EnvironmentFile=/root/tkmind_go/ui/h5/.env
ExecStart=/opt/node/bin/node /root/tkmind_go/ui/h5/server.mjs
所以 105 发布时要额外满足:
- 保留
.env/MindSpace//data//users//logs//public/plaza-covers/ - 远端切换前在新的 runtime 目录执行 Linux 依赖安装
- 最终用
systemctl restart goose-h5拉起服务 - 健康检查目标是
http://127.0.0.1:8080/api/status
禁止事项
- 禁止
rsync_to_server.sh - 禁止
bash scripts/release-prod.sh(源码包发布已停用) - 禁止手工拖文件覆盖 103
- 禁止在 103 直接改源码后继续跑
- 禁止 SSH 到 105 直接改业务源码(含
scripts/wechat-mp-menu.mjs);见 105 服务器变更规范 - 禁止跳过备份和健康检查