feat: 收敛玩法运行时配置并加入故障恢复
This commit is contained in:
110
doc/config/配置发布说明.md
Normal file
110
doc/config/配置发布说明.md
Normal file
@@ -0,0 +1,110 @@
|
||||
# 配置发布说明
|
||||
|
||||
本文档说明当前项目如何把 `event/*.json` 配置同步到服务器。
|
||||
|
||||
## 1. 当前发布链路
|
||||
|
||||
当前客户端直接读取 OSS 上的静态配置:
|
||||
|
||||
- `classic-sequential`
|
||||
- 远端对象:`gotomars/event/classic-sequential.json`
|
||||
- 访问地址:`https://oss-mbh5.colormaprun.com/gotomars/event/classic-sequential.json`
|
||||
- `score-o`
|
||||
- 远端对象:`gotomars/event/score-o.json`
|
||||
- 访问地址:`https://oss-mbh5.colormaprun.com/gotomars/event/score-o.json`
|
||||
|
||||
对应加载入口见:
|
||||
|
||||
- [map.ts](D:/dev/cmr-mini/miniprogram/pages/map/map.ts)
|
||||
|
||||
## 2. 仓库内已有上传能力
|
||||
|
||||
项目根目录已有 OSS 上传脚本:
|
||||
|
||||
- [oss-html.ps1](D:/dev/cmr-mini/oss-html.ps1)
|
||||
|
||||
该脚本封装了 `tools/ossutil.exe`,默认 bucket 为:
|
||||
|
||||
- `oss://color-map-html`
|
||||
|
||||
依赖前提:
|
||||
|
||||
- 本机存在 [ossutil.exe](D:/dev/cmr-mini/tools/ossutil.exe)
|
||||
- 本机存在 `~/.ossutilconfig`
|
||||
|
||||
## 3. 推荐发布命令
|
||||
|
||||
项目根目录新增了专门的配置发布脚本:
|
||||
|
||||
- [publish-event-config.ps1](D:/dev/cmr-mini/publish-event-config.ps1)
|
||||
|
||||
它会在上传前执行这些检查:
|
||||
|
||||
- 本地配置文件是否存在
|
||||
- JSON 是否可解析
|
||||
- 是否包含 `schemaVersion`
|
||||
- 是否包含 `game`
|
||||
- 是否包含 `game.mode`
|
||||
|
||||
### 发布全部玩法配置
|
||||
|
||||
```powershell
|
||||
.\publish-event-config.ps1 all
|
||||
```
|
||||
|
||||
### 只发布顺序打点配置
|
||||
|
||||
```powershell
|
||||
.\publish-event-config.ps1 classic-sequential
|
||||
```
|
||||
|
||||
### 只发布积分赛配置
|
||||
|
||||
```powershell
|
||||
.\publish-event-config.ps1 score-o
|
||||
```
|
||||
|
||||
### 仅检查,不上传
|
||||
|
||||
```powershell
|
||||
.\publish-event-config.ps1 all -DryRun
|
||||
```
|
||||
|
||||
## 4. npm 快捷命令
|
||||
|
||||
也可以使用:
|
||||
|
||||
```powershell
|
||||
npm run publish:config
|
||||
npm run publish:config:classic
|
||||
npm run publish:config:score-o
|
||||
npm run publish:config:dry-run
|
||||
```
|
||||
|
||||
## 5. 当前默认映射关系
|
||||
|
||||
| 本地文件 | 远端对象 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `event/classic-sequential.json` | `gotomars/event/classic-sequential.json` | 顺序打点默认配置 |
|
||||
| `event/score-o.json` | `gotomars/event/score-o.json` | 积分赛默认配置 |
|
||||
|
||||
## 6. 维护约定
|
||||
|
||||
后续如果新增新玩法配置发布,建议同步修改以下位置:
|
||||
|
||||
1. [publish-event-config.ps1](D:/dev/cmr-mini/publish-event-config.ps1)
|
||||
2. [package.json](D:/dev/cmr-mini/package.json)
|
||||
3. [配置发布说明.md](D:/dev/cmr-mini/doc/config/配置发布说明.md)
|
||||
4. [配置文档索引.md](D:/dev/cmr-mini/doc/config/配置文档索引.md)
|
||||
5. 对应玩法目录下的样例配置说明
|
||||
|
||||
## 7. 后续演进方向
|
||||
|
||||
当前方案属于“本地校验 + 手动发布到 OSS”。
|
||||
|
||||
后续接入正式后台后,推荐演进为:
|
||||
|
||||
1. 后台装配并校验配置
|
||||
2. 后台生成发布版本
|
||||
3. 后台上传 OSS/CDN
|
||||
4. 客户端仍只读取静态 JSON
|
||||
Reference in New Issue
Block a user