階段 7 · 確保品質(測試與檢查)
CI/CD
自動檢查、測試、建置與部署程式的流程。
先用一句話理解
英文全名:Continuous Integration / Continuous Delivery
自動檢查、測試、建置與部署程式的流程。
打個比方
像出餐前自動檢查流程,避免壞掉的東西送到客人桌上。
什麼時候會遇到
多人協作、正式服務或需要穩定部署時。
再往深一點看
CI/CD 是把 typecheck、lint、unit test、build、部署這一串動作自動串成一條流水線的機制——每次有人 push 程式碼或開 PR,這條流水線就自動觸發,不需要人工記得跑。CI(持續整合)的重點是「每次合併前都自動驗證」:確保新程式碼不會把現有功能搞壞。CD(持續交付/部署)的重點是「驗證通過後自動送上線」:把人工部署的步驟也自動化掉,讓上線變成一個可重複、可稽核的過程。GitHub Actions 是最常見的 CI/CD 平台,Vercel 則把前端專案的 CD 內建好了,每次 push main 就自動 build 並部署,不需要額外設定。CI/CD 的核心價值不是速度,而是「壞掉的程式碼在合併前就被攔截,而不是上線後才發現」。
舉個例子
你的 GitHub Actions 設定好後,每次有人開 PR,就會自動跑 npm run typecheck 和 npm run lint,其中一個失敗就標紅燈、阻止合併。PR 合併進 main 後,Vercel 再自動接手 build 並部署到正式環境,整個流程全自動,不需要任何人手動按「部署」。
常見誤解
- - 沒有設 CI,靠「大家記得在 push 前自己跑測試」,結果有人趕時間忘了跑,壞掉的型別錯誤或 lint 問題直接進了 main。
- - CI 流水線跑太久(超過 10 分鐘),開發者開始習慣不等它、直接合併,CI 形同虛設。
- - 只有一個環境(main 直接部署),沒有 staging,CI 全過就上線,沒有地方讓 QA 或自己先驗收真實效果。
相關名詞
相關服務
GitHubVercel