Rudel
Request-valgte WordPress-overlaymiljøer til sandboxes.
composer require rudel/rudelSeneste udgivelse v0.10.0 GPL-2.0-or-later WordPress 6.4+, PHP 8.2+
wp rudel create \
--name=feature-a \
--owner=dennis \
--labels=agent,qa \
--purpose="Test checkout changes" \
--ttl-days=7I praksis
Opret en sandbox fra værtswebstedet, og ret derefter WP-CLI eller en HTTP-anmodning mod den.
Opret en sandbox, og dirigér trafik til den
wp rudel create kloner værtens tabeller under et nyt præfiks, kopierer temaet til sandboxmappen og udskriver sandbox-id'et.
Send det ID i RUDEL_ENVIRONMENT for WP-CLI eller i X-Rudel-Environment-headeren eller rudel_environment-cookien for HTTP. PHP API opretter det samme sandboxmiljø med livscyklusmetadata.
wp rudel create --name=alpha --theme=twentytwentyfour
RUDEL_ENVIRONMENT=alpha-1234 wp option get siteurl
curl -H 'X-Rudel-Environment: alpha-1234' http://localhost:8000/$sandbox = Rudel::create( 'alpha', [
'theme' => 'twentytwentyfour',
'owner' => 'dennis',
'labels' => [ 'qa', 'agent' ],
'ttl_days' => 7,
] );Sandkasser
Midlertidige overlaymiljøer til udvikling, test og AI-agenter.
Valg pr. anmodning
Dirigér en anmodning til en sandbox med en X-Rudel-Environment-header, en rudel_environment-cookie eller RUDEL_ENVIRONMENT i WP-CLI. Valget sker alene ud fra sandbox-id, uden godkendelse.
Overlay-runtime
Aktivering tilføjer en bootstrap-linje til wp-config.php. Hver sandbox får derefter klonede tabeller under sit eget præfiks og en kopi af det aktive tema; WordPresss kerne, pluginfiler og uploads deles.
Git-worktrees
Indbyggede PHP-native flows til Git-kloning, push og worktree uden krav om en git-binærfil på værten.
Snapshots
Navngivne gendannelsespunkter, der kopierer en sandbox' tabeller og administrerede temafiler. Opret og gendan dem fra WP-CLI eller PHP.
Isolering af anmodninger
Tabelpræfikser pr. anmodning, temarødder, midlertidig mappe, saltnøgle til objektcache og blokering af e-mails.
WP-CLI & PHP API
wp rudel-kommandoer og Rudel\Rudel-statiske metoder kan oprette, vise, opdatere, tage snapshot af, gendanne og ødelægge sandboxes.
Klar til agenter
Giver kodeagenter en midlertidig kopi af WordPress, med WP-CLI afgrænset via RUDEL_ENVIRONMENT og udgående e-mails blokeret.
Hvorfor Rudel
Én installation, mange sandboxmiljøer
Rudel kører i en almindelig WordPress-installation uden multisite og uden en ekstra WordPress-installation. Værtswebstedet fortsætter med at levere sine egne data til alle anmodninger, der ikke angiver et sandboxmiljø.
Kopierer tabellerne og ét tema
Et sandboxmiljø får en kopi af værtens tabeller, inklusive brugere, under sit eget præfiks samt en kopi af det aktive tema og dets overordnede tema, hvis det er et undertema. WordPress-kernefiler, pluginfiler og uploads forbliver på værten.
Sandboxmiljøer, der udløber
Tildel et sandboxmiljø en ejer, etiketter, et formål og en TTL i dage. Et WP-Cron-job kører hver time, fjerner udløbne sandboxmiljøer og springer dem over, der er markeret som beskyttede.
Sikkert at forhåndsvise
Anmodninger fra sandboxmiljøer blokerer udgående e-mail og logger hver blokeret besked. Medmindre wp-config.php angiver sin egen, udledes saltnøglen til objektcachen fra sandbox-ID'et, så vedvarende caches holder værtens og sandboxmiljøets nøgler adskilt.
Sammenlignet med
Rudel fungerer på det websted, du allerede kører. Disse værktøjer dækker beslægtede behov.
| Værktøj | God til | Forskel fra Rudel |
|---|---|---|
| WordPress Multisite | God tilKører et netværk af virtuelle websteder på ét sæt kernefiler med delte plugins og temaer samt separate databasetabeller og uploadmapper for hvert websted. | Forskel fra RudelRudel kræver ikke multisite. Et sandboxmiljø er en kopi af det eksisterende websteds tabeller og aktive tema, valgt for hver anmodning via en header, en cookie eller en WP-CLI-miljøvariabel. |
| wp-env | God tilOpretter et lokalt WordPress-websted med Docker til udvikling og test af plugins og temaer uden yderligere konfiguration. | Forskel fra RudelRudel kræver ikke en ekstra WordPress-installation. Det opretter sandboxmiljøer fra indholdet på det websted, du allerede kører, og deres tabeller ligger i samme MySQL-database som værten. Et sandboxmiljø får ikke sit eget PHP-runtime eller sin egen databaseserver. |
| WordPress Playground | God tilKører WordPress på klientsiden i WebAssembly uden backend, isoleret i browseren og uden vedvarende bivirkninger uden for den. | Forskel fra RudelRudel kører på serveren ved siden af et rigtigt websted og dets MySQL-database. Et sandboxmiljø tager udgangspunkt i webstedets aktuelle indhold og kan tilgås fra WP-CLI og fra enhver HTTP-klient. |
Spørgsmål og svar
Korte svar fra Rudel-dokumentationen.
WordPress-kernefiler, pluginfiler og uploadede medier. Hvert sandboxmiljø får sin egen kopi af databasetabellerne, inklusive brugere, under et genereret præfiks samt sin egen kopi af det aktive tema.
Send headeren X-Rudel-Environment eller cookien rudel_environment med en HTTP-anmodning, eller angiv RUDEL_ENVIRONMENT for WP-CLI. Rudel accepterer ID'et fra enhver klient, så valget er ikke adgangskontrol.
Nej. Anmodninger i et sandboxmiljø stopper udgående e-mail via pre_wp_mail-filteret og logger modtageren og emnet for hver blokeret besked.
I to tabeller i værtens database, wp_rudel_environments og wp_rudel_worktrees, med standardpræfikset. Der findes ingen runtime-JSON-konfiguration og intet SQLite-lager.
Aktivering opretter runtime-tabellerne, føjer en bootstraplinje til wp-config.php og planlægger oprydningshændelsen, så WordPress skal have skriveadgang til wp-config.php på det tidspunkt. Deaktivering fjerner linjen igen.
Ja. wp rudel snapshot gemmer sandboxmiljøets tabeller og temafiler under et navn, og wp rudel restore med --snapshot gendanner dem.
Installer pluginet, opret et sandboxmiljø fra dit eget websted, og send din første anmodning til det med guiden Kom godt i gang.