Rudel
Begärandestyrda WordPress-överlagringsmiljöer för sandlådor.
composer require rudel/rudelSenaste versionen 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 praktiken
Skapa en sandlåda från värdwebbplatsen och rikta sedan WP-CLI eller en HTTP-begäran till den.
Skapa en sandlåda och dirigera trafik till den
wp rudel create klonar värdens tabeller under ett nytt prefix, kopierar temat till sandlådekatalogen och skriver ut sandlåde-ID:t.
Ange ID:t i RUDEL_ENVIRONMENT för WP-CLI, eller i headern X-Rudel-Environment eller cookien rudel_environment för HTTP. PHP API skapar samma sandlåda med livscykelmetadata.
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,
] );Sandlådor
Tillfälliga överlagringsmiljöer för utveckling, testning och AI-agenter.
Val av begäran
Dirigera en begäran till en sandlåda med en X-Rudel-Environment-header, en rudel_environment-cookie eller RUDEL_ENVIRONMENT i WP-CLI. Valet görs enbart med sandlåde-ID:t, utan autentisering.
Överlagringskörning
Aktivering lägger till en bootstrap-rad i wp-config.php. Varje sandlåda får sedan klonade tabeller under sitt eget prefix och en kopia av det aktiva temat; kärnfiler i WordPress, tilläggsfiler och uppladdningar förblir delade.
Git-arbetskopior
Inbyggda PHP-baserade Git-flöden för kloning, push och arbetskopior utan krav på värdens git-binärfil.
Ögonblicksbilder
Namngivna återställningspunkter som kopierar tabellerna och de hanterade temafilerna i en sandlåda. Skapa och återställ dem från WP-CLI eller PHP.
Isolering av begäran
Tabellprefix per begäran, temarötter, tillfällig katalog, objektscache-nyckelsalt och blockering av e-post.
WP-CLI & PHP API
wp rudel-kommandon och Rudel\Rudel-statiska metoder skapar, listar, uppdaterar, tar ögonblicksbilder av, återställer och förstör sandlådor.
Redo för agenter
Ger kodningsagenter en tillfällig WordPress-kopia, med WP-CLI begränsat av RUDEL_ENVIRONMENT och utgående e-post blockerad.
Varför Rudel
En installation, många sandlådor
Rudel körs i en vanlig WordPress-installation, utan multisite och utan en andra WordPress-installation. Värdwebbplatsen fortsätter att visa sina egna data för varje begäran som inte anger en sandlåda.
Kopierar tabellerna och ett tema
En sandlåda får en kopia av värdens tabeller, inklusive användare, under sitt eget prefix och en kopia av det aktiva temat, plus dess överordnade tema om det är ett barntema. Kärnfiler i WordPress, tilläggsfiler och uppladdningar finns kvar på värden.
Sandlådor som upphör
Ange en ägare, etiketter, ett syfte och en TTL i dagar för en sandlåda. Ett timvis WP-Cron-jobb tar bort utgångna sandlådor och hoppar över dem som markerats som skyddade.
Säkert att förhandsgranska
Begäranden i sandlådor blockerar utgående e-post och loggar varje blockerat meddelande. Om wp-config.php inte anger ett eget salt härleds objektscache-nyckelsaltet från sandlåde-ID:t, så beständiga cacher håller värdens och sandlådans nycklar åtskilda.
Jämfört med
Rudel fungerar i webbplatsen du redan kör. De här verktygen täcker närliggande behov.
| Verktyg | Bra på | Skillnaden jämfört med Rudel |
|---|---|---|
| WordPress Multisite | Bra påKör ett nätverk av virtuella webbplatser med en uppsättning kärnfiler, delade tillägg och teman samt separata databastabeller och uppladdningskataloger för varje webbplats. | Skillnaden jämfört med RudelRudel behöver inte multisite. En sandlåda är en kopia av den befintliga webbplatsens tabeller och aktiva tema, vald per begäran via en header, en cookie eller en miljövariabel från WP-CLI. |
| wp-env | Bra påKonfigurerar en lokal WordPress-webbplats med Docker för att bygga och testa tillägg och teman utan ytterligare konfiguration. | Skillnaden jämfört med RudelRudel kräver ingen andra WordPress-installation. Det skapar sandlådor från innehållet på webbplatsen du redan kör, och deras tabeller finns i samma MySQL-databas som värden. En sandlåda får inte en egen PHP-körning eller databasserver. |
| WordPress Playground | Bra påKör WordPress på klientsidan i WebAssembly, utan backend, isolerat i webbläsaren och utan bestående bieffekter utanför den. | Skillnaden jämfört med RudelRudel körs på servern bredvid en riktig webbplats och dess MySQL-databas. En sandlåda utgår från webbplatsens aktuella innehåll och nås från WP-CLI och från vilken HTTP-klient som helst. |
Frågor och svar
Korta svar från dokumentationen för Rudel.
Kärnfiler i WordPress, tilläggsfiler och uppladdade medier. Varje sandlåda får en egen kopia av databastabellerna, inklusive användare, under ett genererat prefix samt en egen kopia av det aktiva temat.
Skicka headern X-Rudel-Environment eller cookien rudel_environment med en HTTP-begäran, eller ange RUDEL_ENVIRONMENT för WP-CLI. Rudel godtar ID:t från vilken klient som helst, så valet är inte en åtkomstkontroll.
Nej. Begäranden i en sandlåda stoppar utgående e-post via filtret pre_wp_mail och loggar mottagare och ämne för varje blockerat meddelande.
I två tabeller i värdens databas, wp_rudel_environments och wp_rudel_worktrees med standardprefixet. Det finns ingen JSON-körningskonfiguration och inget SQLite-lager.
Aktiveringen skapar körtidstabellerna, lägger till en bootstrap-rad i wp-config.php och schemalägger rensningshändelsen, så WordPress behöver skrivåtkomst till wp-config.php vid det tillfället. Inaktiveringen tar bort raden igen.
Ja. wp rudel snapshot sparar sandlådans tabeller och temafiler under ett namn, och wp rudel restore med --snapshot återställer dem.
Installera tillägget, skapa en sandlåda från din egen webbplats och skicka din första begäran till den med hjälp av kom igång-guiden.