AOVIS Direct Store - VM 部署准备
这份文档描述当前 VM 发布的准备方式和边界。
发布纪律
- 生产发布必须以 Git commit 为准
- 不要把本地未提交状态当成可发布版本
- 不要把 VM 当成“临时编辑器”
- 不要用 tar / scp 作为主发布路径
为什么现在是 VM
当前部署形态以 GCP VM + PM2 + Nginx 为主,原因是:
- 路径稳定
- 可控性高
- 便于和既有 release SOP 对齐
- 便于保留操作日志和回滚点
推荐运行方式
- 应用在 VM 上以 PM2 管理
- Nginx 负责反向代理
- Git 负责代码来源
.env.production只保留在 VM 本地
SSH 入口
使用 gcloud compute ssh 进入 VM:
gcloud compute ssh aovis-store-staging-vm --zone us-west1-c --project aovis-site-1
环境变量
必须有
NODE_ENV=productionAUTH_URLNEXTAUTH_URLNEXT_PUBLIC_APP_URLAUTH_TRUST_HOST=true
Webhook 之后再补
- Stripe webhook secret
- 支付 / 支持平台相关 secret
初期可以先不设
- 未启用的外部集成 secret
- 仍在验证中的第三方凭据
Apple 登录恢复检查
如果 Apple sign-in 失效,优先检查:
- VM
.env.production是否被覆盖 AUTH_APPLE_*是否仍然存在/api/auth/providers是否还返回apple/signin是否仍然能显示 Apple 登录
PM2
推荐使用:
pm2 restart aovis-store-staging --update-env
Git 部署 key
如果需要 VM 主动拉取 Git,请确认:
- deploy key 还有效
- 仓库访问权限正常
- 证书或 key 没有过期
反向代理
Nginx 负责对外服务和转发,变更时不要把应用目录、部署目录和代理配置混在一起。
当前限制
- 仍然有部分功能处于阶段性接入中
- 不要因为本地构建通过就默认线上已经生效
- 任何影响 auth / payment / admin 的改动都要先做真值验证