Vibe Coder
部署流程與維運監控:上線後怎麼知道壞了、怎麼快速修
部署流程與維運監控:上線後怎麼知道壞了、怎麼快速修
如果是使用者回報你才發現壞了,代表你根本沒有監控。好的監控要讓你在使用者感知之前就先發現問題,而 AI 生成的程式預設不會加上 Log、錯誤追蹤或存活監控,這些都要你主動要求。這篇帶你把部署流程設計好,並補上維運最基本的三個要素。
你將學到什麼
部署流程怎麼設計
從功能分支到合併主幹,五個步驟讓部署既快又安全。
監控三要素
Log、Metrics、Alert 分別看什麼、用什麼工具。
Sentry 與 Uptime 監控
自動捕捉錯誤、每隔幾分鐘確認服務還活著。
回滾策略
Vercel、Railway、Git 三種回滾方式,出事先救服務再找原因。
部署流程設計
好的部署流程讓你能快速、安全地把新功能推給使用者,出問題時能快速回滾。
- 本機開發完成:功能跑通,基本測試過,commit 到 feature branch。
- 開 Pull Request:把 feature branch 合併進 main 的請求,這是檢查點。
- 自動測試(可選):GitHub Actions 自動跑測試,有失敗就阻擋合併。
- 合併到 main:Vercel/Railway 偵測到 main 更新,自動觸發部署。
- 觀察部署後 Log:部署完成後看五分鐘的 Log 和錯誤率,確認沒有異常。
監控三要素:Log、Metrics、Alert
| 要素 | 說明 | 看什麼 | 工具 |
|---|---|---|---|
| Log(日誌) | 程式執行的文字記錄 | 錯誤訊息、執行流程、使用者操作 | 平台自帶 Log、Papertrail |
| Metrics(指標) | 數字化的系統狀態 | 回應時間、錯誤率、流量、CPU | Vercel Analytics、Railway 監控 |
| Alert(警報) | 指標超出閾值時通知 | 錯誤率大於 1%、回應時間大於 2 秒、服務掛掉 | Uptime Robot、Better Uptime |
在 Python 加上結構化 Log(FastAPI):
import logging
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s %(levelname)s %(message)s"
)
logger = logging.getLogger(__name__)
@app.post("/api/chat")
async def chat(request):
logger.info(f"收到請求:user_id={request.user_id}")
try:
result = call_ai(request.message)
logger.info(f"AI 回應成功,tokens={result.usage.total_tokens}")
return result
except Exception as e:
logger.error(f"AI 呼叫失敗:{e}", exc_info=True)
raise
Sentry:前後端錯誤追蹤
Sentry 是最常用的錯誤追蹤服務,能自動捕捉前後端的 exception,並提供完整的 Stack Trace、使用者資訊、發生頻率。免費方案對小型專案夠用。
- 到 sentry.io 建立帳號和 Project,取得 DSN(類似 API Key 的連線字串)。
- 安裝 SDK:Python 用 pip install sentry-sdk,前端用 npm install @sentry/react。
- 在程式最開頭初始化 Sentry,之後所有未捕捉的 Exception 自動上報。
import sentry_sdk, os
sentry_sdk.init(
dsn=os.getenv("SENTRY_DSN"),
traces_sample_rate=0.1, # 10% 的請求記錄效能追蹤
profiles_sample_rate=0.1,
)
Uptime 監控:怎麼知道網站掛了
Uptime 監控每隔幾分鐘 ping 你的服務,掛了就立刻通知你,管道包括 Email、Slack、LINE。
| 服務 | 免費方案 | 監控間隔 | 推薦度 |
|---|---|---|---|
| Uptime Robot | 50 個監控,5 分鐘間隔 | 5 分鐘 | 四星 |
| Better Uptime | 10 個監控,3 分鐘間隔 | 3 分鐘 | 五星 |
| Freshping | 50 個監控,1 分鐘間隔 | 1 分鐘 | 四星 |
回滾策略:出事了怎麼快速救
部署後發現問題,第一優先是讓服務恢復正常,之後才慢慢找原因。
Vercel 回滾:到 Vercel Dashboard 進你的專案的 Deployments,找到上一個正常的部署(狀態是 Ready),點右側三個點選「Promote to Production」,30 秒內流量切回舊版本。
Railway 回滾:進 Railway Dashboard 的服務 Deployments,找到上一個正常的部署,點「Rollback」。
Git 回滾是萬能方案:
# 找到上一個正常的 commit hash
git log --oneline -10
# 建立 revert commit(推薦,保留歷史)
git revert HEAD
git push
# 或者強制回到舊版(謹慎使用)
git reset --hard <commit-hash>
git push --force
延伸學習
ChatGPT 很強,但真正讓你下班的是 Google
六小時完整實錄。從「AI 很厲害,為什麼你還是每天加班」這個問題出發,把 Google Workspace 當成真正的工作平台重新設計一次流程 ── Sheets 的資料結構、Drive 與 Docs 的文件流、Gmail 與 Calendar 的通知系統,再用 Apps Script 讓它自己跑起來,最後收斂成一張屬於你自己的 AI 工作能力地圖。
NT$ 4,599
知識變現切割地圖(高清版下載,不含講義)
《知識變現切割地圖》的高清完整版。一張圖把語氣、心理、內容、產品、再利用五層模組攤在同一個平面上,讓你回頭盤點已有內容、規劃新的轉化節奏。課程附上地圖本身的完整解說與應用指南,教你怎麼讀這張圖、從哪一層開始用。完整版 PDF 可下載,放大看細節不會糊。
NT$ 680

