04 部署與基礎設施
04 部署手冊
部署型態、rollback、hosting、logs 與 owner 缺口總表。
這份文件看部署治理,不重寫 repo 裡的操作步驟。實際指令、腳本、build 細節仍回各 repo README;這裡只整理部署型態、rollback 是否有被驗證、平台入口和 owner 缺口。
敏感資料交付提醒:本文件中的 05-environment-variables 指 05-environment-variables_環境變數與金鑰;該文件含 env value / secret 線索,僅做本地交付,不做雲端交付。
這裡確認
- 這個專案大概怎麼部署
- deploy / rollback 是否有被驗證
- hosting / logs / 平台入口在哪一層查
- deployment owner、rollback approver 還缺什麼
這裡不處理
- 不重寫 repo README 的指令
- 不重寫 env key 用途
- 不重寫第三方整合流程
- 不展開 ISR / revalidate 策略細節
先去哪裡
| 情境 | 先看哪裡 |
|---|---|
| 想知道實際 deploy 指令 | 該 repo README |
| 想知道 env 值、key 用途、缺值症狀 | 05-environment-variables |
| 想知道 hosting / domain / 2FA / 平台登入 | 03-access-and-accounts |
| 想知道 Next.js + Headless WordPress 更新策略 | Next.js + Headless WordPress 更新策略 |
| 想知道 Next.js Pages Router 靜態輸出、子目錄部署、相對路徑風險 | 靜態輸出部署注意事項 |
| deploy 後看似異常,但實際是 reload scroll、ScrollTrigger 初始化或鎖滾動流程錯亂 | 09 的 scroll restoration 初始化防護文件 |
| deploy 後看似字型異常,但實際是 Figma 與瀏覽器字重觀感不同 | 09 的 Figma 字重與瀏覽器顯示差異文件 |
部署總表
| Project | Deployment Type | README Deploy / Rollback | Verified | Platform / Logs Entry | Owner Status | Current Gap | Risk |
|---|---|---|---|---|---|---|---|
mahjong-system | Next.js server;外部後端 API 與 LINE / JKOPay callback 需同步驗證 | README 有 build / start 與 smoke test;部署平台與 rollback 待補 | 否 | www.goodguy.tw / /var/www/html/www.goodguy.tw/ 線索,需驗證 | 待確認 | 正式站、staging、部署平台、logs、rollback owner、後端 API owner 未確認 | 高 |
zerozero | Next.js server / platform 待確認 | 有說明,但平台與 rollback 流程未文件化 | 否 | 待確認 | 待確認 | deploy owner、rollback approver、平台入口未確認 | 高 |
matter | Next.js server / platform 待確認 | 有說明,但平台待確認 | 否 | 待確認 | 待確認 | deploy owner、rollback owner 未確認 | 高 |
tintron | PM2 線索存在,平台待確認 | 有說明 | 否 | 待確認 | 待確認 | 正式環境、hosting entry、logs entry 未確認 | 高 |
gonna | PM2 線索存在,平台待確認 | 有說明 | 否 | 待確認 | 待確認 | platform、rollback owner 未確認 | 中 |
presotea | PM2 線索存在,平台待確認 | 有說明 | 否 | 待確認 | 待確認 | store API 依賴下的 rollback 邊界未確認 | 高 |
xinyisheng | Next.js server / platform 待確認 | README 有基礎說明 | 否 | 待確認 | 待確認 | hosting / rollback 未驗證 | 中 |
niceginger | PM2 線索存在,平台待確認 | 有說明 | 否 | 待確認 | 待確認 | deploy target / rollback owner 未確認 | 中 |
hanpoo-ecommerce | 靜態 build / hosting 待確認 | 有說明 | 否 | 待確認 | 待確認 | hosting 平台與 rollback 方式未確認 | 中 |
Chlitina-Refining | Next.js Pages Router 靜態輸出;distDir / basePath 依 env 切換 | 有說明,但平台與 rollback 流程未文件化 | 否 | 待確認 | 待確認 | 表單開關會同步改輸出目錄與公開 URL;deploy path 與 env 一起驗證 | 高 |
KindShare-Exocare | Next.js Pages Router 靜態輸出;assetPrefix + build 後 CSS 路徑補寫 | 有說明,但平台與 artifact 發布流程未文件化 | 否 | 待確認 | 待確認 | replace-in-file 是正式 build 鏈的一部分;若漏跑會造成字型在非 root path 失效 | 高 |
matterkits | Storybook: GitHub Actions;apps 待確認 | Storybook 有,apps 不完整 | 部分 | GitHub Actions / 其他待確認 | 待確認 | Next apps deploy 邊界未確認 | 中 |
matterkits/app1 | Next.js app,平台待確認 | 部分 | 否 | 待確認 | 待確認 | production、logs、rollback owner 未確認 | 中 |
matterkits/app2 | 未定 / skeleton | 部分 | 否 | 待確認 | 待確認 | 是否需要正式部署待確認 | 低 |
使用規則
- 先用 repo README 了解實際部署步驟,再回這份看治理缺口。
- 看到平台入口不明或 rollback 權限不清楚,就回
03-access-and-accounts。 - 看到 WordPress 更新後前台沒變,不要只盯部署,先分清楚是 CMS、revalidate、cache 還是 env 問題。
- 跟 Next.js + Headless WordPress 共通策略有關的內容,只看策略文件,不要在這裡、
07、15之間來回讀同一件事。 - 跟 Next.js Pages Router 靜態輸出、子目錄部署、相對 / 絕對路徑有關的內容,只看靜態輸出指南,不要把
basePath、assetPrefix、post-build path rewrite 混成同一件事。 - 跟 reload 後自動恢復舊 scroll 位置、ScrollTrigger trigger / pin 狀態,或首屏動畫前鎖滾動有關的內容,回 09 的 scroll restoration 初始化防護文件。
- 跟 Figma 字重與瀏覽器顯示差異、macOS / Retina 字看起來偏粗有關的內容,回 09 的 Figma 字重與瀏覽器顯示差異文件。