文件
T

4.3 KiB
原始文件 Blame 文件历史

部署资产与台账一致性修复并公网复检

Goal

将当前 main 上已完成并本地验证通过的资产、业务台账一致性和本地启动修复部署到公网 OA,并完成公开访问复检。部署后才能告知用户可在线查看本轮页面效果。

What I Already Know

  • 当前工作区干净,最新提交包括:
    • 42a963d 归档资产 E2E 数据库漂移任务(05-31-fix-assets-e2e-schema-drift)
    • df6d721 记录资产 E2E 漂移验收完成(05-31-fix-assets-e2e-schema-drift)
    • dafd2eb 修复资产 E2E 数据库漂移(05-31-fix-assets-e2e-schema-drift)
    • f299cee 修正 ERP 边界与资产页面一致性(05-30-fix-erp-boundary-asset-consistency)
    • 16fd9bd 统一业务台账首屏布局(05-30-fix-payment-ledger-layout-consistency)
  • 本地已通过资产真实 E2E:assets-flow.spec.ts 建卡、领用、归还、调拨、盘点 1 passed。
  • 本地回归库已补齐待执行迁移;这不代表公网库已部署该批代码,公网仍需要部署脚本自行执行远端 migration status 和 init。
  • 当前产品边界固定:OA 没有 ERP,以后也不接 ERP;请假、考勤日常主办在企业微信,OA 不重复处理。
  • 公网部署属于准生产操作,必须得到用户明确部署批准后执行。

Scope

  • 使用现有部署脚本将当前 main 发布到 https://oa.hyinda.com 对应公网环境。
  • 使用 SYNC_ENV=0,不覆盖远端 .env。
  • 不执行真实业务写入、真实付款、ERP 写入、企业微信写入或数据库重置。
  • 执行部署后的公网健康、前端资源文案、live readiness 和重点页面 smoke。
  • 将部署命令、提交 hash、复检结果和是否可测试写入本任务实施记录。

Requirements

  • 部署前运行环境契约检查,避免新增配置键导致远端部署失败。
  • 部署脚本必须完成远端构建、Prisma migration deploy/status、seed、/ready、external deps smoke、runtime smoke 和公网 bundle 文案扫描。
  • 部署后独立复核:
    • /ready
    • check-public-bundle-copy
    • run-live-smoke-readiness
    • 聚焦公网 Playwright:至少覆盖登录/工作台、资产或台账一致性关键路径中当前可自动化的部分。
  • 如果缺少 LIVE_SMOKE_* 凭据,记录脚本跳过原因;不得把跳过说成真实登录 smoke 通过。
  • 若部署或 smoke 失败,停止告知“可线上测试”,记录失败点并优先回滚/修复。

Test Plan

部署前:

node deploy/trialrun/validate-env-contract.js
cd server && npm run prisma:validate
cd client && npm run build
git diff --check

部署:

SYNC_ENV=0 LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash deploy/trialrun/deploy.sh

部署后:

curl -fsS https://oa.hyinda.com/ready
node scripts/qa/check-public-bundle-copy.mjs https://oa.hyinda.com
LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh
cd client && E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/login-portal-ux.spec.ts tests/e2e/visual-portal.spec.ts --workers=1 --reporter=list

收口:

python3 ./.trellis/scripts/task.py validate 05-31-deploy-asset-ledger-consistency-public-check
node scripts/qa/check-trellis-governance.mjs
git diff --check

Acceptance Criteria

  • 用户明确批准公网部署。
  • 当前 main 成功部署到公网 OA,记录部署基线提交 hash。
  • 部署使用 SYNC_ENV=0,未覆盖远端 .env。
  • 远端 /ready 通过。
  • 公网前端资源文案扫描 findings=0,确认无 ERP 产品暴露回退。
  • live readiness 通过;如凭据缺失,按规则记录 SKIP,不声明真实登录通过。
  • 至少一组公网 Playwright 重点页面检查通过。
  • 任务文档记录部署结果、复检结果和是否可让用户线上查看。

Out of Scope

  • 不同步本地 .env。
  • 不做真实付款、银行流水导入、真实支付接口或 ERP 写入。
  • 不写企业微信,不改企业微信配置。
  • 不重置或恢复公网数据库。
  • 不新增页面设计改造;若公网发现 UI 问题,另建修复任务。

Open Question

  • 是否批准现在执行公网部署?推荐批准,理由是当前本地资产真实 E2E 和构建已通过,用户需要看到公网效果;部署仍使用 SYNC_ENV=0 并由脚本自动做远端 smoke。