作成
ホストから作成する
wp rudel create --name=alpha --theme=twentytwentyfour
Rudelは名前に4桁の16進文字を加えてIDを生成し(例:alpha-3be7)、ホストのWordPressテーブルを生成したテーブルプレフィックスに複製し、選択したテーマをサンドボックスディレクトリにコピーして、ホストのWordPressデータベースにサンドボックスを記録します。サンドボックスのsiteurlとhomeには、ホストのURLが引き継がれます。
--themeを省略すると、Rudelはホストサイトで有効なテーマを使います。テーマはホストにインストールされている必要があります。子テーマを選ぶと、親テーマも一緒にコピーされます。
ホストのテーブルプレフィックスを持つすべてのテーブルがコピーされます。Rudel独自のテーブルを除き、usersやusermetaも含まれます。現行リリースでは、すでに存在するサンドボックスのテーブルも含まれるため、新しいサンドボックスを作るたびにサイズが大きくなります。issue #3を参照してください。
別のサンドボックスから作成する
wp rudel create --name=feature-b --clone-from=alpha-3be7
新しいサンドボックスには、ソースサンドボックスのプレフィックスを持つすべてのテーブル(ソースのスナップショットテーブルを含む)とテーマのコピーが引き継がれます。スナップショットのディレクトリはコピーされないため、それらのテーブルは新しいサンドボックスでは使われません(issue #12)。ソースのテーマディレクトリがGitリポジトリの場合、Rudelは単純なコピーではなく、ブランチrudel/{new-id}にリンクされたworktreeを作成します。新しいレコードにはソースIDが記録されます。
ライフサイクルのメタデータ
クリーンアップと所有者管理のために、サンドボックスにメタデータを設定できます。
wp rudel create \
--name=feature-a \
--owner=dennis \
--labels=agent,qa \
--purpose="Test checkout changes" \
--ttl-days=7
自動クリーンアップでサンドボックスを削除させない場合は、--protectedを使います。ポリシーを参照してください。
上限
max_sandboxesまたはmax_disk_mbの設定に達すると、作成は失敗します。どちらも既定値は0で、上限なしを意味します。設定を参照してください。
Gitチェックアウト
wp rudel create --name=feature-a --git=https://example.test/my-theme.git
Rudelはサンドボックスを作成し、サンドボックスディレクトリ内のthemes/my-themeにリモートをクローンして、チェックアウトをブランチrudel/{id}に切り替えます。代わりにplugins/my-themeへクローンするには、--type=pluginを追加します。クローンに失敗してもサンドボックスは残り、警告が表示されます。サンドボックスがこのチェックアウトから何を配信するかはGitを参照してください。
ディレクトリ構成
wp-content/rudel-environments/{id}/
themes/ copied theme, plus any Git checkout
snapshots/ snapshot metadata and theme copies
logs/ metadata/ tmp/
wp-cli.yml
debug.log when debug logging is active