建構基本資訊

回報問題 查看原始碼

建構系統是工程組織最重要的部分之一,因為每位開發人員每天與其互動數十次或數百次。想要在機構規模擴大時,提高開發人員的工作效率,就必須使用功能完整的建構系統。對個別開發人員來說,只編譯程式碼就很容易,因此建構系統看起來可能很繁雜。但在更大規模的規模下,建構系統可協助管理共用依附元件,例如依賴程式碼集的另一個部分或外部資源,如程式庫。建構系統可協助您在建構程式碼前,確定您具備建構程式碼所需的一切資源。建構系統也能在設定時加快速度,以協助工程師分享資源和結果。

本節會說明建構與建構系統的某些歷史記錄和基本知識,包括用於建立 Bazel 的設計決策。如果您熟悉以構件為基礎的建構系統 (例如 Bazel、Buck 和 Pants),可以略過此部分,但對於為何以構件為基礎的建構系統來說,能夠有效調度資源是很實用的總覽。

  • 為何要建立建構系統?

    如果您從未使用過建構系統,請先從這裡著手。本頁面說明使用建構系統的原因,以及在貴機構開始向更多開發人員進行擴充後,為何編譯器和建構指令碼並不是最佳選擇。

  • 工作型建構系統

    本頁討論以工作為基礎的建構系統 (例如 Make、Maven 與 Gradle) 及一些挑戰。

  • 構建構建系統

    本頁面討論以成果為基礎的建構系統,以回應工作型建構系統的難題。

  • 分散式版本

    此頁面涵蓋分散式建構,或在本機電腦以外的位置執行的版本。這需要更穩固的基礎架構來共用資源及建構結果 (這是真正的精靈!)

  • 依附元件管理

    本頁面會說明大規模的依附元件複雜性,以及這些衝突的策略。