Compare commits

...

1 Commits

Author SHA1 Message Date
cxk
dd29ead041 docs: 更新正式环境部署手册
Some checks are pending
CI / verify (push) Waiting to run
2026-07-21 15:31:21 +08:00

View File

@@ -1,6 +1,6 @@
# frontend-miniapp 正式环境部署手册
最后更新2026-07-15
最后更新2026-07-21
## 适用范围
@@ -35,6 +35,7 @@ git remote -v
正式环境当前依赖一组本地生产补丁,拉取远程代码前必须保护。常见补丁文件包括:
```text
.env.development
.env.production
src/config/dataSource.ts
src/data/adapters/guideDataAdapter.ts
@@ -49,19 +50,34 @@ static/guide-data/guide-stops.json
static/guide-data/manifest.json
```
这些文件中的改动属于正式环境本地补丁,拉取远程代码时不要直接丢弃。当前正式环境相关配置要点:
- `VITE_PUBLIC_SAME_ORIGIN_ASSET_HOST=172.20.14.21`,避免正式包混入测试服务器 `1.92.206.90`
- `VITE_EXPLAIN_ALLOW_STATIC_FALLBACK=true`,讲解数据接口异常时允许使用静态兜底数据。
- `VITE_SGS_SDK_ORIGIN=https://guide.sznhmuseum.org.cn`,正式域名不再使用 `:4430`
- `static/guide-data/manifest.json``sourceHost` 应为 `172.20.14.21`
- 腾讯地图正式 key 只通过环境变量 `VITE_TENCENT_MAP_KEY` 注入,不能写入文档或提交记录。
## 拉取远程最新代码
先临时保存本地生产补丁:
```powershell
$stamp = Get-Date -Format 'yyyyMMddHHmmss'
$msg = "pre-deploy-local-prod-fixes-$stamp"
$msg = "pre-deploy-prod-local-fixes-$stamp"
if (git status --porcelain) {
git stash push -u -m $msg
Write-Output "STASHED=$msg"
}
```
执行成功时会看到类似输出,表示本地补丁已 stash
```text
Saved working directory and index state On master: pre-deploy-prod-local-fixes-YYYYMMDDHHmmss
STASHED=pre-deploy-prod-local-fixes-YYYYMMDDHHmmss
```
拉取远程最新代码:
```powershell
@@ -83,6 +99,8 @@ git status --short --branch --untracked-files=all
如出现冲突,先解决冲突并重新确认生产配置,再继续构建。
恢复后重点检查 `.env.production``static/guide-data/manifest.json``src/utils/publicUrl.ts`,确认正式环境仍指向 `172.20.14.21``https://guide.sznhmuseum.org.cn`
## 本地构建
安装依赖并做类型检查:
@@ -447,3 +465,4 @@ https://guide.sznhmuseum.org.cn/ HTTP 200
- 2026-07-13确认 `pnpm build:h5` 在 terser 阶段可能 OOM正式部署可使用 `build:h5:no-minify` 兜底。
- 2026-07-13新增并验证 `static/icons/poi/shortcut-icons.svg` 线上可访问。
- 2026-07-15排查并修复页面 200 但空白问题。根因为 PowerShell 手工替换构建 JS 时破坏 UTF-8已新增 `scripts/finalize-h5-build.cjs` 统一处理资源复制、腾讯地图 key 替换、JS 语法校验和正式环境字符串扫描。
- 2026-07-20拉取远程最新代码前已执行 `git stash push -u -m pre-deploy-prod-local-fixes-20260720232941`,确认“本地补丁已 stash”随后快进到 `735c5cd`,执行 `git stash pop` 恢复正式环境补丁,无冲突。构建入口为 `assets/index-CsFOrYfU.js`,主节点备份为 `/data/nginx/html/_backups/mobile-before-deploy-20260720233343.tar.gz`,同步脚本最终输出 `All frontend worker nodes synced.`