iT邦幫忙

2026 iThome 鐵人賽

DAY 25
0
ChatGPT & Codex

把 ChatGPT & Codex 當成隊友:30 天從 Idea 到 Production系列 第 25 篇

Day 25|CI/CD:每次 Push 都讓機器先幫 AI 驗貨

  • 分享至 

  • xImage
  •  

AI 讓修改變快,也讓人類更容易被大量 diff 淹沒。CI 的作用是每次變更都自動執行共同底線,及早阻止格式、型別、測試或建置失敗進入下一步。今天為任務追蹤 App 設計一條最小、可理解的 Pipeline。

先決定哪些檢查值得每次跑

第一層執行格式或 lint、型別檢查和快速單元測試;第二層跑需要資料庫的整合測試;建置檢查確認正式產物可產生。耗時或需要真實外部服務的測試可以分開觸發,不讓每個 commit 都依賴網路或產生成本。

Pipeline 要固定套件與執行環境版本,從 Secret 儲存取得測試用變數,不在設定檔或 Log 顯示真值。測試資料庫和正式資料庫完全分離。快取能加速,但若造成舊產物誤判,就應先求正確再調整速度。

讓 Codex 根據失敗證據修正

任務描述是:「讀取本次 CI 失敗的 job、命令與完整錯誤,先判斷是程式、測試、設定或暫時性環境問題。只修正有證據的原因,於本機或等價環境重現後提交最小修改;不要停用測試、放寬規則或加入無條件重試來隱藏失敗。」

CI 綠燈不等於產品正確,只代表已定義的檢查通過。如果到期時間在特定時區顯示錯誤,而 Pipeline 沒有這個案例,綠燈也抓不到。因此每次線上 Bug 都要評估是否能轉成有價值的自動檢查,逐步提高品質門檻。

CD 要比 CI 多一道環境判斷

通過 CI 後可自動建立預覽部署,供人工操作;是否自動進正式環境取決於風險和團隊流程。涉及 Migration 時,部署順序和回復方案必須明確。第一版先採可審查的預覽環境,保留人工確認正式發布的步驟。

https://ithelp.ithome.com.tw/upload/images/20260916/20184195pjbOoJwM0a.png

今天的結果與限制

目前完成 CI/CD 階段和失敗處理原則,尚未建立實際 Workflow,因此沒有執行時間或穩定度數據。實作後會記錄哪些檢查最常抓到問題,以及是否產生不必要等待。

今天學到什麼?

CI 是團隊對「可以繼續」的共同最低標準,不是替 AI 背書的章。明天加入 Logs 和 Monitoring,讓部署後的問題也能靠證據調查。


上一篇
Day 24|Deploy 上線:本機會跑,到了 Production 還算數嗎?
系列文
把 ChatGPT & Codex 當成隊友:30 天從 Idea 到 Production 共 25 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言