ビルドシステムはエンジニアリング組織で最も重要な要素の一つ なぜなら 各開発者が何十、何百回も そのデータを操作するからです (1 日あたり)デベロッパーが機能を有効にするには、完全な機能を備えたビルドシステムが必要です。 向上させることができます個々のデベロッパーにとって コードをコンパイルするだけで済むため、ビルドシステムは できます。ただし、大規模なプロジェクトでは、ビルドシステムを使用すると、コードベースの別の部分やライブラリなどの外部リソースへの依存関係などの共有依存関係を管理できます。ビルドシステムを使用すると、ビルドを開始する前に、コードのビルドに必要なものがすべて揃っていることを確認できます。エンジニアがリソースと結果を共有できるようにビルドシステムを設定すると、速度も向上します。
このセクションでは、システムの構築とビルドシステムに関する歴史と基本事項について説明します。 Bazel の開発に関わる設計上の決定事項を含めました。Bazel、Buck、Pants などのアーティファクト ベースのビルドシステムに精通している場合は、このセクションをスキップできます。ただし、アーティファクト ベースのビルドシステムがスケールを可能にする理由を理解するには、この概要が役立ちます。
-
ビルドシステムを初めて使用する場合は、まずこちらをご覧ください。このページでは、ビルドシステムを使用する理由と、組織が数人のデベロッパーを超えて拡大し始めると、コンパイラとビルドスクリプトが最適な選択肢ではなくなる理由について説明します。
-
このページでは、タスクベースのビルドシステム(Make、Maven、 Gradle など)と、その課題について説明します。
-
このページでは、問題に対処するためのアーティファクト ベースのビルドシステムについて説明します。 タスクベースのビルドシステムの重要な部分です。
-
このページでは、分散ビルド、つまり Google Cloud の外部で実行されるビルドについて説明します。 インストールします。そのためには、インフラストラクチャを 結果を構築します(真のウィザードはここで行われます)。
-
このページでは、大規模な依存関係の複雑さと、その複雑さを軽減するための戦略について説明します。