コンテンツへスキップ

作成

ホストから作成する

シェル
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を参照してください。

ディレクトリ構成

Text
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