建構基本概念
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
回報問題open_in_new
查看原始碼open_in_new
建構系統是工程組織最重要的部分之一,因為每位開發人員每天與其互動數十次或數百次。想要在機構規模擴大時,提高開發人員的工作效率,就必須使用功能完整的建構系統。對個別開發人員來說,只編譯程式碼就很容易,因此建構系統看起來可能很繁雜。但在更大規模的規模下,建構系統可協助管理共用依附元件,例如依賴程式碼集的另一個部分或外部資源,如程式庫。建構系統可協助您在建構程式碼前,確定您具備建構程式碼所需的一切資源。建構系統也能在設定時加快速度,以協助工程師分享資源和結果。
本節會說明建構與建構系統的某些歷史記錄和基本知識,包括用於建立 Bazel 的設計決策。如果您熟悉以構件為基礎的建構系統 (例如 Bazel、Buck 和 Pants),可以略過此部分,但對於為何以構件為基礎的建構系統來說,能夠有效調度資源是很實用的總覽。
為何要建立建構系統?
如果您從未使用過建構系統,請先從這裡著手。本頁面說明使用建構系統的原因,以及在貴機構開始向更多開發人員進行擴充後,為何編譯器和建構指令碼並不是最佳選擇。
工作型建構系統
本頁討論以工作為基礎的建構系統 (例如 Make、Maven 與 Gradle) 及一些挑戰。
構建構建系統
本頁面討論以成果為基礎的建構系統,以回應工作型建構系統的難題。
分散式版本
此頁面涵蓋分散式建構,或在本機電腦以外的位置執行的版本。這需要更穩固的基礎架構來共用資源及建構結果 (這是真正的精靈!)
依附元件管理
本頁面會說明大規模的依附元件複雜性,以及這些衝突的策略。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2024-06-28 (世界標準時間)。
[{
"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":"其他"
}]