top of page
  • 作家相片L L

持續整合/持續部署 (CI/CD) :敏捷軟體開發、流程自動化的基礎

已更新:8月1日

總是聽身邊的工程師同事再說CI/CD,究竟是什麼意思呢?


CI/CD是敏捷軟體開發的基礎,通過自動化流程大幅提升開發效率,同時使開發者能及早發現並修復問題,縮短開發週期,提升企業產品及服務的市場競爭力。



定義

CI/CD 簡單來說就是「軟體開發流程自動化」,提交代碼到版本控制系統、執行測試、自動部署到生產環境,所有反覆步驟都轉為自動化執行。

優點
  • 更快執行、測試、交付新功能和bug修復

  • 提高軟體品質,減少錯誤發生

  • 常態性、自動化測試可有效降低風險

  • 改進協作流程,降低重複性任務耗費的時間成本



持續整合 CI(Continuous Integration)

開發人員將代碼集成到一致環境,每次集成都進行自動化構建和測試,確保代碼的即時性和穩定性。

流程
  • 「程式建置」:於一致環境中自動建構並測試代碼,避免開發團隊因為環境、套件版本不相容造成服務異常。

  • 「程式測試」:透過自動化測試,檢驗軟體執行狀況,降低人為疏失風險,減少反覆性步驟的時間成本,同時易於進行版本控制管理。



持續部署 CD(Continuous Deployment)

將代碼自動化測試並準備好隨時可以部署;進一步可自動化將通過測試的代碼部署到生產環境。

流程
  • 「部署服務」:自動化將寫好的代碼更新到生產環境上,確保套件版本、資料庫資料完整性,方便版本更新迭代。

  • 同時監控系統即時狀態,異常時告知開發人員。



CI/CD常用工具
GitHub Actions

直接集成在 GitHub 中,易於使用和設置。

GitLab CI/CD

完全整合在 GitLab 中,擁有強大的功能和靈活的配置。

Jenkins

高度可擴展性及自定義功能,並有豐富的插件系統,支持各種版控工具,但設置和維護較為複雜。

Azure DevOps

微軟提供的全方位 DevOps 平台,包括集成 CI/CD、版本控制和項目管理。

Google Anthos

專注於混合和多雲環境管理,適合大型企業,對於中小企業來說,成本和配置可能過高。

コメント


bottom of page