Treci la conținut

Creare

Creare de pe gazdă

Shell
wp rudel create --name=alpha --theme=twentytwentyfour

Rudel generează un ID din nume și patru caractere hexazecimale (de exemplu alpha-3be7), clonează tabelele gazdei WordPress într-un prefix de tabel generat, copiază tema selectată în directorul sandboxului și înregistrează sandboxul în baza de date WordPress a gazdei. siteurl și home ale sandboxului păstrează URL gazdei.

Dacă se omite --theme, Rudel folosește tema activă a site-ului gazdă. Tema trebuie să fie instalată pe gazdă. O temă copil o include și pe tema părinte.

Se copiază fiecare tabel cu prefixul de tabel al gazdei, inclusiv users și usermeta, cu excepția propriilor tabele ale Rudel. În versiunea actuală sunt incluse și tabelele sandboxurilor existente, astfel că fiecare sandbox nou este mai mare decât precedentul. Consultați problema #3.

Creare dintr-un alt sandbox

Shell
wp rudel create --name=feature-b --clone-from=alpha-3be7

Noul sandbox primește o copie a fiecărui tabel cu prefixul sandboxului sursă, inclusiv tabelele de instantanee ale sursei, precum și tema acesteia. Directoarele instantaneelor nu sunt copiate, așadar acele tabele nu sunt folosite în noul sandbox (problema #12). Dacă directorul temei sursă este un depozit Git, Rudel creează un worktree asociat pe ramura rudel/{new-id} în locul unei copii simple. ID-ul sursei este înregistrat în noua înregistrare.

Metadate ale ciclului de viață

Sandboxurile pot avea metadate pentru curățare și proprietate:

Shell
wp rudel create \
  --name=feature-a \
  --owner=dennis \
  --labels=agent,qa \
  --purpose="Test checkout changes" \
  --ttl-days=7

Folosiți --protected când curățarea automată nu trebuie să elimine sandboxul. Consultați Politică.

Limite

Crearea eșuează când se ating setările max_sandboxes sau max_disk_mb. Valoarea implicită pentru ambele este 0, adică fără limită. Consultați Configurare.

Copii de lucru Git

Shell
wp rudel create --name=feature-a --git=https://example.test/my-theme.git

Rudel creează sandboxul, clonează depozitul la distanță în themes/my-theme în directorul sandboxului și trece copia de lucru pe ramura rudel/{id}. Adăugați --type=plugin pentru a clona în plugins/my-theme în schimb. O clonare eșuată lasă sandboxul creat și afișează un avertisment. Consultați Git pentru a afla ce servește sandboxul din acea copie de lucru.

Structura directoarelor

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