重點摘要#
- 建置作為「大爆炸」事件的時代已經結束,架構師應推動持續整合(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