CI/CD · 自動化輸送帶

CI / CD

持續整合與持續部署 · 寫給初學者

CI/CD 是什麼?簡單說就是一條自動化輸送帶:
你把程式碼改好推上去,機器自動幫你合併、測試、打包、上線,出錯就亮紅燈擋下來。

改程式 → 自動測試(CI)→ 自動部署(CD)→ 安全上線
01 — 先講人話

CI/CD 到底是什麼?用開餐廳比喻

CI/CD 是軟體界最常聽到、初學者最常一頭霧水的詞。先用開餐廳來理解:

CI=持續整合 (Continuous Integration)

每個廚師(工程師)一改好菜(程式碼),立刻送進中央廚房合菜並試吃檢查。一有人煮壞,馬上就被驗出來,不會等到客人吃到才發現。

= 每次改程式 → 自動合併 + 自動測試

CD=持續部署 (Continuous Delivery/Deployment)

試吃通過的菜,自動端上桌給客人,不用老闆一道一道親自送。整個「從廚房到餐桌」的流程自動化。

= 測試通過 → 自動上線給使用者

合起來:CI/CD 就是一條自動化的輸送帶——你只要把程式碼改好「推上去」,剩下的合併、測試、打包、部署,機器自動幫你跑完。出錯就亮紅燈擋下來,不會把壞東西送到使用者面前。

為什麼初學者要懂?

沒有 CI/CD 時,工程師要「手動」測試、手動打包、手動上傳到伺服器——又慢又容易出錯,還常常「在我電腦跑得動,上線就壞」。CI/CD 把這些重複又危險的步驟交給機器,又快又可靠又可重現

02 — 拆開看

CI 和 CD 各做哪些事?

一條完整的 CI/CD 輸送帶,通常包含這幾關。前半是 CI(整合測試),後半是 CD(交付部署)

CI 的重點是「早點抓錯」:在程式碼還沒上線前,就用自動測試把 bug 攔下來。CD 的重點是「安全快速上線」:測試過了就自動部署,還能一鍵回到上一版。

03 — 核心互動

推一次程式碼,看輸送帶怎麼跑

git push 模擬你改完程式碼推上去。輸送帶會一關一關自動跑:建置 → 測試 → 部署測試環境 → 部署正式環境。
試試把下面的開關切到「測試會失敗」,看 CI 如何亮紅燈擋下阻止壞程式上線——這正是 CI/CD 最大的價值。

目前狀態
待命
結果

看到了嗎?測試失敗時,輸送帶會在「測試」那關停住、亮紅燈,後面的部署完全不會發生。壞程式被擋在使用者之外——這就是「早點抓錯、安全上線」。

04 — ML 的特別之處

為什麼 ML 還多一個「CT」?

一般軟體的 CI/CD 管的是「程式碼」。但 ML 系統還多了兩個會變的東西:資料模型。所以 MLOps 在 CI/CD 之外,常再加一個 CT(Continuous Training,持續訓練)

一般軟體 CI/CD

  • 程式碼改了 → 測試 → 部署
  • 只要程式不改,行為就固定
  • 測試=檢查功能對不對

ML 的 CI/CD/CT

  • 資料也要版本控制與驗證
  • 模型要進 Model Registry、可回滾
  • + 測試還要檢查「模型品質」夠不夠
  • + 資料漂移 → 自動觸發重新訓練 (CT)

白話:一般軟體「程式不改就不會變」;ML 系統「就算程式沒改,世界(資料)變了,模型也會慢慢失準」,所以需要持續訓練。

05 — 優缺點與工具

CI/CD 的取捨與常見工具

優點

  • 自動化重複步驟,省時又不易出錯
  • 每次提交都測試,bug 早期就被抓到
  • 部署可重現、可一鍵回滾
  • 團隊協作順暢,不怕『整合地獄』

缺點 / 限制

  • 初期要花時間建置 pipeline 與寫測試
  • 測試寫不好會給人虛假的安全感
  • ML 還要額外處理資料/模型版本,較複雜
  • 小型一次性專案可能殺雞用牛刀

常見工具與場景

🔧
CI/CD 平台
GitHub Actions、GitLab CI、Jenkins
📦
容器化
Docker 打包、Kubernetes 部署
🤖
ML 專用
MLflow、Kubeflow、SageMaker Pipelines

📝 iPAS 考點提醒

CI/CD 與 MLOps 是 iPAS 部署維運考點(中級科目一)。重點:持續整合與持續部署把測試、建置、發布自動化;ML 的 CI/CD 還要管資料與模型版本、自動評估、上線後監控與再訓練。易混點:模型會因資料漂移退化、需自動化重訓管線(這是 ML 與一般軟體 CI/CD 的差異);上線前要有資料驗證與不可退步關卡。情境:把模型可靠地反覆上線。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

CI/CD 是什麼?

持續整合(CI)與持續交付或部署(CD);自動化測試、建置與發布流程,讓程式變更能快速、可靠地上線。

機器學習的 CI/CD 有何不同?

除了程式碼,還要管資料與模型版本、自動訓練與評估、模型驗證關卡,以及上線後的監控與再訓練(即 MLOps)。

為什麼模型也需要持續部署?

資料會隨時間漂移使模型退化;自動化的重訓與部署管線(CI/CD/CT)能讓模型持續更新、維持上線表現。

上線前該有哪些自動檢查?

單元與整合測試、資料驗證(schema、分布)、模型指標達標、與舊版比較(不可退步),以及偏誤與安全檢查。

什麼是模型監控?

上線後持續追蹤預測品質、延遲、輸入資料分布(資料漂移或 PSI)與概念漂移;異常時告警或觸發回滾與再訓練。

🧭 相關主題

← 返回 AI 學習與考證地圖