Vytváření
Vytvoření z hostitele
wp rudel create --name=alpha --theme=twentytwentyfour
Rudel vygeneruje ID z názvu a čtyř hexadecimálních znaků (například alpha-3be7), naklonuje tabulky hostitele WordPress do tabulek s vygenerovaným prefixem, zkopíruje vybranou šablonu do adresáře sandboxu a zaznamená sandbox do databáze hostitele WordPress. Hodnoty siteurl a home sandboxu zachovají hostitelský URL.
Pokud vynecháte --theme, Rudel použije aktivní šablonu webu hostitele. Šablona musí být na hostiteli nainstalovaná. Podřízená šablona s sebou přenese i svou nadřazenou šablonu.
Zkopíruje se každá tabulka s předponou hostitelských tabulek, včetně users a usermeta, s výjimkou vlastních tabulek Rudel. V aktuálním vydání sem patří také tabulky již existujících sandboxů, takže každý nový sandbox je větší než předchozí. Viz issue #3.
Vytvoření z jiného sandboxu
wp rudel create --name=feature-b --clone-from=alpha-3be7
Nový sandbox získá kopii každé tabulky s předponou zdrojového sandboxu, včetně jeho tabulek snímků, a jeho motivu. Adresáře snímků se nekopírují, takže tyto tabulky se v novém sandboxu nepoužívají (issue #12). Pokud je adresář motivu zdroje repozitářem Git, Rudel vytvoří propojený pracovní strom na větvi rudel/{new-id} místo prosté kopie. ID zdroje se zaznamená v novém záznamu.
Metadata životního cyklu
Sandboxy mohou obsahovat metadata pro úklid a vlastnictví:
wp rudel create \
--name=feature-a \
--owner=dennis \
--labels=agent,qa \
--purpose="Test checkout changes" \
--ttl-days=7
Použijte --protected, pokud automatický úklid nesmí sandbox odstranit. Viz Zásady.
Omezení
Vytváření selže, pokud je dosaženo nastavení max_sandboxes nebo max_disk_mb. Výchozí hodnota obou je 0, což znamená, že limit není nastaven. Viz Konfigurace.
Checkouty Git
wp rudel create --name=feature-a --git=https://example.test/my-theme.git
Rudel vytvoří sandbox, naklonuje vzdálený repozitář do themes/my-theme uvnitř adresáře sandboxu a přepne checkout na větev rudel/{id}. Přidejte --type=plugin a klonujte místo toho do plugins/my-theme. Pokud klonování selže, sandbox zůstane zachován a zobrazí se varování. Viz Git, kde se dozvíte, co sandbox z tohoto checkoutu zpřístupňuje.
Struktura adresářů
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