CI/CD

持續整合與持續部署

持續整合(CI)

開發團隊成員頻繁地將程式碼整合到共享主線,每次整合都通過自動化建構和測試來驗證。傳統模式中開發人員在本地工作數天後合併,容易導致「整合地獄」。

CI 的解決方案:頻繁整合(每天多次推送)、自動化驗證(每次推送觸發建構和測試)、快速反饋(盡早發現問題)。

CI 工作流程

  1. 開發者從共享儲存庫 pull 最新程式碼
  2. 在功能分支(feature branch)開發
  3. 提交並 push 到遠端儲存庫
  4. 觸發 Webhook 通知 CI 伺服器
  5. CI 伺服器檢出程式碼 → 安裝依賴 → 執行建構 → 執行測試 → 生成報告
  6. 回饋給開發者(成功即可合併 PR,失敗則需修復)

持續部署(CD)

持續部署將通過 CI 測試的程式碼自動化地部署到生產環境。與持續交付(需人工確認部署)不同,持續部署完全自動化,從提交到上線無需人工介入。

CI/CD Pipeline

# 典型的 pipeline 階段 stages: - checkout - install - lint - test - build - deploy checkout: script: git clone repo install: script: npm ci test: script: npm run test:ci build: script: npm run build deploy: script: deploy-to-production

本課程範例

相關連結