Continuous Deployment 是什麼?
Continuous Integration — Continuous Deployment 的完整解釋
CI 每次提交自動建置+測試,CD 通過後自動部署到生產環境。確保每個變更都安全
容易混淆
持續整合 vs 持續部署 vs 手動合併
持續整合:每次提交都自動建置和測試
持續部署:通過檢查後自動發布到環境
手動合併:靠人自己整理版本,很慢也容易漏
最關鍵的區別:持續整合重點在「合併後先驗證」,不是直接發版。
記住這句就好
每次合併都先驗證,問題才不會堆到最後。
實際案例
多人協作開發
前:大家各寫各的,最後一天才合併,常常互相衝突
後:每次提交都自動建置、跑測試、檢查格式,衝突早點被抓出來
模型服務維運
前:程式碼、設定和依賴不同步,部署常出錯
後:把測試與建置放進 CI 流程,讓每次改動都先通過檢查再進下一步
算法與應用
持續整合通常包含版本控制、建置、單元測試、整合測試和自動化檢查
在 AI 或 MLOps 團隊裡,它會和容器化、模型部署、機器學習維運一起使用
真正的價值是提早發現錯誤,讓主幹永遠保持可用
情境判斷
Q1(直覺題): 團隊每天多次合併程式,並自動跑測試,這像持續整合嗎?
→ 像,這就是它的核心做法。
Q2(判斷題): 只要有自動部署,就一定代表有持續整合嗎?
→ 不一定。自動部署是後一步,持續整合要先有自動建置與測試。
相關術語
常見問題
持續整合一定要搭配持續部署嗎?
不一定,但兩者常一起出現。
CI 和 CD 的差別是什麼?
CI 偏重合併驗證,CD 偏重自動發布。
為什麼 CI 可以減少 bug?
因為它把錯誤提早暴露在小變更裡,而不是等到大版本一起爆。