建構基本概念

建構系統是工程機構最重要的部分之一,因為每個開發人員每天都會與數百或數百次互動。必須提供功能完備的建構系統,才能讓機構規模擴大開發人員的生產力。對個別開發人員而言,直接編譯程式碼是非常容易的,因此建構系統看起來可能就太多了。但規模越大,建構系統就能協助管理共用依附元件,例如依賴程式碼基礎的另一部分,或是外部資源 (例如程式庫)。建構系統可協助您在建構程式碼之前,先取得一切所需的程式碼。建構系統也會在設定時提高速度,協助工程師共用資源和結果。

本節說明建構及建構系統的一些記錄和基本資訊,包括設計 Bazel 時所做出的設計決策。如果您對於使用以 Artifact 為基礎的建構系統 (例如 Bazel、Buck 和 Pants) 不熟悉,可以略過本節,但可透過這個總覽瞭解如何瞭解以 Artifact 為基礎的建構系統確實是在啟用服務規模時非常有效。

  • 為什麼要建立建構系統?

    如果您從未使用過建構系統,請從這裡開始。本頁面說明使用建構系統的原因,以及當貴機構開始擴充至超過其他開發人員時,編譯器和建構指令碼並非最佳選擇的原因。

  • 工作建構系統

    本頁面討論工作導向的建構系統 (例如 Make、Maven 和 Gradle),以及一些挑戰。

  • 以成果為基礎的建構系統

    本頁討論以構件為基礎的建構系統,以回應以工作為基礎的建構系統之 the 點。

  • 分散式版本

    本頁說明分散式建構作業,或在本機機器上執行的建構作業。因此,您需要更穩固的基礎架構來分享資源及建構結果 (而真的是真的精靈!)

  • 依附元件管理

    本頁面會說明大規模的依附元件相依性問題,並會抵觸這些衝突的策略。