Skip to main content

Configuring Build Hub for GitHub Actions

概要

Create a Bitrise machine pool, and then configure your GitHub Actions workflow to successfully run it on Bitrise Build Hub infrastructure. You need either a GitHub personal access token or a GitHub app to authenticate.

To successfully use Build Hub for GitHub Actions, you need to:

  1. Create a machine pool on Bitrise.

    The machine pool requires authentication information. You can either:

  2. Configure your GitHub Actions workflow to use Bitrise infrastructure for your builds.

Creating GitHub personal access tokens for Build Hub

You can use a GitHub personal access token to authenticate Build Hub to GitHub Actions. You can use either a classic access token or a fine-grained access token, depending on your needs. Read more on how authentication works: Authentication for Build Hub.

To create the token on GitHub:

Fine-grained

Classic

Token availability

Only organization-level target scopes can have fine-grained access tokens: [認証].

  1. Go through the process described here until you get to selecting a resource owner.

  2. Select a resource owner: it should be the organization.

    Authorization

    The organization might require authorization for the token: for example, you might be prompted to log in via SSO.

  3. Under Repository access, select All repositories.

  4. Under Permissions, select Organizations.

  5. Click Add permissions.

  6. Select Self-hosted runners.

  7. Set the access to Read and write.

    2026-02-06-github-token.png
  8. Click Generate token.

  9. Copy your personal access token: you won't be able to see it again but you need it when creating a machine pool.

Target scopes

Check the required permissions for the different target scopes: [認証].

  1. Go through the process described here until you get to selecting the scopes.

  2. Select the right scope: it depends on the target scope you need for your machine pool.

    • GitHub Cloud organization (https://github.com/<org>) and GHE organization (https://<hostname>/<org>): org:admin

    • GitHub Enterprise (GHE) Cloud (https://github.com/enterprises/<enterprise>) and GHE Server (https://<hostname>/enterprises/<enterprise>): manage_runners:enterprise.

    • GitHub Cloud repository (https://github.com/<owner>/<repo>) and GHE repository (https://<hostname>/<owner>/<repo>): workflow.

  3. Click Generate token.

  4. Copy your personal access token: you won't be able to see it again but you need it when creating a machine pool.

マシンプールの作成

Bitriseハードウェア上でGitHub Actionビルドを実行できるマシンプールを作成します。このプロセスは、使用するかどうかによって少し異なります。 GitHub アプリケーション または GitHub パーソナルアクセストークン 認証用。

GitHub アプリケーション認証

GitHub パーソナルアクセストークン

  1. 左側のナビゲーションバーで、 ビルドハブ

    20260320-build-hub-menu.png
  2. クリック +マシンプール

  3. を開く アカウントを選択 ドロップダウンメニューをクリックしてクリック アカウントを接続

  4. GitHub を選択してください (GitHub アプリケーション) そしてクリック インストールを続行

    2026-03-20-connect-account-githubapp.png
  5. リソース所有者を選択します。

  6. リポジトリスコープを選択します。

    • すべてのリポジトリ: リソース所有者が所有する現在および将来のすべてのリポジトリに適用されます。パブリックリポジトリ (読み取り専用) も含まれます

    • リポジトリのみを選択: リポジトリを少なくとも 1 つ選択してください。パブリックリポジトリ (読み取り専用) も含まれます

    20260320-github-buildhub-app-install.png
  7. ランナーグループとオプションでランナーバージョンを追加し、をクリックします。 [次へ]

    • ランナーのバージョンは v2.328.0 のように正確である必要があります。ランナーバージョンを指定しない場合、最新バージョンが使用されます

    • ランナーグループ 複数のランナーを集め、その周囲にセキュリティ境界を設けるために使用されます。

  8. Check Use Bitrise for GitHub Actions caching if you want Bitrise infrastructure to handle GitHub Actions cache requests instead of GitHub's cache backend.

    This results in faster cache operations.

  9. Click Next.

  10. プールに一意の名前を設定します。

  11. で画像を選択します [イメージ] ドロップダウンメニューと必要なマシンの数 マシン数 フィールド。

    で画像を確認できます スタックレポートページ

    2026-02-04-machine-pool-image.png
  12. マシンタイプを選択します。

    Bitriseマシンの詳細については、以下をご覧ください マシンを構築する

  13. ローリングアップデートの割合を設定します。これは、再構成後に同時に再起動されるマシンの数です。

  14. 完了したら、をクリックします [次へ]

  15. ラベルの作成:次のことが可能になります GitHub アクション設定 Bitrise ランナープールをターゲットにするためです。少なくとも 1 つのラベルが必要です

    ラベルはキーと値のペアですが、必須はキーだけです。デフォルトでは、Bitriseはプール名、イメージ、マシンタイプのラベルを提案します。これらはいつでも変更できます

  16. オプションで、ウォームアップスクリプトを追加してビルド環境をカスタマイズします。完了したら、をクリックします プールを作成

    ウォームアップスクリプトが必要ない場合は空のままにしてください。

    0 以外の終了コード

    エラーが発生した場合は、必ず 0 以外の終了コードを返すようにしてください。スクリプトが失敗するのは、スクリプトが 0 以外の終了コードを返した場合だけです

  1. 左側のナビゲーションバーで、 ビルドハブ

    20260320-build-hub-menu.png
  2. クリック + マシンプール

  3. を開く アカウントを選択 ドロップダウンメニューをクリックしてクリック アカウントを接続

  4. クリック アカウントを接続 そして選択してください GitHub (PAT)

  5. 接続名とターゲットスコープ URL を設定します。

    ターゲットスコープの詳細については、こちらをご覧ください。 ターゲットスコープ

    20260204-machine-pool-target-scope.png
  6. の中に 個人アクセストークン フィールドに GitHub 個人アクセストークンを追加してクリック [接続]

  7. ランナーグループと、オプションでランナーバージョンを追加します。

    • ランナーのバージョンは v2.328.0 のように正確である必要があります。ランナーバージョンを指定しない場合、最新バージョンが使用されます

    • ランナーグループ 複数のランナーを集め、その周囲にセキュリティ境界を設けるために使用されます。

  8. Check Use Bitrise for GitHub Actions caching if you want Bitrise infrastructure to handle GitHub Actions cache requests instead of GitHub's cache backend.

    This results in faster cache operations.

  9. Click Next.

  10. プールに一意の名前を設定します。

  11. で画像を選択します [イメージ] ドロップダウンメニューと必要なマシンの数 マシン数 フィールド。

    で画像を確認できます スタックレポートページ

    2026-02-04-machine-pool-image.png
  12. マシンタイプを選択します。

    Bitriseマシンの詳細については、以下をご覧ください マシンを構築する

  13. ローリングアップデートの割合を設定します。これは、再構成後に同時に再起動されるマシンの数です。

  14. 完了したら、をクリックします [次へ]

  15. ラベルの作成:次のことが可能になります GitHub アクション設定 Bitrise ランナープールをターゲットにするためです。少なくとも 1 つのラベルが必要です

    ラベルはキーと値のペアですが、必須はキーだけです。デフォルトでは、Bitriseはプール名、イメージ、マシンタイプのラベルを提案します。これらはいつでも変更できます

  16. オプションで、ウォームアップスクリプトを追加してビルド環境をカスタマイズします。完了したら、をクリックします プールを作成

    ウォームアップスクリプトが必要ない場合は空のままにしてください。

    0 以外の終了コード

    エラーが発生した場合は、必ず 0 以外の終了コードを返すようにしてください。スクリプトが失敗するのは、スクリプトが 0 以外の終了コードを返した場合だけです

GitHub アクションワークフローを設定する

マシンプールを正常に作成したら、ビルドの実行時にマシンプールを使用するように GitHub Actions ワークフローを設定する必要があります。

を使う runs-on Bitrise マシンを指定するためのワークフロー内のプロパティ。ランナーに割り当てられたラベルに基づいてランナーをターゲットにできます

  1. GitHub リポジトリを開いて選択してください アクション

  2. 左側で、ワークフローの名前をクリックします。

  3. ワークフローの名前の下で、をクリックします デプロイ.yml

  4. を追加 runs-on Build Hub で実行したいジョブのプロパティ。次の場合に作成するラベルをターゲットにする必要があります マシンプールの作成または更新

    • ラベルは 1 つだけ使用できます。これにより、指定したラベルを持つすべてのランナーが使用できるようになります

      jobs:
        build:
          runs-on: xcode-26
      
    • ラベルの配列を使用できます。ランナーが許可されるのは、指定されたラベルがすべて揃っている場合だけです。

      jobs:
        build:
          runs-on: [bitrise-runner, xcode-26]
      

についての詳細は runs-on プロパティ、チェックして GitHub アクションドキュメンテーション

Linux マシンがツールにアクセスできるようにする

Linuxマシンでは、ビルドハブでGitHub Actionsワークフローを実行するときに、Linuxイメージにプリインストールされているツールにアクセスするための回避策が必要です。

GitHub Actions ワークフローがを使用するとき container: Docker コンテナ内のステップを実行するプロパティです。ランナーはイメージのツール設定を壊すような方法で環境を変更します。つまり、ビルドはアクセスできないということです asdf ツールマネージャーなので、プリインストールされているツールにはアクセスできません。

問題を解決するには:

  1. を追加 env GitHub Actions ワークフローのコンテナ設定へのプロパティ。3 つの環境変数を設定すると asdf そのコアスクリプトとプラグイン、インストール済みバージョン、シムがどこにあるか、そしてイメージのスクリプトをオーバーライドするには BASH_ENV=/.bashrc

    container:
      image: bitriseio/ubuntu-noble-24.04-bitrise-2025-android:latest
      env:
        ASDF_DIR: /root/.asdf
        ASDF_DATA_DIR: /root/.asdf
        BASH_ENV: /root/.asdf/asdf.sh
    
  2. の下に defaults プロパティ、デフォルトシェルをに設定 bash

    container:
      image: bitriseio/ubuntu-noble-24.04-bitrise-2025-android:latest
      env:
        ASDF_DIR: /root/.asdf
        ASDF_DATA_DIR: /root/.asdf
        BASH_ENV: /root/.asdf/asdf.sh
      defaults:
        run:
          shell: bash
    
  3. の下に steps プロパティ、イメージのデフォルトツールバージョンを次の場所にコピーするステップを追加 asdf 彼らを期待しています。

    steps:
      - name: Setup environment
        run: |
          cp /root/.tool-versions "$HOME/.tool-versions"
    
  4. すべての作業ディレクトリを安全なものとして扱うように Git に指示してください。これがないと、ディレクトリの所有権が一致しないために一部のコマンドが失敗する可能性があります

    steps:
      - name: Setup environment
        run: |
          cp /root/.tool-versions "$HOME/.tool-versions"
          git config --global --add safe.directory '*'