Rudel
Medii overlay WordPress selectate pentru fiecare solicitare pentru sandboxuri.
composer require rudel/rudelCea mai recentă versiune 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=7În practică
Creați un sandbox din site-ul gazdă, apoi direcționați WP-CLI sau o solicitare HTTP către acesta.
Creați un sandbox și direcționați solicitările către el
wp rudel create clonează tabelele gazdei sub un prefix nou, copiază tema în directorul sandboxului și afișează ID-ul sandboxului.
Transmiteți acel ID în RUDEL_ENVIRONMENT pentru WP-CLI sau în antetul X-Rudel-Environment ori cookie-ul rudel_environment pentru HTTP. PHP API creează același sandbox cu metadatele ciclului de viață.
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,
] );Medii izolate
Medii overlay temporare pentru dezvoltare, testare și agenți AI.
Selectarea solicitării
Direcționați o solicitare către un sandbox cu un antet X-Rudel-Environment, un cookie rudel_environment sau RUDEL_ENVIRONMENT în WP-CLI. Selectarea se face doar după ID-ul sandboxului, fără autentificare.
Runtime overlay
Activarea adaugă o linie bootstrap în wp-config.php. Fiecare sandbox primește apoi tabele clonate sub propriul prefix și o copie a temei active; nucleul WordPress, fișierele pluginurilor și încărcările rămân partajate.
Git Worktrees
Fluxuri integrate pentru clonare, push și worktree Git, implementate nativ în PHP, fără a necesita un executabil git pe gazdă.
Instantanee
Puncte de recuperare cu nume, care copiază tabelele și fișierele temei gestionate dintr-un sandbox. Creați-le și restaurați-le din WP-CLI sau PHP.
Izolarea solicitărilor
Prefixe de tabel, rădăcini de teme și directoare temporare per solicitare, sare pentru cheia cache-ului de obiecte și blocarea e-mailurilor.
WP-CLI & PHP API
Comenzile wp rudel și metodele statice Rudel\Rudel creează, listează, actualizează, salvează instantanee, restaurează și distrug sandboxuri.
Pregătit pentru agenți
Oferă agenților de cod o copie temporară WordPress, cu WP-CLI limitat de RUDEL_ENVIRONMENT și cu e-mailurile de ieșire blocate.
De ce Rudel
O instalare, multe sandboxuri
Rudel rulează într-o instalare WordPress obișnuită, fără multisite și fără o a doua instalare WordPress. Site-ul gazdă continuă să-și servească propriile date pentru fiecare solicitare care nu specifică un sandbox.
Copiază tabelele și o temă
Un sandbox primește o copie a tabelelor gazdei, inclusiv utilizatorii, sub propriul prefix și o copie a temei active, plus tema părinte dacă este o temă copil. Nucleul WordPress, fișierele pluginurilor și încărcările rămân pe gazdă.
Sandboxuri cu expirare
Atribuiți unui sandbox un proprietar, etichete, un scop și un TTL în zile. O sarcină WP-Cron orară elimină sandboxurile expirate și le omite pe cele marcate ca protejate.
Sigur de previzualizat
Solicitările sandboxurilor blochează e-mailurile de ieșire și înregistrează fiecare mesaj blocat. Dacă wp-config.php nu setează una proprie, sarea cheii cache-ului de obiecte este derivată din ID-ul sandboxului, astfel încât cache-urile persistente să păstreze separat cheile gazdei și ale sandboxului.
Comparativ cu
Rudel funcționează în site-ul pe care îl utilizați deja. Aceste instrumente răspund unor nevoi înrudite.
| Instrument | Potrivit pentru | Diferența față de Rudel |
|---|---|---|
| WordPress Multisite | Potrivit pentruRulează o rețea de site-uri virtuale pe un singur set de fișiere de bază, cu pluginuri și teme partajate și tabele de baze de date și directoare de încărcări separate pentru fiecare site. | Diferența față de RudelRudel nu necesită multisite. Un sandbox este o copie a tabelelor și temei active ale site-ului existent, selectată pentru fiecare solicitare printr-un antet, un cookie sau o variabilă de mediu WP-CLI. |
| wp-env | Potrivit pentruConfigurează un site WordPress local cu Docker pentru construirea și testarea pluginurilor și temelor, fără configurare suplimentară. | Diferența față de RudelRudel nu necesită o a doua instalare WordPress. Creează sandboxuri din conținutul site-ului pe care îl utilizați deja, iar tabelele lor se află în aceeași bază de date MySQL ca gazda. Un sandbox nu primește propriul runtime PHP sau propriul server de baze de date. |
| WordPress Playground | Potrivit pentruRulează WordPress în browser, pe partea de client, în WebAssembly, fără backend, izolat în browser și fără efecte secundare persistente în afara acestuia. | Diferența față de RudelRudel rulează pe server, lângă un site real și baza sa de date MySQL. Un sandbox pornește de la conținutul actual al acelui site și este accesibil din WP-CLI și de la orice client HTTP. |
Întrebări și răspunsuri
Răspunsuri scurte din documentația Rudel.
Nucleul WordPress, fișierele pluginurilor și fișierele media încărcate. Fiecare sandbox primește propria copie a tabelelor bazei de date, inclusiv utilizatorii, cu un prefix generat, și propria copie a temei active.
Trimiteți antetul X-Rudel-Environment sau cookie-ul rudel_environment într-o solicitare HTTP ori setați RUDEL_ENVIRONMENT pentru WP-CLI. Rudel acceptă ID-ul de la orice client, așadar selectarea nu este un control de acces.
Nu. Solicitările dintr-un sandbox opresc e-mailurile de ieșire prin filtrul pre_wp_mail și înregistrează destinatarul și subiectul fiecărui mesaj blocat.
În două tabele din baza de date a gazdei, wp_rudel_environments și wp_rudel_worktrees, cu prefixul implicit. Nu există o configurație JSON pentru runtime și nici un depozit SQLite.
Activarea creează tabelele runtime-ului, adaugă o linie bootstrap în wp-config.php și programează evenimentul de curățare, astfel încât WordPress trebuie să aibă acces de scriere la wp-config.php în acel moment. Dezactivarea elimină linia.
Da. wp rudel snapshot salvează tabelele sandboxului și fișierele temei sub un nume, iar wp rudel restore cu --snapshot le restaurează.
Instalați pluginul, creați un sandbox din propriul site și trimiteți prima solicitare către acesta folosind ghidul de introducere.