Files
cmr-mini/doc/config/配置发布说明.md

111 lines
2.7 KiB
Markdown

# 配置发布说明
本文档说明当前项目如何把 `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