Document gadm release flow

This commit is contained in:
john
2026-06-20 15:41:22 +08:00
parent 44e962e270
commit cb51b94f2c
3 changed files with 148 additions and 1 deletions
+9
View File
@@ -47,6 +47,15 @@ pnpm open:plaza # 浏览器打开 https://plaza.tkmind.cn/plaza
公网 `https://plaza.tkmind.cn` 经 Cloudflare Tunnel 回源本机 `:3001`,需保持 `pnpm start:plaza` 运行。
## gadm / memind_adm
管理后台和运维接口说明见 **[docs/gadm-local.md](docs/gadm-local.md)**。
| 服务 | 地址 |
|------|------|
| memind_adm | http://127.0.0.1:8082 |
| ops 审核后台 | http://127.0.0.1:3002/ops/ |
## 常用脚本
| 命令 | 说明 |
+110
View File
@@ -0,0 +1,110 @@
# gadm 由 105 入口转发到 Studio
`gadm.tkmind.cn` 的生产链路和 Plaza 一样,都是 `105 入口 -> Studio 生产机`
这里的后台服务名是 `memind_adm`,代码入口在本仓库的 `admin-server.mjs`
## 角色拆分
```text
浏览器 / 内部管理人员
105 公网入口(gadm.tkmind.cn
↓ nginx / 反代
Studio / 本机生产机
└─ memind_adm :8082admin-server.mjs
├─ /healthz
├─ /admin-api/*
└─ /api/ops/v1/*
```
`memind_adm` 只负责后端管理 API,不直接托管大部分前台页面。
开发时,`ops/` 里的后台 SPA 会把请求代理到它;生产上则由 `gadm.tkmind.cn` 入口把请求转给 Studio。
## 本地开发
```bash
pnpm dev:adm
```
默认监听 `http://127.0.0.1:8082`
常见本地访问地址:
| 服务 | 地址 |
|------|------|
| memind_adm | http://127.0.0.1:8082 |
| ops 后台 | http://127.0.0.1:3002/ops/ |
## 测试机同步
如果要同步到测试目录,`memind_adm` 对应的是:
- 源码目录:`/Users/john/PycharmProjects/test/test-memind`
- 测试镜像目录:`/Users/john/PycharmProjects/test/test-memindadm`
同步脚本:
```bash
bash scripts/deploy-to-test-host.sh --only-adm
```
如果你要同步三套目录,也可以直接:
```bash
bash scripts/deploy-to-test-host.sh
```
## 生产发布流程
生产上,`gadm.tkmind.cn` 解析到 105,105 只做反代,最终回源到 Studio 上的 `memind_adm`
### 1. 在 Studio 上更新代码
推荐从本地开发目录发布到 Studio:
```bash
cd /Users/john/PycharmProjects/test/test-memind
git status --short
```
如果你改的是 `admin-server.mjs``admin-routes.mjs``admin-*.mjs``ops/`,记得先本地自测。
### 2. 启动 / 重启 `memind_adm`
```bash
cd /Users/john/Project/Memind
pnpm dev:adm
```
如果你们的生产环境是 launchd、pm2、systemd 或别的守护方式,就让它最终执行同一个入口:
```bash
node admin-server.mjs
```
### 3. 105 入口反代
105 上的 nginx 应该把 `gadm.tkmind.cn` 回源到 Studio 的 `memind_adm :8082`
上线后优先验证:
```bash
curl -I https://gadm.tkmind.cn/healthz
curl -s https://gadm.tkmind.cn/healthz
```
## 故障排查顺序
如果 `gadm.tkmind.cn` 挂了,按这个顺序查:
1. Studio 上 `http://127.0.0.1:8082/healthz` 是否正常
2. Studio 上 `memind_adm` 是否还在运行
3. 105 上 nginx 是否把 `gadm.tkmind.cn` 转发到了 Studio
4. `ADMIN_CONSOLES``ADMIN_API_ALLOWED_HOSTS``OPS_API_ALLOWED_HOSTS` 是否限制过严
## 相关文件
- [`admin-server.mjs`](/Users/john/PycharmProjects/test/test-memind/admin-server.mjs)
- [`scripts/deploy-to-test-host.sh`](/Users/john/PycharmProjects/test/test-memind/scripts/deploy-to-test-host.sh)
- [`scripts/local-test-proxy.mjs`](/Users/john/PycharmProjects/test/test-memind/scripts/local-test-proxy.mjs)
+29 -1
View File
@@ -254,7 +254,35 @@ pnpm deploy:plaza-105
依赖 goose-h5 已部署(`pnpm deploy:105` 或全量 rsync)。详见 [Plaza 本机部署](./plaza-local.md)。
### 10.3 已废弃 / 不可用
### 10.3 gadm / memind_adm
`gadm.tkmind.cn``memind_adm` 的生产入口,当前流程和 Plaza 一样也是:
```text
本地开发目录 -> Studio 生产机 -> 105 入口反代 -> 公网域名
```
开发入口:
```bash
pnpm dev:adm
```
测试机同步:
```bash
bash scripts/deploy-to-test-host.sh --only-adm
```
生产发布时优先检查:
1. Studio 上 `http://127.0.0.1:8082/healthz`
2. 105 上 `gadm.tkmind.cn` 反代是否指向 Studio
3. `ADMIN_CONSOLES` / `ADMIN_API_ALLOWED_HOSTS` / `OPS_API_ALLOWED_HOSTS`
详细说明见 [gadm 入口与发布](./gadm-local.md)。
### 10.4 已废弃 / 不可用
| 命令 | 状态 |
|------|------|