Warm pools
warm poolは、指定した数の RDE セッションを起動済みのアイドル状態に保ちます。プールからセッションを作成する場合は、新しいマシンの起動とセットアップの実行に必要な数分ではなく、数秒で済みます。セッションを作成するときと同じように、セッションを一度だけ記述し、プールサイズを設定します。Bitrise はその数のセッションをウォーム状態に保ち、リクエストに応じて 1 つを割り当てます。
次のように、セッションがすぐに必要な場合は warm pool を使用します。
- 今すぐマシンが必要な AIエージェント。
- 1 日に多数の似たセッションを開始するチーム。
- レビュアーがクリックしてすぐにアプリが画面に表示されることを期待する、デバイスプレビューリンク。
Warm pools は、無料トライアルの workspaces では利用できません。
Warm pools はアルファ版です。RDE UI の Alpha バッジがそれを示しています。プールの構成、取得したセッションをパーソナライズする方法、関連する CLI コマンド、MCP ツール、API エンドポイントは、予告なく後方互換性のない形で変更される場合があります。テンプレート、スクリプト、自動化の調整が必要になることを想定してください。
warm poolの仕組みClick to copy link
warm poolは、保存されたセッション構成とプールサイズの2つの部分で構成されます。プールはworkspaceが所有します。
- 構成には、セッション作成リクエストと同じフィールドが含まれます:template、そのSharedおよび On create 入力の値、有効にした機能フラグ、そしてスタック、マシンタイプ、クラスター、仮想デバイスに対する任意のオーバーライド。
- プールサイズは、プールが起動した状態で保持するセッション数です。Bitriseがセッションを作成し、workspaceにworkspaceスクリプトがある場合はそれを実行し、続いてテンプレートの On create フックを実行して、セッションを準備完了の状態に保ちます。誰かが1つを取得すると、代わりのセッションが起動します。
- サイズ0のプールはセッションを保持しませんが、構成プリセットとしては引き続き機能します。そこから取得すると、保存された構成からセッションが作成されます。
セッションを取得すると、プールのウォームセッションの1つが割り当てられます。Bitriseが名前を変更し、指定した名前、ラベル、自動終了ウィンドウを適用します。準備完了のセッションがまだない場合は、まだウォームアップ中のセッションが割り当てられ、そのセッションがあなたのセッションとして起動を完了します。プールにウォームセッションがまったくない場合は、代わりにBitriseがプールの構成からセッションを作成します。すべてのセッションは由来を記録します:取得されたセッションのウォーム状態はclaimed、オンデマンドで作成されたセッシ ョンのウォーム状態はcoldです。RDE UIのセッション一覧では、これらが Claimed と Built cold のバッジとして表示されます。
ウォームセッションは、取得されるのを待つ通常のセッションであり、待機中もマシン時間を消費します。誰かが取得するまでは、どのセッション一覧にも表示されず、誰も接続、変更、終了できません。プールのページでそのログを読んで、テンプレートの On create フックが動作することを確認できます。ウォームセッションには自動終了タイマーがありません。誰かが取得するか、プールが縮小された、または構成が変更されたためにBitriseが破棄するまで待機します。
プールを使用できるユーザーClick to copy link
RDEアクセス権を持つworkspaceのメンバーは全員、プールを表示し、そこから取得し、管理できます。Workspace APIトークンで、CIからアクセスすることもできます。
プールは、テンプレートのSharedおよび On create 入力をプレーンな値として保存し、シークレットとしてマークされている場合は保存時に暗号化します。セッションを取得する人が On claim と On restore の入力を入力します。保存済み入力は個人用のため、プールから参照できません:プールが保存済み入力を使える特定の個人がいないためです。
取得したセッションの所有者Click to copy link
プールから取得したセッションは、自分で作成したセッションと同様にあなたのものであり、あなただけが表示・管理できます。ウォームセッションは誰かが取得する前に起動されるため、取得されるまでは個人的な情報は何も含まれていません。取得すると、Bitriseが、指定した場合はSSHキーとClaude認証情報をセットアップし、GitHub連携をオンにしている場合はGitHubにログインし、その後、On claim 入力を使ってテンプレートの On claim フックを実行します。warm poolでのフックの使用を参照してください。
取得したセッションを代わりに共有するには、取得時にオーナーとして Workspace を選択します。すると、すべてのメンバーが Workspace sessions の下でそのセッションを表示・管理でき、あなたは作成者として記録されます。Workspace APIトークンで取得したセッションと、プレビューリンクで開かれるデバイスセッションは、常にworkspaceに属します。
プールの作成Click to copy link
- RDE UI
- CLI
- AI agent (MCP)
- API
- Remote Dev Environmentsセクションで Warm pools を開き、New warm pool をクリックします。テンプレートのページでは、Create warm pool をクリックすると、テンプレートが選択済みの同じフォームが開きます。
- テンプレートを選択します。フォームには、そのテンプレートに必要な項目のみが表示されます:SharedおよびOn createの入力、機能フラグ、テンプレートがデバイスを起動する場合はデバイスセクション、そしてセッションフォームと同じ Override machine configuration スイッチです。
- Pool name を入力します。
- Pool size を設定します。
- Create warm pool をクリックします。
プールのページには、準備完了のセッション数とまだウォームアップ中のセッション数が表示されます。また、ウォームセッションを名前で一覧表示し、取得済みセッションとコールドセッションの累計数も表示します。
bitrise-cli rde warm-pool create ios-reviewers --template "iOS Xcode 26" --size 2
--inputと--secret-inputはテンプレートのSharedおよび On create 入力を設定し、--feature-flagはテンプレートの機能フラグを有効にし、--stack、--machine-type、--device-*フラグはテンプレートの宣言をオーバーライドします。プールIDを受け取るすべてのコマンドは、プールの名前も受け付けます。
平易な言葉で依頼します。例:「チーム用に、iOS Xcode 26テンプレートのセッションを2つウォーム状態に保ってください。」 エージェントは、テンプレート、入力、プールサイズを指定してbitrise_devenv_create_warm_poolを呼び出します。
curl -X POST "https://api.bitrise.io/rde/v1/workspaces/WORKSPACE_ID/warm-pools" \
-H "Authorization: token YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "ios-reviewers",
"template_id": "TEMPLATE_ID",
"pool_size": 2
}'
構成フィールドは、セッション作成リクエストのものと同じです。APIリファレンスのwarm poolの作成を参照してください。
Bitriseは、セッション作成リクエストと同じ方法で構成を検証します。不明な入力、必須入力の不足、マシンタイプで実行できないデバイスは、保存時に拒否されます。ウォームセッションは実行中のセッションであるため、他のセッションと同様にworkspaceのセッション上限にカウントされます。workspaceが上限に達していてプールがサイズに到達できない場合、プールのページにエラーが表示され、プールは再試行を続けます。
セッションの取得Click to copy link
- RDE UI
- CLI
- AI agent (MCP)
- API
New session フォームで、テンプレートを選択すると、Start from warm pool にそのプールが一覧表示され、プールが1つだけの場合は自動的に選択されます。プールを選択すると、構成セクションはプールによって固定されます。セッションに名前を付け、オーナー(デフォルトは Me)を選択し、自動終了ウィンドウを設定し、テンプレートに On claim と On restore の入力がある場合は入力します。プールのページにも、プールが選択済みのフォームを開く Claim a session ボタンがあります。
bitrise-cli rde session create my-fix --warm-pool ios-reviewers
--inputと--map-saved-inputsが、テンプレートの On claim と On restore の入力を設定します。
エージェントはwarm_pool_idをbitrise_devenv_createに渡します。取得できるプールを確認するには、bitrise_devenv_list_warm_poolsを呼び出します。
セッション作成リクエストでwarm_pool_idを設定し、構成フィールドは空のままにします。テンプレートの On claim と On restore の入力はsession_inputsで送信します。
プールが構成を固定します。テンプレート、SharedまたはOn createの入力、機能フラグ、スタック、マシンタイプ、クラスター、デバイスも渡す取得リクエストは、無視されずに拒否されます。セッションごとに、名前、説明、ラベル、自動終了ウィンドウは引き続き選択できます。デバイスを起動するプールでは、インストールするアプリのビルドも選択できます。
プールを健全に保つClick to copy link
Bitriseがすべてのプールを定期的にチェックし、サイズを維持します。知っておくべき点がいくつかあります:
- 構成を編集するとウォームセッションが置き換えられます。 入力、機能フラグ、マシンまたはデバイスの設定を変更すると、Bitriseは古い構成でウォームアップされたセッションを破棄し、新しいセッションを起動します。このような変更を保存する前に、UIが警告します。プールの名前変更やサイズ変更は、ウォームセッションに影響しません。
- テンプレートの編集も同様です。 プールはテンプレートに従うため、テンプレートのフックや変数を編集すると、プールのウォームセッションも置き換えられます。
- 構成が壊れるとプールが一時停止します。 テンプレートの編集によって、プールが設定していない必須入力が追加されたり、プールが有効にしている機能フラグが削除されたりするこ とがあります。その場合、プールは構成エラーを表示し、修正するまでセッションの作成を停止します。プールの既存のウォームセッションは引き続き取得できます。
- On create の失敗でプールが停止します。 After 3回連続で失敗すると、プールに Setup failed と表示され、ウォームアップを停止し、取得を拒否します。調査用に最後に失敗したマシンが保持され、Retry をクリックするとウォームアップが再開します。warm poolで On create が失敗した場合を参照してください。
- マシンの失敗が繰り返されるとプールが一時停止します。 マシンの起動に失敗すると、プールは再試行するまでしばらく待機し、新しいマシンを起動し続けないようにします。プールのページに最後のエラーが表示されます。
スケジュールによるプールのスケーリングClick to copy link
ウォームセッションはアイドル中もマシン時間のコストがかかるため、プールサイズは需要に必要な数に保ってください。サイズの変更は 1 回の呼び出しで行えるため、スケジュールを簡単に組めます。たとえば、営業時間に合わせてプールをウォームアップし、夕方に空にできます。Workspace API トークンを使った cron ジョブで実現できます。
0 8 * * 1-5 BITRISE_TOKEN=bitwat_… bitrise-cli rde warm-pool set-size ios-reviewers 3 --workspace WORKSPACE_ID -q
0 19 * * 1-5 BITRISE_TOKEN=bitwat_… bitrise-cli rde warm-pool set-size ios-reviewers 0 --workspace WORKSPACE_ID -q
サイズを 0 にすると、すべてのウォームセッションが破棄されますが、プール、その構成、およびそのプールで発行されたプレビューリンクは残ります。プールを削除すると、ウォームセッションが破棄され、そのプレビューリンクも無効になります。すでにプールから取得したセッションは通常のセッションであり、どちらの操作の影響も受けません。
デバイスプールとプレビューリンクClick to copy link
プールのテンプレートが仮想デバイスを起動する場合、プールはデバイスも起動済みの状態に保ちます。このため、デバイスプレビューリンクは、アプリのダウンロードにかかる時間で開きます。プールを指定してリンクを発行すると、リンクが開かれるたびに、そのウォームデバイスの 1 つが取得されます。warm poolからのリンクの提供を参照してください。
デバイスプールから取得する場合は、アプリビルドをすぐにインストールできます。ビルドの URL を、セッションのアーティファクトとして渡します。デバイスはすでに実行中のため、セッションが割り当てられた時点でアプリがインストールされます。
プールの管理Click to copy link
Warm pools ページには、workspaceのプールが一覧表示されます。プールのページから、サイズの変更、構成の編集、セッションの取得、削除ができます。CLIでは、bitrise-cli rde warm-pool list、view、update、set-size、retry、deleteで同じ操作ができ、APIではwarm poolエンドポイントで同じ操作ができます。
Workspaceのオーナーと請求を管理するメンバーも、すべてのプールとそのサイズを表示できます。プールは Usage ページとbitrise-cli rde warm-pool list --allに、workspaceのその他のRDE支出とともに表示されます。