テンプレート
テンプレートは、再利用可能な 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リンクClick to copy link
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 をクリックすると、そのテンプレートが選択された状態でプールのフォームが開きます。プールはテンプレートに追従するため、テンプレートを編集するとプールのウォームセッションが置き換えられ、テンプレートを削除するとそのプールも削除されます。