日程の確定: BazelCon 2023 は、Google ミュンヘンで 10 月 24 ~ 25 日に開催されます。詳細
ビルドの基本
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
問題を報告open_in_new
ソースを表示open_in_new
ビルドシステムはエンジニアリング組織にとって最も重要な部分の一つです。各デベロッパーが 1 日に数十または数百回もやり取りする可能性があるためです。組織の拡大に合わせてデベロッパーの生産性を高めるには、フル機能のビルドシステムが必要です。個々の開発者にとっては、コードをコンパイルするだけなので、ビルドシステムが過剰に見えることがあります。しかし、規模が大きいと、コードベースの別の部分やライブラリなどの外部リソースに依存するような共有依存関係の管理に、ビルドシステムが役立ちます。ビルドシステムを使用すると、ビルドを開始するのに必要なコードをすべて揃えることができます。また、エンジニアがリソースと結果を共有できるようにセットアップされている場合、速度が向上します。
このセクションでは、Bazel の作成に関する設計上の決定事項を含め、システムのビルドとビルドシステムの歴史と基本事項について説明します。Bazel、Buck、Pants などのアーティファクト ベースのビルドシステムに慣れている場合は、このセクションをスキップできます。ただし、アーティファクト ベースのビルドシステムがスケーリングの有効化に優れている理由を理解するのに役立ちます。
ビルドシステムのメリット
ビルドシステムを使用したことがない場合は、ここから始めます。このページでは、ビルドシステムを開発する必要がある理由と、組織が少数のデベロッパーを超えてスケーリングを開始したときにコンパイラとビルド スクリプトが最適な選択ではない理由について説明します。
タスクベースのビルドシステム
このページでは、タスクベースのビルドシステム(Make、Maven、Gradle など)とその課題について説明します。
アーティファクト ベースのビルドシステム
このページでは、タスクベースのビルドシステムの課題に対応するアーティファクト ベースのビルドシステムについて説明します。
分散ビルド
このページでは、分散ビルド、またはローカルマシンの外部で実行されるビルドについて説明します。リソースを共有し、結果を構築するには、より堅牢なインフラストラクチャが必要です(これが真のウィザードの登場する場所です)。
依存関係の管理
このページでは、大規模な依存関係のウォッチフェイスの追加機能の一部と、そうしたウォッチフェイスの追加機能に対抗するための戦略について説明します。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2023-03-28 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":"その他"
}]