//TIM.CHAO
屬於系列 AI-DRIVEN DEVELOPMENT:從零打造個人品牌網站 · 第 6

部署與維運:從本地到線上

2026年4月9日5 分鐘閱讀AI

東西做好了、測過了,最後一步是讓它上線。部署聽起來像是開發流程的尾聲,但實際上它牽涉到的決策和配置比想像中多。這一篇記錄從本地到線上的完整流程,以及上線後的維護方式。

ship skill:打包提交的標準流程

在這個專案裡,每次要把改動推上去之前,都會用 ship skill 做一次完整的提交前檢查。

ship skill 做的事情包含:

  • 檢查 git status,確認哪些檔案被修改

  • 跑一次 build,確認沒有編譯錯誤

  • 檢查有沒有不該被 commit 的檔案(比如 .env、暫存檔)

  • 產生一個結構化的 commit message

  • 建立 Pull Request 並附上變更摘要

這套流程最大的好處是一致性。不管是大功能還是小修正,每次提交都走同樣的檢查步驟。不會因為「只是改個小東西」就跳過 build 檢查,結果上線後才發現壞了。

另一個好處是 commit message 的品質。因為 ship skill 會自動分析改動內容,產生的 message 比手寫的更精確。回頭看 git log 的時候,每一條都能清楚知道那次改了什麼、為什麼改。

land-and-deploy:部署執行

PR merge 之後,用 land-and-deploy skill 來執行部署。這個 skill 協調了從合併到上線的整個流程:

  1. 確認 PR 的所有 check 都通過

  2. 合併 PR 到 main branch

  3. 觸發 Vercel 的自動部署

  4. 等待部署完成

  5. 驗證線上版本是否正常運作

整個過程是自動化的,但每一步都有明確的確認點。如果某一步失敗了,流程會停下來,而不是繼續往下走。

Vercel 平台:自動化部署基礎設施

這個專案部署在 Vercel 上,選它的理由很直接——對 Next.js 的支援是原生的,不需要額外配置。

幾個關鍵的配置:

  • 自動部署:每次 push 到 main branch,Vercel 就會自動觸發一次部署。不需要手動操作,也不需要額外的 CI/CD pipeline

  • Preview Deployments:每個 PR 都會自動產生一個 preview URL,可以在合併之前先看線上效果。這對多語系的視覺檢查特別有用

  • ISR(Incremental Static Regeneration):頁面在第一次被請求時生成靜態 HTML,之後定期重新生成。對於這個網站來說,文章頁面設定了 60 秒的 revalidate 時間,series 頁面是 3600 秒。這樣既有靜態頁面的速度,又能在內容更新後自動反映

  • 環境變數管理:資料庫連線字串、API key 等敏感資訊都透過 Vercel 的環境變數管理。不同環境(development、preview、production)可以設定不同的值

上線後的維護

網站上線不是結束,而是另一個階段的開始。幾個持續進行的維護工作:

  • 內容更新:透過管理後台新增或修改文章,ISR 會自動處理快取更新,不需要重新部署

  • 效能監控:Vercel 內建的 Analytics 可以追蹤 Core Web Vitals,看哪些頁面載入速度慢需要優化

  • 錯誤追蹤:透過 Vercel 的 Function Logs 監控 server-side 的錯誤,及早發現問題

  • 依賴更新:定期更新 npm 套件,避免安全漏洞累積

完整的循環

回頭看這整個系列——從構思、設計、架構、實作、開發加速、驗證品質、到部署維運——它形成了一個完整的軟體開發循環。

每個環節都有對應的 AI 工具在幫忙,但工具始終是手段而不是目的。brainstorming skill 幫你收斂想法,但決定做什麼還是你自己。Serena 幫你理解程式碼結構,但技術決策還是你做的。Playwright 幫你自動化測試,但測試策略還是你定的。

AI 工具改變的不是「誰在做決定」,而是「做決定的效率和品質」。它們消除了大量的機械性工作,讓你可以把精力集中在真正需要判斷的地方。

這個網站本身就是這套工作方式的產物——從零開始,一個人用 AI 工具鏈完成了設計、開發、測試、部署的全部流程。它不完美,但它能跑、能用、能持續迭代。這大概就是 AI-Driven Development 最真實的樣子。