交付自動化 基礎

CI/CD 流水線包含哪些關鍵階段?CI 和 CD 有什麼區別?

AI 練習作答

CI vs CD

持續整合 (CI - Continuous Integration) 開發者頻繁將程式碼合併至主分支,每次合併都自動觸發建置與測試,儘早發現問題。

持續交付 (Continuous Delivery) 在 CI 基礎上,確保軟體始終處於可部署狀態,但部署需要手動觸發

持續部署 (Continuous Deployment) 更進一步,通過所有自動化測試後自動部署至生產環境,無需人工介入。

典型 CI/CD 流水線階段

  1. Source:程式碼推送或 PR 觸發 pipeline
  2. Build:編譯、打包、建立 Docker image
  3. Unit Test:快速單元測試(秒級)
  4. Integration Test:整合測試(分鐘級)
  5. Security Scan:SAST 靜態分析、依賴漏洞掃描
  6. Push Artifact:推送 image 至 Container Registry
  7. Deploy to Staging:部署至測試環境
  8. E2E Test:端到端測試
  9. Deploy to Production:部署至生產環境(手動或自動)

GitHub Actions 範例片段

on: push: branches: [main] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: npm ci - run: npm test

快速失敗原則

將最快的測試放在最前面(unit tests 優先),讓開發者儘早得到回饋,避免等待耗時的 E2E 測試才發現基本問題。

✦ AI 模擬面試

輸入你的答案,AI 即時分析精準度與改進空間

登入後即可使用 AI 評分