Skip to main content

Bazel 用 Bitrise ビルド キャッシュ

概要

Bazelのリモートキャッシュを正常に使用するには、 bitrise.bazelrc Bazel プロジェクトのリモート ビルド キャッシュを有効にするために必要な構成を含むファイル。Bitrise または他の CI 環境で実行されるビルドにリモート キャッシュを使用できます。

無料でお試しください

30 日間の無料トライアルを無料でご提供しています。お支払い情報を提供する必要もありません。トライアルは、Bitrise Build Cache を設定すると自動的に開始されます。

Bitrise Build Cacheを使い始めるにはここをクリックしてくださいBitrise アカウントをお持ちでない場合は、ビルド キャッシュの設定に進む前に、まずアカウントを作成するように求められます。

BazelのBitriseビルドキャッシュを正常に使用するには、 bitrise.bazelrc Bazel プロジェクトのキャッシュを有効にするために必要な構成を含むファイル。Bitrise または他の CI 環境で実行されるビルドに Bitrise ビルド キャッシュを使用できます。

Bitrise CI 環境での Bazel 用の Bitrise Build Cache の構成

専用のステップをワークフローに追加することで、Bitrise CI で Bazel 用の Bitrise ビルド キャッシュを使用できます。このステップは Bitrise ビルド キャッシュをアクティブ化します。実行後、Bazel ビルドは自動的にビルド キャッシュから読み取り、有効になっている場合は新しいエントリをプッシュします。

ワークフローエディター

ビットライズ

  1. でアプリを開きます ビットライズ

  2. クリック ワークフロー メインページのボタン。

  3. を追加 Bazel 用ビットライズビルドキャッシュ ワークフローにステップアップ。

    このステップでは設定は必要ありません。

  • 開く bitrise.yml ファイルを追加して activate-build-cache-for-bazel ワークフローへのステップ。

    このステップでは設定は必要ありません。

    your-workflow:
      steps:
        - git-clone: {}
        - activate-build-cache-for-bazel:
    

最初のビルド中、出力はキャッシュに保存されます。キャッシュが確実にウォームアップされるように、ビルドを数回実行することをお勧めします。

非 Bitrise CI 環境での Bazel 用の Bitrise ビルド キャッシュの構成

Bitrise Build Cache では、Bitrise CI を使用する必要はありません。他の CI/CD サービスを使用しても、リモート キャッシュを利用して Bazel のビルド時間を短縮できます。

これを行うには、ビルド中に Bitrise Build Cache CLI をダウンロードし、CLI を実行して Bitrise Build Cache を有効にするように CI 環境を構成する必要があります。

  1. Bitrise でパーソナル アクセス トークンを生成します。 パーソナルアクセストークンの作成

    プロセス中に必要になるため、トークンの値をコピーします。

  2. あなたの ワークスペース ID。これを行うには、ワークスペースのページに移動し、URL で ID を見つけます。

  3. CI 設定で以下の環境変数を設定します。

    • BITRISE_BUILD_CACHE_AUTH_TOKEN: 値はパーソナルアクセストークンでなければなりません。

    • BITRISE_BUILD_CACHE_WORKSPACE_ID: 値はBitrise Workspaceスラッグでなければなりません。

  4. 高速化したいステップの前に、次のスクリプトを CI 構成に追加します。

    環境

    スクリプトは、高速化したい Bazel コマンドと同じ環境で実行してください。たとえば、ビルド全体で複数の Docker コンテナを使用する場合は、Bitrise Build Cache CLI が Bazel コマンドと同じ Docker コンテナで実行されるようにしてください。

    #!/usr/bin/env bash
    set -euxo pipefail
    
    # download Bitrise Build Cache CLI
    curl -sSfL 'https://raw.githubusercontent.com/bitrise-io/bitrise-build-cache-cli/main/install/installer.sh' | sh -s -- -b /tmp/bin -d
    
    # run the CLI to enable Bitrise build cache for Bazel
    /tmp/bin/bitrise-build-cache activate bazel --cache --cache-push
    
  5. ワークスペースでリモートビルド実行を有効にしている場合は、以下を追加してローカルで使用することもできます --rbe フラグ。

    RBE をローカルで有効にする

    ワークスペース用にワーカーをセットアップし、リポジトリのプール設定を行う必要があります .bazelrc RBE をローカルで有効にする前にファイルしてください!

ローカル環境でのBazel用Bitriseビルドキャッシュの設定

どのマシンでもBazel用のBitriseビルドキャッシュを使用できます。 bitrise.bazelrc キャッシュ エンドポイントに必要な構成を含む構成ファイル。

  1. Bitrise でパーソナル アクセス トークンを生成します。 パーソナルアクセストークンの作成

    プロセス中に必要になるため、トークンの値をコピーします。

  2. あなたの ワークスペース ID。これを行うには、ワークスペースのページに移動し、URL で ID を見つけます。

  3. CI 設定で以下の環境変数を設定します。

    • BITRISE_BUILD_CACHE_AUTH_TOKEN: 値はパーソナルアクセストークンでなければなりません。

    • BITRISE_BUILD_CACHE_WORKSPACE_ID: 値はBitrise Workspaceスラッグでなければなりません。

  4. CLI をダウンロードして、一時的な場所にインストールします。これを使用する必要があるのは、ビルドキャッシュを 1 回アクティブにするか、いずれかの設定が変更された場合だけです。

    curl --retry 5 -sSfL 'https://raw.githubusercontent.com/bitrise-io/bitrise-build-cache-cli/main/install/installer.sh' | sh -s -- -b /tmp/bin -d
  5. Bitrise ビルドキャッシュを有効化します。

    設定を制御するために使用できるフラグはいくつかありますが、以下のデフォルト設定をお勧めします。

    /tmp/bin/bitrise-build-cache activate bazel --cache --cache-push=false

    キャッシュからプル中

    ビルド中のファイル変更が原因で誤ったキャッシュデータを誤って共有しないように、キャッシュからアーティファクトのみを取得することをお勧めします。

    フラグの完全なリストについては、CLIを確認してください /tmp/bin/bitrise-build-cache activate bazel --help コマンド。

  6. ワークスペースでリモートビルド実行を有効にしている場合は、以下を追加してローカルで使用することもできます --rbe フラグ。

    RBE をローカルで有効にする

    ワークスペース用にワーカーをセットアップし、リポジトリのプール設定を行う必要があります .bazelrc RBE をローカルで有効にする前にファイルしてください!

  7. オプションで、リポジトリのルートにリポジトリ URL を追加します .bazelrc ファイル。

    ローカルビルドを識別できるように、これを行うことをお勧めします。

    URL を置換してください

    コマンド内のプレースホルダー URL は、必ず自分のものに置き換えてください。

    build --remote_header='x-repository-url=https://github.com/bazelbuild/bazel.git'
    build --bes_header='x-repository-url=https://github.com/bazelbuild/bazel.git'

それだ!これで、どれでも実行できるようになりました bazel コマンドを実行して Bitrise ビルドキャッシュを活用してください。ビルド中に表示されるリンクから呼び出しの詳細を確認できます。

bazel-local-printout.png