Gå til indhold

Oprettelse

Opret fra værten

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

Rudel genererer et id ud fra navnet plus fire hexadecimale tegn (for eksempel alpha-3be7), kloner værtens WordPress-tabeller til et genereret tabelpræfiks, kopierer det valgte tema til sandboxmappen og registrerer sandboxen i værtens WordPress-database. Sandboxens siteurl og home beholder værtens URL.

Hvis --theme udelades, bruger Rudel webstedets aktive tema. Temaet skal være installeret på værten. Et undertema medfører også dets overordnede tema.

Hver tabel med værtens tabelpræfiks kopieres, herunder users og usermeta, bortset fra Rudels egne tabeller. I den aktuelle version omfatter det også tabellerne fra eksisterende sandkasser, så hver ny sandkasse er større end den forrige. Se issue #3.

Opret fra en anden sandkasse

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

Den nye sandkasse får en kopi af alle tabeller med kildesandkassens præfiks, herunder kildens snapshot-tabeller, samt dens tema. Snapshot-mapper kopieres ikke, så disse tabeller bruges ikke i den nye sandkasse (issue #12). Når kildens temamappe er et Git-repository, opretter Rudel et tilknyttet worktree på grenen rudel/{new-id} i stedet for en almindelig kopi. Kilde-ID'et registreres i den nye post.

Livscyklusmetadata

Sandkasser kan have metadata til oprydning og ejerskab:

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

Brug --protected, når automatisk oprydning ikke må fjerne sandkassen. Se Politik.

Grænser

Oprettelsen mislykkes, når indstillingerne max_sandboxes eller max_disk_mb nås. Begge har som standard værdien 0, hvilket betyder ingen grænse. Se Konfiguration.

Git-checkouts

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

Rudel opretter sandkassen, kloner fjernlageret til themes/my-theme i sandkassemappen og skifter checkout til grenen rudel/{id}. Tilføj --type=plugin for i stedet at klone til plugins/my-theme. Hvis kloningen mislykkes, bevares sandkassen, og der vises en advarsel. Se Git for at se, hvad sandkassen viser fra denne checkout.

Mappestruktur

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