Přejít k obsahu

Vytváření

Vytvoření z hostitele

Shell
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

Shell
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í:

Shell
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

Shell
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ářů

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