服务端文档入口 ============== 你第一次打开 update-server/Docs 时,先看这一份。这里告诉你每份文档是干什么的,以及部署、测试、维护分别该看哪一份。 文档阅读顺序 ============ 1. 01-服务端Docker打包部署指南.md 适合部署和运维。说明 Docker 离线包里有什么、怎么打包、怎么部署、.env 每个字段怎么填、怎么查看日志和备份数据。 2. 02-崩溃报告接口联调指南.md 适合测试人员、客户端崩溃上报接入人员。说明 CRASH_REPORT_TOKEN、CRASH_SYMBOL_TOKEN、CRASH_ADMIN_TOKEN 分别怎么用,并给出可直接复制的 curl 示例。 3. 03-后端工程化结构说明.md 适合后端维护人员。说明当前 FastAPI 后端如何按 routes/services/repositories/schemas 分层,以及后续工程化方向。 常用任务入口 ============ 如果你已经拿到 `SimCAEServerDockerPackage.tar.gz`,直接看: ```text 01-服务端Docker打包部署指南.md 的“三、使用者:最小部署流程” ``` 如果你要重新生成 Docker 离线部署包,执行: ```bash cd update-server bash ./scripts/package-offline-server.sh --version 0.1.0 --output-dir ./dist/SimCAEServerDockerPackage ``` 常用源码入口: - main.py:服务启动、数据库初始化、MinIO 初始化、全局客户端鉴权。 - app/api/routes/:管理后台、客户端更新、崩溃报告等 HTTP 路由。 - app/services/:业务逻辑。 - app/repositories/:SQLite 数据库读写。 - admin-ui/:新版管理后台前端源码。 - scripts/package-offline-server.sh:生成服务端 Docker 离线部署包。 本地自动化测试: ```bash cd update-server ./venv/bin/pip install -r requirements-dev.txt ./venv/bin/python3 -m pytest -q ``` 当前测试会自动创建临时数据库、临时签名密钥和临时存储目录,不会改动本地 `mini.db`、`.env` 或真实上传文件。覆盖范围包括管理员登录/JWT、应用创建、License 创建设备登记、更新检查、发布入库/文件存储回退、崩溃报告上传幂等和管理员查询。 本地源码启动: ```bash cd update-server ./venv/bin/python3 main.py ```