☕ NEW! 完成新手任務即可參加抽獎!LINE 星巴克禮券等你拿,名額有限!        🎉 推廣活動:邀請好友註冊 DevLearn,累積推薦抽 LINE 星巴克禮券! 活動詳情 →        🔥 活動期間 2026/4/1 - 5/31 |已有 0 人參加       
concept-arch 進階

CI/CD:自動化部署為什麼重要?

CI/CD 是什麼?

CI(Continuous Integration)持續整合:
每次 commit → 自動 build → 自動跑測試 → 結果回報
→ 早期發現問題,不要等到部署才爆

CD(Continuous Delivery)持續交付:
CI 通過 → 自動部署到 Staging → 手動核准 → 部署到 Production

CD(Continuous Deployment)持續部署:
CI 通過 → 自動部署到 Production(完全自動,不需要人核准)

沒有 CI/CD 的痛

1. "昨天還能跑的,今天怎麼壞了?"
   → 沒有自動測試,不知道哪個 commit 引入了 bug

2. 部署花 2 小時(手動 build → FTP 上傳 → 改設定 → 重啟)
   → 害怕部署 → 部署越少 → 每次部署的改動越多 → 越容易出錯

3. "我本地跑得好好的!"
   → CI 確保程式碼在乾淨環境也能 build

你的 DevLearn 的部署流程

現在的流程(半自動):
1. dotnet publish -c Release(手動)
2. python deploy.py(zip + az webapp deploy)
3. 等 Azure 啟動(3-5 分鐘)

理想的流程(CI/CD):
1. git push → GitHub Actions 自動觸發
2. 自動 build + 自動跑測試
3. 測試通過 → 自動部署到 Azure
4. 部署完成 → 自動通知(LINE / Discord)

部署策略

Rolling:逐步更新(一台一台換)
→ 零停機,但新舊版本會同時存在

Blue-Green:兩套環境切換
→ Blue(舊版)跑著,Green(新版)準備好
→ 切換流量到 Green,有問題切回 Blue

Canary:先給少數使用者
→ 新版先給 5% 使用者
→ 沒問題再慢慢開到 100%

你目前的單一 Azure App Service + zip deploy 是最簡單的方式,對學習平台足夠了。

💡 大家的想法 · 0

載入中...
💬 即時聊天室 🟢 0 人在線
😀 😎 🤓 💻 🎮 🎸 🔥
➕ 新問題
📋 我的工單
💬 LINE 社群
🔒
需要註冊才能使用此功能
註冊帳號即可解鎖測驗、遊戲、簽到、筆記下載等所有功能,完全免費!
免費註冊