AOVIS 部署归档:App 登录认证 + 设备激活
归档日期:2026-04-13
1. 归档目的
这份记录用于保存本次 aovis.app 生产发布的完整发布信息,方便后续排查、回滚和复用 SOP。
本次发布覆盖:
- App 专用登录 token 颁发
- App Magic Link 登录
- 设备激活端点
- entitlement / subscription 基础能力
- 对应的 Prisma schema 和迁移
2. 发布身份
- 仓库:
aovis-direct-store - 分支:
main - 发布提交:
a9acfabb41fa0a26c9fab682882e283641619053 - 远程:
origin/main - 部署目标:
aovis-store-staging-vm - GCP 项目:
aovis-site-1 - GCloud 账号:
[email protected]
3. 变更摘要
本次发布的主要改动包括:
app/api/auth/app-token/route.tsapp/api/auth/app-magic-link/route.tsapp/api/auth/app-magic-link/verify/route.tsapp/api/devices/activate/route.tsapp/app-auth/page.tsxlib/app-token.tslib/app-magic-email.tslib/entitlement.tslib/verify-app-request.tsprisma/schema.prismaprisma/migrations/20260413110000_add_device_and_subscription_fields/migration.sqlpublic/.well-known/apple-app-site-associationpublic/.well-known/assetlinks.jsonscripts/test-entitlement.tsdocs/app-jwt-token-issuance.mddocs/AOVIS_App_登录认证接口规范_v1.0.md
4. 高风险路径说明
本次发布触及以下高风险路径:
app/api/auth/*的新增 App 专用路径app/api/devices/*lib/entitlement.tslib/app-token.tsprisma/public/.well-known/
说明:
- 没有修改现有 Web Auth.js 登录路由
- 没有修改
auth.ts - 没有修改
lib/auth-config.ts - 没有修改 Stripe webhook 或 checkout 路由
- 没有修改
.env.production
5. 发布前检查
本次发布前已经完成:
- 本地类型检查:
npx tsc --noEmit - 本地构建:
npm run build - Prisma 状态检查:
npx prisma migrate status - Entitlement 脚本冒烟测试:
npx tsx scripts/test-entitlement.ts - scope check:
npm run deploy:scope-check - release 预检查:
pnpm release:prod -- --prepare-only
6. VM 部署步骤
实际部署路径:
gcloud compute ssh aovis-store-staging-vm --zone us-west1-c --project aovis-site-1 --command 'cd /opt/aovis/aovis-store-staging && git fetch origin && git pull origin main && npm install && npx prisma generate && npm run build && pm2 restart aovis-store-staging --update-env'
执行结果:
- 成功拉取到发布提交
a9acfabb41fa0a26c9fab682882e283641619053 npm install成功npx prisma generate成功npm run build成功pm2 restart aovis-store-staging --update-env成功
7. 线上验证结果
发布后执行:
npm run deploy:verify
验证结果:
robots.txt通过sitemap.xml通过- 首页
/通过 - 产品页
/products/nexa-prime-4k通过 - 技术页
/technology通过 - 服务页
/services通过
总计:
7/7 passed0 failed
8. 运行状态
当前结论:
- 发布已完成
- 线上验证已通过
- 工作区已清理干净
- 该发布可作为后续 App 登录、设备激活和 entitlement 接口的基线版本
9. 后续建议
后续如果继续扩展 App 侧能力,建议沿用以下顺序:
- 先在
lib/entitlement.ts/lib/app-token.ts复用现有基础能力 - 再新增对应 API 路由
- 每次发布前都执行
npm run deploy:scope-check - 每次发布后都执行
npm run deploy:verify
10. 备注
本次归档的目标是把“提交 -> VM 部署 -> PM2 重启 -> 线上真值验证”这条链路固定下来,避免以后只看本地构建结果。