v1 (deploy-stage.sh) 走 docker save | gzip | docker load 模式,需要把 81MB tarball 一次性 POST 到 stage docker daemon /images/load API。5/4 / 5/9 兩次 驗證 VPN 下 docker daemon 對單一大 POST hang(卡 30+ 分鐘 / i/o timeout), 公司網段直連才可靠。 v2 仿 edge-ai-platform/scripts/deploy-docker.sh 改用 DOCKER_HOST=stage docker build — multi-stage build 完全在 stage daemon 上執行: - 跨網路只傳 build context(~44 MB streaming,VPN 友善) - alpine base / nodejs / go mod / pnpm install 都由 stage daemon 自己 pull - layer cache 留在 stage daemon,後續 incremental build 更快 - 5/9 VPN 下實測 work:first build ~3min、redeploy(layer cache) ~10s 連帶修: - pnpm-workspace.yaml: 加 onlyBuiltDependencies (sharp / unrs-resolver / @tailwindcss/oxide / esbuild) — pnpm 10 預設拒跑依賴 build script、 乾淨環境第一次 install 撞 ERR_PNPM_IGNORED_BUILDS - package.json: 加 packageManager: pnpm@10.30.1 — 鎖 pnpm 版本,corepack 在 stage daemon 第一次跑時不會拉到最新 pnpm 11(行為差異) - Dockerfile.stage: COPY pnpm-workspace.yaml 進 builder context、否則 容器內 install 看不到 trust list v1 (deploy-stage.sh) 保留作為公司網段直連備援;v2 是 VPN / 預設模式。
45 lines
1.1 KiB
JSON
45 lines
1.1 KiB
JSON
{
|
||
"name": "visiona-frontend",
|
||
"version": "0.1.0",
|
||
"private": true,
|
||
"description": "visionA Cloud 前端(Phase 0 雛形骨架)",
|
||
"packageManager": "pnpm@10.30.1",
|
||
"scripts": {
|
||
"dev": "next dev",
|
||
"build": "next build",
|
||
"start": "next start",
|
||
"lint": "eslint",
|
||
"test": "vitest run",
|
||
"test:watch": "vitest"
|
||
},
|
||
"dependencies": {
|
||
"class-variance-authority": "^0.7.1",
|
||
"clsx": "^2.1.1",
|
||
"lucide-react": "^0.575.0",
|
||
"next": "16.1.6",
|
||
"next-themes": "^0.4.6",
|
||
"radix-ui": "^1.4.3",
|
||
"react": "19.2.3",
|
||
"react-dom": "19.2.3",
|
||
"sonner": "^2.0.7",
|
||
"tailwind-merge": "^3.5.0",
|
||
"tw-animate-css": "^1.4.0",
|
||
"zustand": "^5.0.11"
|
||
},
|
||
"devDependencies": {
|
||
"@tailwindcss/postcss": "^4",
|
||
"@testing-library/jest-dom": "^6.9.1",
|
||
"@testing-library/react": "^16.3.2",
|
||
"@types/node": "^20",
|
||
"@types/react": "^19",
|
||
"@types/react-dom": "^19",
|
||
"@vitejs/plugin-react": "^5.1.4",
|
||
"eslint": "^9",
|
||
"eslint-config-next": "16.1.6",
|
||
"jsdom": "^28.1.0",
|
||
"tailwindcss": "^4",
|
||
"typescript": "^5",
|
||
"vitest": "^4.0.18"
|
||
}
|
||
}
|