為什麼軟體團隊需要 CI/CD?
在傳統的軟體開發模式中,「整合」與「部署」通常是開發週期末端的痛苦階段。開發者各自維護長期的 feature branch,等到要合併時才發現大量的程式碼衝突與 Bug。
關鍵數據:根據 DORA 調查,高效能 DevOps 團隊的部署頻率是低效能團隊的 46 倍,而從代碼提交到上線的前置時間則快了 2,500 倍。
本課程核心價值
- 自動化驗證:每一次 git push 都自動觸發測試,不再擔心「在我的機器上可以跑」的問題。
- 容器化交付:學習如何將應用程式打包成 Docker 映像,確保開發、測試、生產環境 100% 一致。
- 安全與品質閘門:在 Pipeline 中整合靜態代碼掃描(SAST)與漏洞掃描。
- 零停機部署:掌握滾動更新與回滾機制,讓部署不再是深夜冒險。
學習路線圖
Phase 1 — 建立基礎 (Day 1)
了解 CI/CD 哲學,設定 GitLab Runner 環境,推送第一個 Hello World Pipeline。
Phase 2 — 管線設計 (Day 2)
掌握 Pipeline Stages 規劃,學習如何優化速度(Cache 與 Artifacts)。
Phase 3 — 容器實戰 (Day 3)
撰寫高品質 Dockerfile,並自動推送到 GitLab Container Registry。
Phase 4 — 自動部署 (Day 4)
透過 SSH 或自架 Runner 實現全自動部署,設定 Staging 與 Production 環境分離。
Phase 5 — 進階優化 (Day 5)
學習 Matrix Build、Monorepo 策略以及 GitOps 工作流(ArgoCD)。
工具棧一覽
CI/CD 引擎
- GitLab CI
- GitHub Actions
- Jenkins
基礎設施
- Docker / Compose
- Kubernetes
- Self-hosted Runners
品質與安全
- Trivy (Scan)
- SonarQube (Code)
- Playwright (Test)