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

主要な概念

Remote Dev Environments は、すべてのクライアントで同じ構成要素を共有しています。CLI、Web UI、MCP サーバー、API です。これらの概念を理解しておくと、クライアント間をスムーズに行き来できます。

セッションClick to copy link​

セッションは、Remote Dev Environments の単一のインスタンスです。接続して作業するための 1 台のクラウドマシンを指します。セッションは、テンプレートから作成するか、スタックとマシンタイプを直接選択して作成します。

各セッションは、作成された workspace に属し、作成したユーザーが所有します。workspace所有のセッションの場合は、workspace自体が所有します。Can several people share one session?(FAQ)をご覧ください。セッションには複数の方法で接続できます。Connecting to a sessionをご覧ください。

セッションのライフサイクルClick to copy link​

セッションは、存続中にいくつかの状態を遷移します。

  • Running: マシンがプロビジョニングされ、接続可能な状態です。セッションを作成または復元すると、短い起動時間の後に実行中になります。
  • Terminated: マシンは停止していますが、セッションと永続ディスクは保持されます。終了は元に戻せます。
  • Deleted: セッションは完全に削除されます。削除できるのは、すでに終了しているセッションのみです。

セッションを終了しても永続ディスクは保持されるため、復元すると、ファイルや変更内容はそのまま残っています。終了したセッションの保持期間に制限はありません。削除するまで、またはセッションの作成元のスタックが Bitrise から削除されるまで保持されます。

セッションのディスクには、作成元のスタックイメージの上に加えた変更のみが保存されるため、セッションを起動できるのは、そのスタックイメージが利用可能な間だけです。Stacksは、少なくとも 4 週間前に通知したうえで、公開されているスケジュールに従って削除されます。Stack deprecation and removal policyをご覧ください。スタックが削除されると、そのスタックから作成されたセッションは完全に消去され、復元できません。その前に、現行のスタックから新しいセッションを作成し、保持したいものはコミットまたはエクスポートしてください。

マシンが起動したままになるのを防ぐため、すべてのセッションには自動終了タイマーがあります。

  • デフォルトは 5 日間の非アクティブです。
  • 最大 30 日までの任意の期間に設定できます。オフにして、自動終了しないようにすることもできます。
  • 無料トライアルの workspaces のセッションは 8 時間が上限で、この設定は変更できません。

StacksとマシンタイプClick to copy link​

セッションを作成するときは、次の 2 つを選択します。

  • スタック: オペレーティングシステムイメージと、プリインストールされているツールです。たとえば macOS 上の特定の Xcode バージョンなどです。これらは Bitrise CI で使用されるスタックと同じものです。
  • machine type: CPU と RAM で定義されるマシンのサイズです。macOS では Apple シリコンのマシンタイプを使用します。Linux のマシンタイプには、小規模な共有インスタンスから大規模な専有インスタンスまであります。

テンプレートでこれらを設定することも、セッションの作成時に直接選択することもできます。利用可能なスタックとマシンタイプは、workspace によって異なります。

セッションは、選択したスタックに紐づいたままになります。 スタックは単なる開始点ではありません。セッションは、作成元のスタックイメージへの依存関係を恒久的に保持します。セッションのディスクには、そのイメージの上に加えた変更のみが保存されるため、セッションを起動できるのは、そのイメージが Bitrise で利用可能な間だけです。既存のセッションを別のスタックに移行することはできません。新しいスタックを使うには、そのスタックから新しいセッションを作成してください。スタックは公開されているスケジュールに従って最終的に削除されるため、これによってセッションを保持できる期間も決まります。セッションのライフサイクルをご覧ください。

仮想デバイスClick to copy link​

セッションでは、iOS シミュレーターや Android エミュレーターを起動することもできます。これを デバイスセッションと呼びます。デバイスプレビューリンクを使うと、リンクを知っている人なら誰でも、そのデバイス上でアプリのビルドを開けます。Virtual devicesをご覧ください。

テンプレートClick to copy link​

テンプレートは、再利用可能なセッション設定です。セッションを作成するたびにスタック、マシンタイプ、セットアップ手順を選択する代わりに、テンプレートで一度定義しておけば、そこからセッションを作成できます。テンプレートには次の内容を含められます。

  • スタック、マシンタイプ、作業ディレクトリ。
  • セッションの初回作成時に 1 回だけ実行される warmup script と、起動のたびに実行される startup script。
  • テンプレート変数とセッション入力: セッションが必要とする値です。environment variablesとして公開したり、シークレットとして設定したりできます。
  • Workspace リンク: IDE で特定のフォルダーを開くショートカットボタン。

詳細は、Templatesをご覧ください。

Warm poolsClick to copy link​

warm poolは、1 つの構成のセッションを一定数、起動済みのアイドル状態で保持します。そのため、プールからセッションを作成すると数秒で完了します。新しいマシンを起動する代わりにプールからセッションが割り当てられ、プールは代わりのセッションを起動します。プールはテンプレートを入力とオーバーライドとともに保存し、ユーザー自身または workspace に属します。プールサイズはいつでも変更でき、スケジュールに従って変更することもできます。

詳細は、Warm poolsをご覧ください。

保存済み入力Click to copy link​

保存済み入力は、再利用可能な値や認証情報です。たとえば SSH 公開鍵、API トークン、Claude Code 認証情報などで、一度保存しておけば、必要に応じてセッションにマッピングできます。保存済み入力のスコープは単一の workspace ではなくユーザーアカウントで、シークレット値は保存時に暗号化されます。

詳細は、Saved inputsをご覧ください。