DevOps 與持續交付#

從程式碼到生產的完整交付流水線,整合自《持續交付 36 講》專欄的核心內容。

持續交付流水線#

程式碼提交
    │
    ▼
┌─────────────────────────────────────────────────────┐
│                    持續集成 (CI)                     │
│  ┌─────────┐   ┌─────────┐   ┌─────────┐           │
│  │程式碼檢查 │ → │  建置   │ → │單元測試 │           │
│  └─────────┘   └─────────┘   └─────────┘           │
└─────────────────────────────────────────────────────┘
    │
    ▼
┌─────────────────────────────────────────────────────┐
│                    持續交付 (CD)                     │
│  ┌─────────┐   ┌─────────┐   ┌─────────┐           │
│  │集成測試 │ → │預發布驗證│ → │ 待發布  │           │
│  └─────────┘   └─────────┘   └─────────┘           │
└─────────────────────────────────────────────────────┘
    │
    ▼
┌─────────────────────────────────────────────────────┐
│                    持續部署 (CD)                     │
│  ┌─────────┐   ┌─────────┐   ┌─────────┐           │
│  │灰度發布 │ → │全量發布 │ → │  監控   │           │
│  └─────────┘   └─────────┘   └─────────┘           │
└─────────────────────────────────────────────────────┘

持續交付的終極目標是讓「發布」變成一件無聊的事。當你可以在任何時候、以極低的風險將程式碼部署到生產環境時,就達到了持續交付的理想狀態。