メインコンテンツまでスキップ

非Bitrise CI環境でのBuild Cache for Bazelの設定

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

そのためには、ビルド中に Bitrise Build Cache CLI をダウンロードするよう CI 環境を設定し、続いて CLI を実行して Bitrise Build Cache を有効にします。

手順を手動で進める代わりに、AIコーディングエージェントを使ってセットアップすることもできます。Getting started with AIを参照してください。

GitHub Actions の使用

GitHub Actions の Workflow 例を掲載した専用ガイドがあります。Configuring the Build Cache for Bazel in GitHub Actionsを参照してください。

トークンの選択Click to copy link​

CI の連携には、workspace API トークンを使用してください。このトークンは個人ではなくworkspaceに属するため、担当者のロールが変わったり退社したりしても、ビルドは引き続き動作します。

Personal Access Tokenも使用できますが、作成したユーザーのロールを引き継ぎ、そのユーザーがworkspaceを離れると動作しなくなります。

ご自身のマシンでは、どちらも必要ありません。CLIがブラウザー経由でサインインし、認証情報をOSキーチェーンに保存します。お使いのビルドツール向けのローカルガイドについては、ローカル開発環境でのセットアップを参照してください。

キャッシュの設定Click to copy link​

  1. workspace API tokenを作成し、その値をコピーします。

    トークンには、少なくとも viewer workspace ロールを付与してください。これは Build Cache にアクセスできる最も低いロールです。

  2. workspace slug を取得します。Workspace settings ページを開き、左側のナビゲーションメニューで General settings を選択します。

  3. CI の設定で、次の Environment Variables を設定します。

    • BITRISE_BUILD_CACHE_AUTH_TOKEN: workspace API トークン。
    • BITRISE_BUILD_CACHE_WORKSPACE_ID: Bitrise workspace slug。
  4. 高速化したいステップの前に、次のスクリプトを CI の設定に追加します。

    環境

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

    #!/usr/bin/env bash
    set -euxo pipefail

    # download Bitrise Build Cache CLI into the user-local bin dir so bazel can
    # resolve it by name via `--credential_helper`
    mkdir -p "$HOME/.local/bin"
    curl --retry 5 -sSfL 'https://raw.githubusercontent.com/bitrise-io/bitrise-build-cache-cli/main/install/installer.sh' | sh -s -- -b "$HOME/.local/bin" -d
    export PATH="$HOME/.local/bin:$PATH"

    # run the CLI to enable Bitrise build cache for Bazel
    bitrise-build-cache activate bazel --cache --cache-push
  5. workspace で Remote Build Execution を有効にしている場合は、--rbe フラグを追加することで、ローカルでも利用できます。

    ローカルでの RBE の有効化

    ローカルで RBE を有効にする前に、workspace 用のワーカーと、リポジトリの .bazelrc ファイルにプール設定を用意しておく必要があります。