iT邦幫忙

2024 iThome 鐵人賽

DAY 29
0

快結束囉

訂的題目真的有點大,看下次還有沒有機會分享,今天稍微介紹一下CI/CD是甚麼,與傳統的交付方式差異、工具。

CI/CD 與傳統交付方式的對比

  • 傳統瀑布式開發模型:
    • 線性開發流程
    • 長週期發布
    • 難以適應變化
  • 敏捷開發與 CI/CD:
    • 迭代開發
    • 持續反饋
    • 快速適應變化
  • CI/CD 優勢:
    • 更快的交付速度
    • 更高的軟件質量
    • 更可靠的發布流程
    • 更好的團隊協作
  • 潛在挑戰:
    • 初始設置成本
    • 文化轉變
    • 維護自動化流程

CI/CD 是甚麼?

  • 定義:
    • CI(持續整合Continuous Integration):頻繁地將代碼集成到共享倉庫中
    • CD(持續交付/部署Continuous Delivery/Deployment):自動化交付過程,確保軟件隨時可以可靠地發布
  • 歷史演進:
    • 從手動部署到自動化流程
    • 敏捷開發方法論的影響
  • 重要性:
    • 加快上市時間
    • 提高軟件質量
    • 減少人為錯誤
    • 促進團隊協作

CI/CD 核心原理

  • 持續整合(CI):
    • 頻繁提交代碼
    • 自動化構建
    • 自動化測試(單元測試、集成測試)
      • 新版本UnitTest沒過就是不會給你CI成功啦!
    • 代碼質量檢查
  • 持續交付(CD):
    • 自動化發布流程
    • 環境一致性
    • 配置管理
  • 持續部署:
    • 自動部署到生產環境
    • 藍綠部署、金絲雀發布等策略
  • 自動化的重要性:
    • 減少人為干預
    • 提高可重複性
    • 快速反饋

常見 CI/CD 工具介紹

  • 版本控制系統:
    • Git:分支策略、提交規範
  • CI 工具:
    • Jenkins:可擴展的自動化服務器
    • GitLab CI:集成在 GitLab 中的 CI/CD 工具
    • CircleCI:雲端 CI/CD 平台
  • 容器化技術:
    • Docker:容器化應用程序
    • Kubernetes:容器編排平台
  • 配置管理工具:
    • Ansible:自動化配置管理
    • Puppet:基礎設施即代碼工具

小結

  • 學習資源推薦:
    • 官方文檔:Git, Docker, Jenkins, GitLab
    • 在線課程平台:Coursera, Udemy
    • 技術博客:Martin Fowler 的博客, ThoughtWorks 技術雷達

準備迎來最後一天,但學習不會停止,繼續增加個人產值吧~


上一篇
Day28-Minikube基礎練習-5
下一篇
Day30-從後端到雲原生:30天鐵人賽心得總結
系列文
從零開始的DevOps猴!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言