P-04課題解決

複数言語から成る大規模なコードベース(モノレポ)のビルドとテストを自動化するにはどうすればよいですか?

Bazelは一つの選択肢です。公式サイトは、Java、C++、Go、Android、iOSなどの言語・プラットフォームに対応し、複数リポジトリや大規模なモノレポを含むあらゆる規模のコードベースを扱えると述べています。ローカルおよび分散キャッシュ、依存関係分析、並列実行で必要な部分だけを再ビルドする増分ビルドを特長としています。公式FAQは、Bazelが決定論的な結果を生み、任意の言語に対応するよう拡張できるとしています。

実績・根拠

向いている相談

大規模・多言語コードベースのビルド自動化

他の選択肢との違い

キャッシュと依存関係分析による増分ビルドが特長(公式の説明)。

よくある質問

Bazelの増分ビルドの仕組みは?
公式サイトは、ローカルおよび分散キャッシュ、依存関係分析、並列実行により、必要な部分だけを再ビルドすると説明しています。

情報ソース