階段 8 · 上線與維運(部署)
部署 Deployment
把程式發布到預覽環境或正式環境,讓本機以外的人可以使用。
先用一句話理解
把程式發布到預覽環境或正式環境,讓本機以外的人可以使用。
打個比方
像把裝修好的店正式開門營業。
什麼時候會遇到
每次功能完成、修 bug 或上線新版本時。
再往深一點看
Deployment 是把你本機或 CI 跑出來的程式碼版本,推送並啟動到某個環境(preview 或 production)的那個「動作」,不是常態存在的設施,而是每次都會發生的流程事件。它和 Hosting 的差別在於:Hosting 是「場所」,Deployment 是「搬家動作」,你可能一天 deploy 五次到同一個 hosting。完整的 deployment 流程通常包含:build(打包程式碼)、測試、推上 hosting、切換流量到新版本,出問題時需要 rollback。Vercel、Netlify 等平台把這個流程自動化了——每次 push 就觸發 build 和 deploy,失敗會通知你且舊版仍在服務。
舉個例子
你在 GitHub 開一個 PR,Vercel 自動觸發 preview deployment,PR 描述裡會出現一個臨時網址讓你驗收功能;PR merge 進 main 後 Vercel 再次觸發 production deployment,新程式碼幾分鐘內就上線給真實使用者。
常見誤解
- - 直接對 production 環境手動改檔案或用 FTP 覆蓋,繞過 build 和版本控制,沒有任何回滾手段,出問題找不回舊版。
- - 沒有在 preview 環境測試過就直接 deploy 到 production,結果正式環境有環境變數設定不同或資料庫 schema 不一致,功能在上線當下才壞給真實使用者看。
- - 以為 deploy 成功就等於功能正常,沒有部署後驗收(post-deploy check),直到使用者回報才發現關鍵頁面在正式環境出錯。
相關名詞
相關服務
VercelNetlifyGitHub