构建基础

报告问题 查看源代码 敬上 每晚 · 7.3。 · 7.2。 · 7.1。 · 7.0 · 6.5

构建系统是工程组织最重要的组成部分之一 因为每位开发者可能会与应用互动数十次或数百次 。开发者需要一个功能齐全的构建系统 工作效率。对于个人开发者来说 直接编译代码,因此构建系统可能看起来 过多。但从更大规模的角度来说,使用构建系统有助于管理 共享依赖项,例如依赖于代码库的其他部分,或 外部资源,例如库构建系统有助于确保 在开始构建之前拥有构建代码所需的一切。构建 通过设置,可帮助工程师 资源和结果。

本部分将介绍构建和构建系统的一些历史和基础知识, 其中包括编写 Bazel 的设计决策。如果您 熟悉基于工件的构建系统,例如 Bazel、Buck 和 Pants, 您可以跳过这一部分,但我们建议您大致了解一下 基于工件的构建系统在实现规模化方面非常出色。

  • 为什么要构建构建系统?

    如果您之前未使用过构建系统,请从这里开始。本页介绍了 应该使用构建系统,并了解编译器和构建脚本 当组织的规模开始超过 开发者。

  • 基于任务的构建系统

    本页面讨论了基于任务的构建系统(例如 Make、Maven 和 Gradle)和他们的一些挑战。

  • 基于工件的构建系统

    本页面讨论了基于工件的构建系统来应对这一难题 和基于任务的构建系统的不同之处

  • 分布式 build

    本页将介绍分布式 build,即在非 本地机器这需要更强大的基础架构来共享 资源和构建成果(才是真正的神奇之处!)

  • 依赖项管理

    本页将介绍大规模使用依赖项时可能遇到的一些复杂问题, 以消除这些复杂问题的影响。