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

テンプレート

テンプレートは、再利用可能な Remote Dev Environment の設定です。マシンとそのセットアップを一度定義すれば、毎回同じ選択を繰り返すことなく、そこから一貫したセッションを作成できます。

テンプレートの概要Click to copy link​

テンプレートには次の内容を含めることができます。

  • スタック、マシンタイプ、ターミナルが開始する作業ディレクトリ。
  • ツールのインストールや環境の準備を行うウォームアップスクリプトと起動スクリプト。
  • 環境に必要な値のためのテンプレート変数とセッション入力。
  • Workspaceリンク: IDE で特定のフォルダーを開くショートカットボタン。
  • 仮想デバイス: テンプレートから作成されるすべてのセッションが起動する、iOS シミュレーターまたは Android エミュレーター。

ウォームアップスクリプトと起動スクリプトClick to copy link​

どちらのスクリプトも Bash で、セッションユーザーとして実行されますが、実行されるタイミングが異なります。

  • ウォームアップスクリプトは、セッションが最初に作成されるときに一度だけ実行されます。依存関係のインストールなど、時間がかかる一度限りのセットアップに使用してください。
  • 起動スクリプトは、復元後も含め、セッションが開始されるたびに実行されます。複数回実行されるため、冪等にしてください。

変数と入力Click to copy link​

テンプレートには2種類の値があり、どちらもenvironment variablesとしてセッションに公開できます。

  • テンプレート変数は、固定値でテンプレートに組み込まれます。変数をシークレットとして設定すると、保存時に暗号化されます。
  • セッション入力は、セッションの作成時に入力されます。入力を必須にしたり、default valueを指定したりできます。セッション入力は、保存済みの入力から値を取得することもできるため、シークレットはサーバー側で解決され、UIに表示されることはありません。

Workspaceリンクは、セッション上のボタンで、指定したフォルダーパスを IDE で開きます。複数フォルダーのプロジェクトで、目的のディレクトリにすばやく移動するのに便利です。

宣言済みデバイスClick to copy link​

テンプレートで仮想デバイスを宣言すると、そこから作成されるすべてのセッションで、セッション側のデバイス設定なしに iOS シミュレーターまたはAndroidエミュレーターが起動します。テンプレートフォームで Boot a device with every session をオンにするか、CLIを使用してください。

bitrise-cli rde template create --file template.json --device-platform ios --device-model "iPhone 16"

テンプレートのstack and machine typeは、プラットフォームに適合している必要があります。iOS の場合は macOS スタック、Androidの場合は Linux Android スタックです。テンプレートからセッションを作成するときは、デバイスを宣言どおりに維持するか、そのセッションに限って個々のフィールドを変更するか、UIの Start an iOS simulator または Start an Android emulator、およびCLIの--no-deviceでオフにできます。テンプレートからすでに作成されたセッションは、作成時のデバイスを保持します。デバイスオプション自体については、Device sessionsで説明しています。

テンプレートの管理Click to copy link​

テンプレートの作成、編集、複製、削除は、Bitrise RDE UIから、またはCLIでbitrise-cli rde templateを使用して行います。

セッションを作成すると、そのテンプレート設定はスナップショットとして保存されます。その後にテンプレートを編集または削除しても、すでに作成されたセッションが変更されたり、動作しなくなったりすることはありません。

Warm poolsClick to copy link​

誰かが要求する前にテンプレートのセッションを準備しておくには、そのテンプレートから warm poolを作成します。テンプレートのページで Create warm pool をクリックすると、そのテンプレートが選択された状態でプールのフォームが開きます。プールはテンプレートに追従するため、テンプレートを編集するとプールのウォームセッションが置き換えられ、テンプレートを削除するとそのプールも削除されます。