Bazel の概要

問題を報告する ソースを表示 夜間 · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Bazel は、Make、Maven、Gradle に似たオープンソースのビルドおよびテストツールです。 人が読める高レベルのビルド言語を使用します。Bazel は次のプロジェクトをサポートしています。 複数の言語に対応し、複数のプラットフォーム用の出力を作成します。Bazel のサポート 大規模なコードベースが複数のリポジトリに分散し、多数のユーザーに利用されています。

利点

Bazel には次の利点があります。

  • 高レベルのビルド言語。Bazel では、人が読める形式の抽象 プロジェクトのビルド プロパティを 必要があります。他のツールとは異なり、Bazel はコンセプトに基づいて動作します 一連のライブラリ、バイナリ、スクリプト、データセットに 保護されるため、 コンパイラや SQL のようなツールの個別の呼び出しを できます。

  • Bazel は高速で信頼性があります。Bazel では、これまでに行われたすべての作業と ファイルの内容とビルドコマンドの両方に対する変更を追跡します。Bazel は 再構築が必要なタイミングを認識し、それだけを再構築します。さらに ビルドのスピードアップを図るため、高度なレベルでのビルドを行うようにプロジェクトを設定できます。 並列実行と増分実行です

  • Bazel はマルチプラットフォームです。Bazel は Linux、macOS、Windows で動作します。Bazel 以下を含む複数のプラットフォーム用のバイナリとデプロイ可能なパッケージをビルドできます。 パソコン、サーバー、モバイルの 3 つを同じプロジェクトから分離できます。

  • Bazel スケーリング。Bazel は、10 万以上のビルドを処理しながらアジリティを維持 表示されます。数十の異なるリポジトリやユーザーベースで動作する 備えています。

  • Bazel は拡張可能です。多くの言語が 他の言語や言語をサポートするために Bazel を拡張できます。 説明します。

Bazel の使用

Bazel でプロジェクトをビルドまたはテストするには、通常、次のようにします。

  1. Bazel をセットアップします。Bazel をダウンロードしてインストールします。

  2. プロジェクトのワークスペースを設定します。これは、プロジェクト Bazel がビルド入力と BUILD ファイルを検索するディレクトリと、そのディレクトリ ビルド出力を保存します。

  3. BUILD ファイルを作成する。これにより、Bazel にビルド内容とビルド方法を指示します。 構築します。

    BUILD ファイルを作成するには、次のコマンドを使用してビルド ターゲットを宣言します。 Starlark: ドメイン固有の言語。(例をご覧ください)。 こちらをご覧ください)。

    ビルド ターゲットは、Bazel がビルドする入力アーティファクトのセットを指定します。 Bazel がビルドに使用するビルドルール、オプション リソースを定義します。

    ビルドルールでは、Bazel が使用するビルドツールを指定します。たとえば、コンパイラや その構成を確認できます。Bazel には多くのビルドルールが付属 サポートされている言語で最も一般的なアーティファクト タイプを サポートしています。

  4. コマンドラインから Bazel を実行します。Bazel 出力をワークスペース内に配置します

Bazel を使用すると、ビルドするだけでなく、Terraform で テストを行い、ビルドをクエリする コード内の依存関係をトレースできます

Bazel ビルドプロセス

ビルドまたはテストを実行すると、Bazel は次の処理を行います。

  1. ターゲットに関連する BUILD ファイルを読み込みます。

  2. 入力とその内容を分析する 依存関係を指定すると、指定したビルドが アクションが 表示されます。

  3. 最終的なビルドが出力されるまで、入力に対するビルド アクションを実行 生成されます。

以前のビルド作業はすべてキャッシュに保存されているため、Bazel ではキャッシュに保存されたビルド作業を識別して再利用できます。 変更箇所のみを再構築または再テストしますさらに Bazel を設定してビルドとテストを実行することで、 密閉型でサンドボックス化し、スキューを最小限に抑えます。 再現性を最大化する。

アクション グラフ

アクション グラフは、ビルド アーティファクト、それらの関係、ビルド アーティファクト間の関係、 Bazel が実行するビルド アクションを確認します。このグラフのおかげで 変更を追跡する アクションの変更(ビルドコマンドやテストコマンドなど)に加え、 過去に行われたビルド作業を確認できますグラフでは コード内の依存関係を簡単にトレースできます。

スタートガイドのチュートリアル

Bazel の使い方については、スタートガイドをご覧になるか、 次の Bazel チュートリアルをご覧ください。