GitHub Actions向けmachine poolsの作成
GitHub Actions で Build Hub を正常に使用するには、次の操作が必要です。
-
Bitrise でマシンプールを作成します。
マシンプールには認証情報が必要です。Enterprise プランでは Bitrise - Build Hub アプリまたは GitHub パーソナルアクセストークンのいずれかを使用できます。それ以外のすべてのプラン(無料トライアル、Starter、Pro)ではアプリのみ使用できます。
- Bitrise - Build Hub GitHub アプリをインストールします。
- Enterprise プランの場合は、GitHub パーソナルアクセストークンを作成します。
-
GitHub Actions ワークフローを設定して、ビルドに Bitrise インフラストラクチャを使用します。
マシンプールを作成するClick to copy link
Bitrise ハードウェア上で GitHub Action ビルドを実行できるマシンプールを作成します。認証方法によってプロセスが若干異なります。GitHub 組織にインストールされた GitHub アプリ、個人の GitHub アカウントにインストールされた GitHub アプリ、または Enterprise プランの場合は GitHub パーソナルアクセストークン のいずれかです。
GitHub アプリは GitHub 組織または個人の GitHub アカウントにインストールできます。Bitrise ウィザードに戻ると、この2つは若干異なる動作をします。
- 組織の接続では、ランナーがランナーグループに登録されます。
- 個人アカウントの接続では、個人アカウントにランナーグループがないため、単一のリポジトリに直接登録されます。
- GitHub organization-based
- GitHub user-based
- GitHub personal access token
パブリックリポジトリ向けのビルドを実行する予定がある場合は、マシンプールが登録されるランナーグループで、GitHub の(Organization 設定 → Actions → Runner group)Allow パブリックリポジトリを有効にする必要があります。これを行わないと、GitHub は Build Hub ランナーにパブリックリポジトリからのジョブをディスパッチしません。プール、ラベル、認証がすべて正常であっても、ジョブは無期限にキューに残ったままになります。
Enable、この設定は自己責任で使用してください。 GitHub では重大なセキュリティ上の理由から、デフォルトでこれが無効になっています。パブリックリポジトリ上のフォーク PR ワークフローは、セルフホストの Build Hub ランナー上で外部コントリビューターの信頼できないコードを実行できるため、ビルド環境、シークレット、インフラストラクチャが危険にさらされます。有効にする前に、少 なくともフォーク PR のワークフローに承認を必須にしてください。詳しくは、GitHub ドキュメントのパブリックフォークからのワークフロー実行の承認を参照してください。
-
左側のナビゲーションバーで Build Hub を選択します。
-
Machine pool をクリックします。

-
CI provider ドロップダウンメニューを開きます。既存の connected account を選択するか、Connect account をクリックして新規に追加します。
-
GitHub (GitHub App) を選択し、Continue to install をクリックします。

-
リソースオーナーとして、GitHub 組織を選択します。
-
リポジトリのスコープを選択します。
- All repositories: 組織が所有する現在および今後のすべてのリポジトリに適用されます。パブリックリポジトリ(読み取り専用)も含まれます。
- Only select repositories: 少なくとも1つのリポジトリを選択しま す。パブリックリポジトリ(読み取り専用)も含まれます。
インストールを特定のリポジトリに限定した場合、そのワークフローの
runs-onラベルがこのプールと一致していても、Bitrise はそのリスト外のリポジトリに対してジョブをディスパッチできません。
-
一意の Pool name を設定します。作成後は変更できません。
-
CI provider ドロップダウンメニューで connected account を選択します。
-
Runner group を追加します。
ランナーグループ は GitHub でセキュリティ境界を作成し、どのリポジトリまたは組織がランナーにジョブをディスパッチできるかを制御します。グループが GitHub にまだ存在しない場合は、Bitrise が自動的に作成します。ランナーグループは、ワークフローでこの特定のプールをターゲットにするためには使用しません。代わりにラベルと
runs-onプロパティを使用してください。完了したら、Next をクリックします。
-
Image ドロップダウンメニューでイメージを選択します。
イメージは stack reports ページ で確認できます。
-
Machine type ドロップダウンメニューでマシ ンタイプを選択します。
Bitrise マシンの詳細については、Build machinesをご覧ください。
-
プールの Capacity(マシン数の上限)を設定します。選択したマシンタイプで利用可能な数までです。
- Maximum: このプールが同時に実行する最大マシン数です。
- Minimum: このフィールドが workspace で利用可能な場合、これは GitHub App 接続でのみ表示されます。マシンを稼働し続けることで、次のビルドが即座に開始されます。作業がないときにゼロまでスケールダウンするには、0 のままにします。
完了したら、Next をクリックします。
-
GitHub のキャッシュバックエンドの代わりに Bitrise インフラストラクチャで GitHub Actions のキャッシュリクエストを処理したい場合は、Use Bitrise for GitHub Actions caching をオンにします。
これにより、キャッシュ操作が高速化されます。
-
必要に応じて、Workflow が実行される前にビルド環境をカスタマイズするウォームアップスクリプトを追加します。
ウォームアップスクリプトが不要な場合は、空のままにします。
ゼロ以外の終了コードビルド開始の失敗を防ぐため、エラー発生時にスクリプトがゼロ以外の終了コードを返すようにしてください。
完了したら、Next をクリックします。
-
必要に応じて、ワークフローでこのプールをターゲットにしやすくするための追加のラベルを追加します。
Bitrise は常にデフォルトのラベルセット(pool name、イメージ、マシンタイプ)を適用し、これらは変更も削除もできません。これらに加えて独自のラベルを追加できます。ラベルはキーと値のペアですが、必須なのはキーのみです。ラベルは GitHub Actions の設定がこのプールをターゲットにする方法であるため、ワークフローファイル内の
runs-onプロパティがここで設定したラベルと同じものを使用していることを確認してください。ランナープールにジョブのruns-onプロパティで指定されたすべてのラベルが揃っていない場合、そのジョブはそのプールでは実行されません。 -
Create pool をクリックします。
-
左側のナビゲーションバーで Build Hub を選択します。
-
Machine pool をクリックします。

-
CI provider ドロップダウンメニューを開きます。既存の connected account を選択するか、Connect account をクリックして新規に追加します。
-
GitHub (GitHub App) を選択し、Continue to install をクリックします。

-
リソースオーナーとして、個人の GitHub アカウントを選択します。
-
リポジトリのスコープを選択します。
- All repositories: アカウントが所有する現在および今後のすべてのリポジトリに適用されます。パブリックリポジトリ(読み取り専用)も含まれます。
- Only select repositories: 少なくとも1つのリポジトリを選択します。パブリックリポジトリ(読み取り専用)も含まれます。

-
一意の Pool name を設定します。作成後は変更できません。
-
CI provider ドロップダウンメニューで connected account を選択します。
-
Repository を選択します。
個人アカウントにはランナーグループがないため、ランナーグループの代わりに、ランナーはここで選択した単一のリポジトリに直接登録されます。このリストには、現在 GitHub App インストールがアクセスできるリポジトリのみが含まれます。インストールを「Only select repositories」に限定していて別のリポジトリをターゲットにしたい場合は、先に GitHub でインストールのリポジトリアクセスを更新してください。
完了したら、Next をクリックします。
-
Image ドロップダウンメニューでイメージを選択します。
イメージは stack reports ページ で確認できます。
-
Machine type ドロップダウンメニューでマシンタイプを選択します。
Bitrise マシンの詳細については、Build machinesをご覧ください。
-
プールの Capacity(マシン数の上限)を設定します。選択したマシンタイプで利用可能な数までです。
- Maximum: このプールが同時に実行する最大マシン数です。
- Minimum: このフィールドが workspace で利用可能な場合、これは GitHub App 接続でのみ表示されます。マシンを稼働し続けることで、次のビルドが即座に開始されます。作業がないときにゼロまでスケールダウンするには、0 のままにします。
完了したら、Next をクリックします。
-
GitHub のキャッシュバックエンドの代わりに Bitrise インフラストラクチャで GitHub Actions のキャッシュリクエストを処理したい場合は、Use Bitrise for GitHub Actions caching をオンにします。
これにより、キャッシュ操作が高 速化されます。
-
必要に応じて、Workflow が実行される前にビルド環境をカスタマイズするウォームアップスクリプトを追加します。
ウォームアップスクリプトが不要な場合は、空のままにします。
ゼロ以外の終了コードビルド開始の失敗を防ぐため、エラー発生時にスクリプトがゼロ以外の終了コードを返すようにしてください。
完了したら、Next をクリックします。
-
必要に応じて、ワークフローでこのプールをターゲットにしやすくするための追加のラベルを追加します。
Bitrise は常にデフォルトのラベルセット(pool name、イメージ、マシンタイプ)を適用し、これらは変更も削除もできません。これらに加えて独自のラベルを追加できます。ラベルはキーと値のペアですが、必須なのはキーのみです。ラベルは GitHub Actions の設定がこのプールをターゲットにする方法であるため、ワークフローファイル内の
runs-onプロパティがここで設定したラベルと同じものを使用していることを確認してください。 -
Create pool をクリックします。
パーソナルアクセストークン認証は、Enterprise プランでのみ利用できます。
-
左側のナビゲーションバーで Build Hub を選択します。
-
Machine pool をクリックします。

-
CI provider ドロップダウンメニューを開きます。既存の connected account を選択するか、Connect account をクリックして新規に追加します。
-
Connect account をクリックし、GitHub (PAT) を選択します。
-
connection name と target scope URL を設定します。
ターゲットスコープの詳細については、こちらをご覧ください: Target scope

-
Personal access token フィールドに GitHub パーソナルアクセストークンを入力し、Connect をクリックします。
-
一意の Pool name を設定します。作成後は変更できません。
-
CI provider ドロップダウンメニューで connected account を選択します。
-
Runner group を追加します。
ランナーグループ は GitHub でセキュリティ境界を作成し、どのリポジトリまたは組織がランナーにジョブをディスパッチできるかを制御します。グループが GitHub にまだ存在しない場合は、Bitrise が自動的に作成します。ランナーグループは、ワークフローでこの特定のプールをターゲットにするためには使用しません。代わりにラベルと
runs-onプロパティを使用してください。完了したら、Next をクリックします。
-
Image ドロップダウンメニューでイメージを選択します。
イメージは stack reports ページ で確認できます。
-
Machine type ドロップダウンメニューでマシンタイプを選択します。
Bitrise マシンの詳細については、Build machinesをご覧ください。
-
プールの Capacity(マシン数の上限)を設定します。選択したマシンタイプで利用可能な数までです。
- Maximum: このプールが同時に実行する最大マシン数です。
- Minimum: このフィールドが workspace で利用可能な場合、これは GitHub App 接続でのみ表示されます。マシンを稼働し続けることで、次のビルドが即座に開始されます。作業がないときにゼロまでスケールダウンするには、0 のままにします。
完了したら、Next をクリックします。
-
GitHub のキャッシュバックエンドの代わりに Bitrise インフラストラクチャで GitHub Actions のキャッシュリクエストを処理したい場合は、Use Bitrise for GitHub Actions caching をオンにします。
これにより、キャッシュ操作が高速化されます。
-
必要に応じて、Workflow が実行される前にビルド環境をカスタマイズするウォームアップスクリプトを追加します。
ウォームアップスクリプトが不要な場合は、空のままにします。
ゼロ以外の終了コードビルド開始の失敗を防ぐため、エラー発生時にスクリプトがゼロ以外の終了コードを返すようにしてください。
完了したら、Next をクリックします。
-
必要に応じて、ワークフローでこのプールをターゲットにしやすくするための追加のラベルを追加します。
Bitrise は常にデフォルトのラベルセット(pool name、イメージ、マシンタイプ)を適用し、これらは変更も削除もできません。これらに加えて独自のラベルを追加できます。ラベルはキーと値のペアですが、必須なのはキーのみです。ラベルは GitHub Actions の設定がこのプールをターゲットにする方法であるため、ワークフローファイル内の
runs-onプロパティがここで設定したラベルと同じものを使用していることを確認してください。 -
Create pool をクリックします。
Build Hub 用の GitHub パーソナルアクセストークンを作成するClick to copy link
パーソナルアクセストークン認証は、Enterprise プランでのみ利用できます。無料トライアルおよびセルフサーブの workspaces は、代わりに Bitrise - Build Hub GitHub App を使用す る必要があります。詳しくは Authentication for Build Hub を参照してください。
Enterprise プランの場合、この手順は任意です。GitHub App を使用していない場合にのみ、パーソナルアクセストークンを作成してください。
GitHub パーソナルアクセストークンを使用して、Build Hub を GitHub Actions に対して認証できます。ニーズに応じて、クラシックアクセストークンまたはきめ細かいアクセストークンのいずれかを使用できます。認証の仕組みについて詳しくは、Authentication for Build Hub を参照してください。
GitHub でトークンを作成するには:
- Fine-grained
- Classic
-
リソースオーナーの選択に進むまで、こちらで説明されている手順 に従います。
-
リソースオーナーを選択します。組織を選択してください。
承認組織がトークンの承認を必要とする場合があります。たとえば、SSO 経由でログインを求められることがあります。
-
Repository access で、All repositories を選択します。
-
Permissions で、Organizations を選択します。
-
Add permissions をクリックします。
-
Self-hosted runners を選択します。
-
アクセス権を Read and write に設定します。

-
Generate token をクリックします。
-
パーソナルアクセストークンをコピーします。これは二度と表示されませんが、マシンプールの作成 時に必要になります。
-
スコープの選択に進むまで、こちらで説明されている手順 に従います。
-
適切なスコープを選択します。これはマシンプールに必要なターゲットスコープによって異なります。
- GitHub Cloud organization (
https://github.com/<org>) および GHE organization (https://<hostname>/<org>): org:admin - GitHub Enterprise (GHE) Cloud (
https://github.com/enterprises/<enterprise>) および GHE Server (https://<hostname>/enterprises/<enterprise>): manage_runners:enterprise。 - GitHub Cloud repository (
https://github.com/<owner>/<repo>) および GHE repository (https://<hostname>/<owner>/<repo>): workflow。
- GitHub Cloud organization (
-
Generate token をクリックします。
-
パーソナルアクセストークンをコピーします。これは二度と表示されませんが、マシンプールの作成 時に必要になります。