CI/CD 是什麼?簡單說就是一條自動化輸送帶:
你把程式碼改好推上去,機器自動幫你合併、測試、打包、上線,出錯就亮紅燈擋下來。
CI/CD 是軟體界最常聽到、初學者最常一頭霧水的詞。先用開餐廳來理解:
每個廚師(工程師)一改好菜(程式碼),立刻送進中央廚房合菜並試吃檢查。一有人煮壞,馬上就被驗出來,不會等到客人吃到才發現。
= 每次改程式 → 自動合併 + 自動測試
試吃通過的菜,自動端上桌給客人,不用老闆一道一道親自送。整個「從廚房到餐桌」的流程自動化。
= 測試通過 → 自動上線給使用者
合起來:CI/CD 就是一條自動化的輸送帶——你只要把程式碼改好「推上去」,剩下的合併、測試、打包、部署,機器自動幫你跑完。出錯就亮紅燈擋下來,不會把壞東西送到使用者面前。
沒有 CI/CD 時,工程師要「手動」測試、手動打包、手動上傳到伺服器——又慢又容易出錯,還常常「在我電腦跑得動,上線就壞」。CI/CD 把這些重複又危險的步驟交給機器,又快又可靠又可重現。
一條完整的 CI/CD 輸送帶,通常包含這幾關。前半是 CI(整合測試),後半是 CD(交付部署):
CI 的重點是「早點抓錯」:在程式碼還沒上線前,就用自動測試把 bug 攔下來。CD 的重點是「安全快速上線」:測試過了就自動部署,還能一鍵回到上一版。
按 git push 模擬你改完程式碼推上去。輸送帶會一關一關自動跑:建置 → 測試 → 部署測試環境 → 部署正式環境。
試試把下面的開關切到「測試會失敗」,看 CI 如何亮紅燈擋下,阻止壞程式上線——這正是 CI/CD 最大的價值。
看到了嗎?測試失敗時,輸送帶會在「測試」那關停住、亮紅燈,後面的部署完全不會發生。壞程式被擋在使用者之外——這就是「早點抓錯、安全上線」。
一般軟體的 CI/CD 管的是「程式碼」。但 ML 系統還多了兩個會變的東西:資料和模型。所以 MLOps 在 CI/CD 之外,常再加一個 CT(Continuous Training,持續訓練)。
白話:一般軟體「程式不改就不會變」;ML 系統「就算程式沒改,世界(資料)變了,模型也會慢慢失準」,所以需要持續訓練。
CI/CD 與 MLOps 是 iPAS 部署維運考點(中級科目一)。重點:持續整合與持續部署把測試、建置、發布自動化;ML 的 CI/CD 還要管資料與模型版本、自動評估、上線後監控與再訓練。易混點:模型會因資料漂移退化、需自動化重訓管線(這是 ML 與一般軟體 CI/CD 的差異);上線前要有資料驗證與不可退步關卡。情境:把模型可靠地反覆上線。
想練情境題與詳解 → AI 學習與考證地圖
持續整合(CI)與持續交付或部署(CD);自動化測試、建置與發布流程,讓程式變更能快速、可靠地上線。
除了程式碼,還要管資料與模型版本、自動訓練與評估、模型驗證關卡,以及上線後的監控與再訓練(即 MLOps)。
資料會隨時間漂移使模型退化;自動化的重訓與部署管線(CI/CD/CT)能讓模型持續更新、維持上線表現。
單元與整合測試、資料驗證(schema、分布)、模型指標達標、與舊版比較(不可退步),以及偏誤與安全檢查。
上線後持續追蹤預測品質、延遲、輸入資料分布(資料漂移或 PSI)與概念漂移;異常時告警或觸發回滾與再訓練。