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

GitHub Actions向けmachine poolsの作成

GitHub Actions で Build Hub を正常に使用するには、次の操作が必要です。

  1. Bitrise でマシンプールを作成します。

    マシンプールには認証情報が必要です。Enterprise プランでは Bitrise - Build Hub アプリまたは GitHub パーソナルアクセストークンのいずれかを使用できます。それ以外のすべてのプラン(無料トライアル、Starter、Pro)ではアプリのみ使用できます。

  2. GitHub Actions ワークフローを設定して、ビルドに Bitrise インフラストラクチャを使用します。

マシンプールを作成するClick to copy link​

Bitrise ハードウェア上で GitHub Action ビルドを実行できるマシンプールを作成します。認証方法によってプロセスが若干異なります。GitHub 組織にインストールされた GitHub アプリ、個人の GitHub アカウントにインストールされた GitHub アプリ、または Enterprise プランの場合は GitHub パーソナルアクセストークン のいずれかです。

GitHub アプリは GitHub 組織または個人の GitHub アカウントにインストールできます。Bitrise ウィザードに戻ると、この2つは若干異なる動作をします。

  • 組織の接続では、ランナーがランナーグループに登録されます。
  • 個人アカウントの接続では、個人アカウントにランナーグループがないため、単一のリポジトリに直接登録されます。
パブリックリポジトリ

パブリックリポジトリ向けのビルドを実行する予定がある場合は、マシンプールが登録されるランナーグループで、GitHub の(Organization 設定 → Actions → Runner group)Allow パブリックリポジトリを有効にする必要があります。これを行わないと、GitHub は Build Hub ランナーにパブリックリポジトリからのジョブをディスパッチしません。プール、ラベル、認証がすべて正常であっても、ジョブは無期限にキューに残ったままになります。

Enable、この設定は自己責任で使用してください。 GitHub では重大なセキュリティ上の理由から、デフォルトでこれが無効になっています。パブリックリポジトリ上のフォーク PR ワークフローは、セルフホストの Build Hub ランナー上で外部コントリビューターの信頼できないコードを実行できるため、ビルド環境、シークレット、インフラストラクチャが危険にさらされます。有効にする前に、少なくともフォーク PR のワークフローに承認を必須にしてください。詳しくは、GitHub ドキュメントのパブリックフォークからのワークフロー実行の承認を参照してください。

  1. 左側のナビゲーションバーで Build Hub を選択します。

  2. Machine pool をクリックします。

    左側のナビゲーションバーの Build Hub 項目と Machine pool ボタンがハイライトされた Build Hub ページ

  3. CI provider ドロップダウンメニューを開きます。既存の connected account を選択するか、Connect account をクリックして新規に追加します。

  4. GitHub (GitHub App) を選択し、Continue to install をクリックします。

    SCR-20260320-mmwy.png

  5. リソースオーナーとして、GitHub 組織を選択します。

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

    • All repositories: 組織が所有する現在および今後のすべてのリポジトリに適用されます。パブリックリポジトリ(読み取り専用)も含まれます。
    • Only select repositories: 少なくとも1つのリポジトリを選択します。パブリックリポジトリ(読み取り専用)も含まれます。

    インストールを特定のリポジトリに限定した場合、そのワークフローの runs-on ラベルがこのプールと一致していても、Bitrise はそのリスト外のリポジトリに対してジョブをディスパッチできません。

    SCR-20260320-nqmt.png

  7. 一意の Pool name を設定します。作成後は変更できません。

  8. CI provider ドロップダウンメニューで connected account を選択します。

  9. Runner group を追加します。

    ランナーグループ は GitHub でセキュリティ境界を作成し、どのリポジトリまたは組織がランナーにジョブをディスパッチできるかを制御します。グループが GitHub にまだ存在しない場合は、Bitrise が自動的に作成します。ランナーグループは、ワークフローでこの特定のプールをターゲットにするためには使用しません。代わりにラベルと runs-on プロパティを使用してください。

    完了したら、Next をクリックします。

  10. Image ドロップダウンメニューでイメージを選択します。

    イメージは stack reports ページ で確認できます。

  11. Machine type ドロップダウンメニューでマシンタイプを選択します。

    Bitrise マシンの詳細については、Build machinesをご覧ください。

  12. プールの Capacity(マシン数の上限)を設定します。選択したマシンタイプで利用可能な数までです。

    • Maximum: このプールが同時に実行する最大マシン数です。
    • Minimum: このフィールドが workspace で利用可能な場合、これは GitHub App 接続でのみ表示されます。マシンを稼働し続けることで、次のビルドが即座に開始されます。作業がないときにゼロまでスケールダウンするには、0 のままにします。

    完了したら、Next をクリックします。

  13. GitHub のキャッシュバックエンドの代わりに Bitrise インフラストラクチャで GitHub Actions のキャッシュリクエストを処理したい場合は、Use Bitrise for GitHub Actions caching をオンにします。

    これにより、キャッシュ操作が高速化されます。

  14. 必要に応じて、Workflow が実行される前にビルド環境をカスタマイズするウォームアップスクリプトを追加します。

    ウォームアップスクリプトが不要な場合は、空のままにします。

    ゼロ以外の終了コード

    ビルド開始の失敗を防ぐため、エラー発生時にスクリプトがゼロ以外の終了コードを返すようにしてください。

    完了したら、Next をクリックします。

  15. 必要に応じて、ワークフローでこのプールをターゲットにしやすくするための追加のラベルを追加します。

    Bitrise は常にデフォルトのラベルセット(pool name、イメージ、マシンタイプ)を適用し、これらは変更も削除もできません。これらに加えて独自のラベルを追加できます。ラベルはキーと値のペアですが、必須なのはキーのみです。ラベルは GitHub Actions の設定がこのプールをターゲットにする方法であるため、ワークフローファイル内の runs-on プロパティがここで設定したラベルと同じものを使用していることを確認してください。ランナープールにジョブの runs-on プロパティで指定されたすべてのラベルが揃っていない場合、そのジョブはそのプールでは実行されません。

  16. Create pool をクリックします。

Build Hub 用の GitHub パーソナルアクセストークンを作成するClick to copy link​

Enterprise プラン限定

パーソナルアクセストークン認証は、Enterprise プランでのみ利用できます。無料トライアルおよびセルフサーブの workspaces は、代わりに Bitrise - Build Hub GitHub App を使用する必要があります。詳しくは Authentication for Build Hub を参照してください。

Enterprise プランの場合、この手順は任意です。GitHub App を使用していない場合にのみ、パーソナルアクセストークンを作成してください。

GitHub パーソナルアクセストークンを使用して、Build Hub を GitHub Actions に対して認証できます。ニーズに応じて、クラシックアクセストークンまたはきめ細かいアクセストークンのいずれかを使用できます。認証の仕組みについて詳しくは、Authentication for Build Hub を参照してください。

GitHub でトークンを作成するには:

  1. リソースオーナーの選択に進むまで、こちらで説明されている手順 に従います。

  2. リソースオーナーを選択します。組織を選択してください。

    承認

    組織がトークンの承認を必要とする場合があります。たとえば、SSO 経由でログインを求められることがあります。

  3. Repository access で、All repositories を選択します。

  4. Permissions で、Organizations を選択します。

  5. Add permissions をクリックします。

  6. Self-hosted runners を選択します。

  7. アクセス権を Read and write に設定します。

    github-fine-grained-token-permissions.png

  8. Generate token をクリックします。

  9. パーソナルアクセストークンをコピーします。これは二度と表示されませんが、マシンプールの作成 時に必要になります。