建構基本概念

回報問題 查看來源

建構系統是工程機構最重要的部分之一,因為每位開發人員每天可能會與建構系統互動多達數十或數百次。機構若想擴大開發人員規模,就必須具備功能完善的建構系統。對個別開發人員而言,直接編譯程式碼是簡單的做法,因此建構系統似乎會過於龐大。但大規模來說,擁有建構系統有助於管理共用依附元件,例如依賴程式碼集的另一部分或外部資源 (例如程式庫)。而建構系統有助於確保在開始建構程式碼之前,擁有建構程式碼所需的一切資源。建構系統也在設定時也加快了速度,以協助工程師分享資源和結果。

本節說明建構及建構系統的一些歷史記錄和基本概念,包括制定 Bazel 的設計決策。如果您熟悉 Bazel、Buck 和褲子等構件式建構系統,可以略過本節內容。不過,這份說明會講解學習構件建構系統為何非常適合擴大規模。

  • 為什麼要使用建構系統?

    如果您從未使用過建構系統,請由此開始。本頁將說明使用建構系統的原因,以及當貴機構開始向少數開發人員擴展規模後,為什麼編譯器和建構指令碼不是最佳選擇。

  • 以任務為基礎的建構系統

    本頁說明以任務為基礎的建構系統 (例如 Make、Maven 和 Gradle) 和一些挑戰。

  • 以構件為基礎的建構系統

    本頁面討論以構件為基礎的建構系統,回應工作型建構系統的問題點。

  • 分散式版本

    本頁說明在本機電腦以外執行的分散式版本或建構。這需要更穩健的基礎架構來共用資源和建構成果,這也是真正的繁瑣之處!

  • 依附元件管理

    本頁面說明大規模的依附元件複雜性,以及因應這些小工具的策略。