重點摘要#

  • 建置作為「大爆炸」事件的時代已經結束,架構師應推動持續整合(CI)
  • CI 指的是確保應用程式在頻繁間隔自動建置和測試的一套實踐和工具
  • CI 針對的是從原始碼到可運行應用程式之間的整合點 — 開發的各個部分在此匯合並被測試
  • CI 將使組織和開發團隊更有效率

詳細內容#

建置作為專案開發中的「大爆炸」事件的時代已經結束了。無論是應用程式架構師還是企業架構師,都應該推動並鼓勵每個專案使用持續整合方法和工具

什麼是持續整合?#

持續整合(Continuous Integration, CI) 這個術語最早由 Martin Fowler 提出。CI 指的是一套確保應用程式在頻繁間隔自動建置和測試的實踐和工具,通常在專門配置的整合伺服器上執行。單元測試實踐和工具與自動化建置工具的匯合,使得 CI 成為當今任何軟體專案的必備要素

CI 的核心價值#

CI 針對的是軟體開發過程的一個普遍特徵 — 從原始碼到可運行應用程式之間的整合點。在這個整合點上,開發的各個部分匯合在一起並被測試。

你可能聽過「早建置、常建置(build early and often)」這個說法,它是一種確保開發過程中不會出現意外的風險降低技術。CI 取代了這個說法,不僅包含建置,還增加了改善開發團隊內部溝通與協調的功能。

CI 的運作方式#

CI 實現中最顯著的部分是通常自動化的建置:

  • 可以手動觸發、定時(如每晚)執行,或由原始碼變更觸發
  • 建置開始時,從版本庫拉取最新的原始碼
  • CI 工具嘗試建置專案並進行測試
  • 最後發送通知,告知建置結果(透過 email 或即時訊息等)

持續整合將為你的開發工作提供更穩定和更有方向的基礎。作為架構師你會喜歡它,但更重要的是,你的組織和開發團隊將變得更有效率

— By Dave Bartlett