71 lines
2.4 KiB
Markdown
71 lines
2.4 KiB
Markdown
# tools:channel id / 固定域名
|
||
|
||
本项目是 **coruna-lab-web**。构建域名由 CLI / build API 显式传入,不再读取 Laravel。
|
||
|
||
每次构建都会生成一份完整、互不共享的渠道目录:
|
||
|
||
1. 生成或使用 **32 位小写 `[0-9a-z]`** channel id
|
||
2. 从 source 复制 web、sync 模板
|
||
3. 同时重打 secondary、core、sync plugins 和 daily
|
||
4. 将首个 daily 请求及 daily 内模块 URL 绑定到当前渠道路径
|
||
|
||
```bash
|
||
cd coruna-lab-web
|
||
pip3 install -r requirements.txt
|
||
|
||
python3 frontend/tools/new_project.py \
|
||
--channel-id 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' \
|
||
--deployment-domains 'www.dep1.example,www.dep2.example' \
|
||
--reporting-domains 'www.rep1.example,www.rep2.example' \
|
||
--support-template test # test=HUD 进度页;blank=空白页
|
||
|
||
python3 frontend/tools/new_project.py \
|
||
--channel-id 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' \
|
||
--root '/srv/coruna-artifacts/staging/request-id' \
|
||
--force \
|
||
--deployment-domains 'www.dep1.example' \
|
||
--reporting-domains 'www.rep1.example' \
|
||
--support-template blank
|
||
```
|
||
|
||
`support_template`:`test`(默认,source 中带 HUD 的页面)或 `blank`(去掉 HUD,仅保留加载逻辑)。
|
||
|
||
产物:
|
||
|
||
- 默认:`artifacts/channel/<channel-id>/{web,sync,out}/`
|
||
- 指定 `--root`:`<root>/{web,sync,out}/`
|
||
- 渠道发布清单:`<root>/manifest.json`
|
||
- 静态 URL:
|
||
- `/channel/<channel-id>/web/support.html`
|
||
- `/channel/<channel-id>/sync/daily.html`
|
||
|
||
## 仅重建(已有渠道工作目录)
|
||
|
||
```bash
|
||
python3 frontend/tools/patch_all.py --apply --root /srv/coruna-artifacts/channel/<id> \
|
||
--channel-id 'dddddddddddddddddddddddddddddddd' \
|
||
--deployment-domains 'www.dep1.example,www.dep2.example' \
|
||
--reporting-domains 'www.rep1.example,www.rep2.example'
|
||
```
|
||
|
||
### Seed 格式
|
||
|
||
- ASCII,长度 ≤ 32(二进制槽位定长 32)
|
||
- 推荐正好 32 个十六进制字符
|
||
- `new_project` 默认按域名列表稳定派生 seed,也可显式传入
|
||
|
||
## 分步脚本
|
||
|
||
```bash
|
||
python3 frontend/tools/patch_secondary_packs.py \
|
||
--deployment-seed <32hex> --reporting-seed <32hex> \
|
||
--channel-id <id> \
|
||
--deployment-domains 'a.com,b.com' --reporting-domains 'c.com,d.com' \
|
||
--root /srv/coruna-artifacts/channel/<id> --apply
|
||
|
||
python3 frontend/tools/patch_core.py \
|
||
--deployment-seed <32hex> --reporting-seed <32hex> \
|
||
--channel-id <id> \
|
||
--root /srv/coruna-artifacts/channel/<id> --apply
|
||
```
|