构建基础
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
报告问题open_in_new
查看源代码open_in_new
每夜 build
·
7.4
.
7.3
·
7.2
·
7.1
·
7.0
·
6.5
构建系统是工程组织最重要的部分之一,因为每位开发者每天可能与其互动数十次或数百次。随着组织规模的扩大,必须使用功能齐全的构建系统来提高开发者的工作效率。对于个人开发者来说,只需编译代码即可,因此构建系统可能显得过于复杂。但在更大规模的情况下,拥有构建系统有助于管理共享依赖项,例如依赖于代码库的另一部分或外部资源(例如库)。构建系统有助于确保
在开始构建之前拥有构建代码所需的一切。构建
通过设置,可帮助工程师
资源和结果。
本部分将介绍构建和构建系统的一些历史和基础知识,
其中包括编写 Bazel 的设计决策。如果您
熟悉基于工件的构建系统,例如 Bazel、Buck 和 Pants,
您可以跳过这一部分,但我们建议您大致了解一下
基于工件的构建系统在实现规模化方面非常出色。
为什么需要构建系统?
如果您之前未使用过构建系统,请从此处开始。本页介绍了为何应使用构建系统,以及为何在组织开始扩展到超过少数开发者的规模后,编译器和构建脚本不是最佳选择。
基于任务的构建系统
本页面讨论了基于任务的构建系统(例如 Make、Maven 和
Gradle)和他们的一些挑战。
基于工件的构建系统
本页面讨论了基于工件的构建系统来应对这一难题
和基于任务的构建系统的不同之处
分布式 build
本页介绍了分布式 build,即在本地机器之外执行的 build。这需要更强大的基础架构来共享
资源和构建成果(才是真正的神奇之处!)
依赖项管理
本页介绍了一些大型依赖项的复杂性,以及应对这些复杂性的策略。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-10-22。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-10-22。"],[],[]]