BazelCon 2024 註冊和 CFP 現已開放! 如需穩定版本的說明文件,請使用「版本化文件」下拉式選單。預設檢視會反映位於 HEAD 的最新版本。
建構基本概念
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
回報問題open_in_new
查看來源open_in_new
Nightly
建構系統是工程機構最重要的部分之一,因為每位開發人員每天可能會與建構系統互動多達數十或數百次。機構若想擴大開發人員規模,就必須具備功能完善的建構系統。對個別開發人員而言,直接編譯程式碼是簡單的做法,因此建構系統似乎會過於龐大。但大規模來說,擁有建構系統有助於管理共用依附元件,例如依賴程式碼集的另一部分或外部資源 (例如程式庫)。而建構系統有助於確保在開始建構程式碼之前,擁有建構程式碼所需的一切資源。建構系統也在設定時也加快了速度,以協助工程師分享資源和結果。
本節說明建構及建構系統的一些歷史記錄和基本概念,包括制定 Bazel 的設計決策。如果您熟悉 Bazel、Buck 和褲子等構件式建構系統,可以略過本節內容。不過,這份說明會講解學習構件建構系統為何非常適合擴大規模。
為什麼要使用建構系統?
如果您從未使用過建構系統,請由此開始。本頁將說明使用建構系統的原因,以及當貴機構開始向少數開發人員擴展規模後,為什麼編譯器和建構指令碼不是最佳選擇。
以任務為基礎的建構系統
本頁說明以任務為基礎的建構系統 (例如 Make、Maven 和 Gradle) 和一些挑戰。
以構件為基礎的建構系統
本頁面討論以構件為基礎的建構系統,回應工作型建構系統的問題點。
分散式版本
本頁說明在本機電腦以外執行的分散式版本或建構。這需要更穩健的基礎架構來共用資源和建構成果,這也是真正的繁瑣之處!
依附元件管理
本頁面說明大規模的依附元件複雜性,以及因應這些小工具的策略。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2024-06-26 (世界標準時間)。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"缺少我需要的資訊"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"過於複雜/步驟過多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"過時"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻譯問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/程式碼問題"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"容易理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"確實解決了我的問題"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]