Rudel
Overlay prostředí WordPress pro sandboxy vybíraná podle požadavku.
composer require rudel/rudelNejnovější vydání 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=7V praxi
Vytvořte sandbox z hostitelského webu a poté na něj nasměrujte WP-CLI nebo požadavek HTTP.
Vytvoření sandboxu a směrování požadavků do něj
wp rudel create naklonuje tabulky hostitele pod novým prefixem, zkopíruje motiv do adresáře sandboxu a vypíše ID sandboxu.
Předejte toto ID v RUDEL_ENVIRONMENT pro WP-CLI nebo v hlavičce X-Rudel-Environment či cookie rudel_environment pro HTTP. PHP API vytváří stejné izolované prostředí s metadaty životního cyklu.
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,
] );Sandboxy
Dočasná overlay prostředí pro vývoj, testování a AI agenty.
Výběr podle požadavku
Přesměrujte požadavek do sandboxu pomocí hlavičky X-Rudel-Environment, cookie rudel_environment nebo RUDEL_ENVIRONMENT v WP-CLI. Výběr probíhá pouze podle ID sandboxu, bez ověření.
Overlay běhové prostředí
Aktivace přidá řádek bootstrapu do wp-config.php. Každý sandbox pak získá naklonované tabulky pod vlastním prefixem a kopii aktivního motivu; jádro WordPress, soubory pluginů a nahrané soubory zůstávají sdílené.
Worktrees Git
Vestavěné pracovní postupy klonování, odesílání změn a worktree nativní pro PHP-Git, bez nutnosti mít na hostiteli binární soubor git.
Snímky
Pojmenované body obnovení, které kopírují tabulky a spravované soubory motivu sandboxu. Vytvářejte je a obnovujte pomocí WP-CLI nebo PHP.
Izolace požadavků
Prefixy tabulek, kořeny motivů, dočasný adresář, sůl klíče objektové mezipaměti a blokování e-mailů pro každý požadavek.
WP-CLI & PHP API
Příkazy wp rudel a statické metody Rudel\Rudel umožňují vytvářet, vypisovat, aktualizovat, pořizovat snímky, obnovovat a ničit sandboxy.
Připraveno pro agenty
Poskytuje programovacím agentům dočasnou kopii WordPress s rozsahem WP-CLI omezeným proměnnou RUDEL_ENVIRONMENT a blokuje odchozí e-maily.
Proč Rudel
Jedna instalace, mnoho izolovaných prostředí
Rudel běží v běžné instalaci WordPress, bez multisite a bez druhé instalace WordPress. Hostitelský web dál poskytuje svá vlastní data všem požadavkům, které neurčují izolované prostředí.
Kopíruje tabulky a jedno téma
Izolované prostředí získá kopii tabulek hostitele včetně uživatelů pod vlastním prefixem a kopii aktivního tématu, případně i nadřazeného tématu, jde-li o odvozené téma. Základní soubory WordPress, pluginů a nahrané soubory zůstávají na hostiteli.
Izolovaná prostředí s omezenou platností
Přiřaďte izolovanému prostředí vlastníka, štítky, účel a dobu platnosti TTL ve dnech. Hodinová úloha WP-Cron odstraňuje prostředí po vypršení platnosti a vynechává ta, která jsou označena jako chráněná.
Bezpečný náhled
Požadavky z izolovaného prostředí blokují odchozí e-maily a zaznamenávají každou zablokovanou zprávu. Pokud wp-config.php nenastaví vlastní hodnotu, odvozují se klíče objektové cache od ID izolovaného prostředí, takže trvalá cache odděluje klíče hostitele a izolovaného prostředí.
Srovnání
Rudel funguje na webu, který už provozujete. Tyto nástroje řeší podobné potřeby.
| Nástroj | Vhodné pro | Rozdíl oproti Rudel |
|---|---|---|
| WordPress Multisite | Vhodné proProvozuje síť virtuálních webů nad jednou sadou základních souborů se sdílenými pluginy a tématy a oddělenými databázovými tabulkami a adresáři nahraných souborů pro každý web. | Rozdíl oproti RudelRudel nevyžaduje multisite. Izolované prostředí je kopií tabulek a aktivního tématu stávajícího webu a vybírá se pro každý požadavek pomocí hlavičky, cookie nebo proměnné prostředí WP-CLI. |
| wp-env | Vhodné proNastaví lokální web WordPress s Docker pro vývoj a testování pluginů a témat bez další konfigurace. | Rozdíl oproti RudelRudel nepotřebuje druhou instalaci WordPress. Vytváří izolovaná prostředí z obsahu webu, který už provozujete, a jejich tabulky jsou ve stejné databázi MySQL jako hostitel. Izolované prostředí nemá vlastní běhové prostředí PHP ani databázový server. |
| WordPress Playground | Vhodné proSpouští WordPress na straně klienta ve WebAssembly bez backendu, izolovaně v prohlížeči a bez trvalých vedlejších účinků mimo něj. | Rozdíl oproti RudelRudel běží na serveru vedle skutečného webu a jeho databáze MySQL. Izolované prostředí vychází z aktuálního obsahu tohoto webu a je dostupné z WP-CLI i z libovolného klienta HTTP. |
Otázky a odpovědi
Stručné odpovědi z dokumentace Rudel.
Základní soubory WordPress, soubory pluginů a nahraná média. Každé izolované prostředí získá vlastní kopii databázových tabulek včetně uživatelů pod vygenerovaným prefixem a vlastní kopii aktivního tématu.
Odešlete hlavičku X-Rudel-Environment nebo cookie rudel_environment s požadavkem HTTP, případně nastavte RUDEL_ENVIRONMENT pro WP-CLI. Rudel přijímá ID od libovolného klienta, takže výběr neslouží jako řízení přístupu.
Ne. Požadavky v izolovaném prostředí zastaví odchozí poštu prostřednictvím filtru pre_wp_mail a zaznamenají příjemce i předmět každé zablokované zprávy.
Ve dvou tabulkách hostitelské databáze, wp_rudel_environments a wp_rudel_worktrees, které používají výchozí prefix. Neexistuje žádná konfigurační JSON pro běhové prostředí ani úložiště SQLite.
Aktivace vytvoří tabulky běhového prostředí, přidá řádek pro zavedení do wp-config.php a naplánuje událost čištění, takže WordPress v tu chvíli potřebuje právo zápisu do wp-config.php. Deaktivace řádek opět odstraní.
Ano. Příkaz wp rudel snapshot uloží tabulky izolovaného prostředí a jeho soubory tématu pod zadaným názvem; příkaz wp rudel restore s volbou --snapshot je obnoví.
Nainstalujte plugin, vytvořte izolované prostředí z vlastního webu a podle průvodce Začínáme do něj odešlete svůj první požadavek.