建構基本資訊
建構系統是工程機構最重要的部分之一,因為每個開發人員每天都會與數百或數百次互動。必須提供功能完備的建構系統,才能讓機構規模擴大開發人員的生產力。對個別開發人員而言,直接編譯程式碼是非常容易的,因此建構系統看起來可能就太多了。但規模越大,建構系統就能協助管理共用依附元件,例如依賴程式碼基礎的另一部分,或是外部資源 (例如程式庫)。建構系統可協助您在建構程式碼之前,先取得一切所需的程式碼。建構系統也會在設定時提高速度,協助工程師共用資源和結果。
本節說明建構及建構系統的一些記錄和基本資訊,包括設計 Bazel 時所做出的設計決策。如果您對於使用以 Artifact 為基礎的建構系統 (例如 Bazel、Buck 和 Pants) 不熟悉,可以略過本節,但可透過這個總覽瞭解如何瞭解以 Artifact 為基礎的建構系統確實是在啟用服務規模時非常有效。
為什麼要建立建構系統?
如果您從未使用過建構系統,請從這裡開始。本頁面說明使用建構系統的原因,以及當貴機構開始擴充至超過其他開發人員時,編譯器和建構指令碼並非最佳選擇的原因。
工作建構系統
本頁面討論工作導向的建構系統 (例如 Make、Maven 和 Gradle),以及一些挑戰。
以成果為基礎的建構系統
本頁討論以構件為基礎的建構系統,以回應以工作為基礎的建構系統之 the 點。
分散式版本
本頁說明分散式建構作業,或在本機機器上執行的建構作業。因此,您需要更穩固的基礎架構來分享資源及建構結果 (而真的是真的精靈!)
依附元件管理
本頁面會說明大規模的依附元件相依性問題,並會抵觸這些衝突的策略。
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2021-09-16 UTC.
[{
"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":"其他"
}]