feat: 统一 Client 发布产物命名 (#102)
This commit is contained in:
@@ -158,8 +158,9 @@ cd D:\chengma\cmautobuy\client
|
||||
```
|
||||
|
||||
第一次会在 `.build-venv/` 安装固定版本依赖,完成后产物位于 `release/`。发布时
|
||||
使用完整便携压缩包;`autobuy——manifest.json` 和更新压缩包留给版本发布与后续
|
||||
更新功能使用。不要把本机已有的 `data/` 塞进发布包。
|
||||
使用 `自动采集采购工具_<版本号>.zip` 完整便携压缩包;`autobuy_manifest.json`
|
||||
是在线更新固定入口,`autobuy_manifest_<版本号>.json` 用于归档,
|
||||
`CMAutoBuy_<版本号>.zip` 是更新包。不要把本机已有的 `data/` 塞进发布包。
|
||||
|
||||
## 11. 接下来读什么
|
||||
|
||||
|
||||
@@ -210,9 +210,16 @@ CMAutoBuy/ 整个文件夹拷到任何机器都能用
|
||||
数据库靠 `PRAGMA user_version` 自动迁移,见 [03](03-data-model.md) §2.3。完整便携包
|
||||
用于首次安装;更新包只包含 `app/`,不得包含 `data/`。
|
||||
|
||||
每次构建在 `client/release/` 生成更新包、完整便携包和
|
||||
`autobuy——manifest.json`。清单至少记录版本、文件名、字节大小和 SHA256;SHA256
|
||||
用于发现下载损坏,不等同于发布者身份认证。
|
||||
每次构建在 `client/release/` 生成以下发布文件:
|
||||
|
||||
- `CMAutoBuy_<版本号>.zip`:在线更新包;
|
||||
- `自动采集采购工具_<版本号>.zip`:带版本号的完整便携包;
|
||||
- `自动采集采购工具.zip`:与带版本号便携包内容完全相同的下载别名;
|
||||
- `autobuy_manifest.json`:Client 固定读取的在线更新清单;
|
||||
- `autobuy_manifest_<版本号>.json`:与固定清单内容完全相同的归档副本。
|
||||
|
||||
清单中的更新包和便携包都引用带版本号的文件名,并记录版本、字节大小和 SHA256;
|
||||
SHA256 用于发现下载损坏,不等同于发布者身份认证。
|
||||
|
||||
**在线更新:**设置页默认显示已确认的发布清单地址和账号,密码由操作人员首次
|
||||
填写并保存到 Windows 凭据管理器;URL 和账号作为非敏感设置保存在 SQLite,密码
|
||||
|
||||
@@ -226,7 +226,7 @@ Artifact 写入前应脱敏,数据库只保存引用。保留周期由设置
|
||||
| 5 | Mock Admin 契约测试通过 | Mock 和 HTTP 两个实现跑同一套测试 | 开发者 |
|
||||
| 6 | Windows 干净环境启动测试通过 | **未打包版本**:找一台没装过本项目的机器,照 [00 上手指南](00-getting-started.md) 从头走一遍。**已打包版本**:把整个文件夹拷到一台**没装 Python** 的机器上双击 `Launcher.exe` | 开发者 |
|
||||
| 6b | 升级不丢数据(仅打包版本) | 关闭程序并只换掉 `app/`,保留 `Launcher.exe` 和 `data/`;启动后任务、日志、设置都还在 | 开发者 |
|
||||
| 6c | 发布清单与产物一致 | `autobuy——manifest.json` 中的版本、文件名、字节大小和 SHA256 与实际压缩包一致,更新包中没有 `data/` | 开发者 |
|
||||
| 6c | 发布清单与产物一致 | `autobuy_manifest.json` 与对应版本化清单内容相同;其中版本、文件名、字节大小和 SHA256 与实际压缩包一致,更新包中没有 `data/` | 开发者 |
|
||||
| 6d | 在线更新和回退通过 | 使用上一版本目录检查新版本、下载、下次启动替换、健康标记、文件占用失败和自动回退;确认数据库未被覆盖 | 开发者 |
|
||||
| 7 | 日志和产物无敏感信息 | 翻一遍日志和 `artifacts/`,确认没有 token、Cookie、密码、收货人信息 | 开发者 |
|
||||
| 8 | 开源和商业许可证已确认 | 新增依赖的许可证是否允许本项目的使用方式 | **项目负责人**(不是开发者自己判断) |
|
||||
|
||||
Reference in New Issue
Block a user