Rudel
Kérés által kiválasztott WordPress-átfedő környezetek sandboxokhoz.
composer require rudel/rudelLegújabb kiadás 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=7A gyakorlatban
Hozzon létre sandboxot a gazdagép webhelyéről, majd irányítsa rá a WP-CLI vagy egy HTTP kérést.
Sandbox létrehozása és a kérések átirányítása
A wp rudel create új prefix alá klónozza a gazdagép tábláit, a témát a sandbox könyvtárába másolja, majd kiírja a sandboxazonosítót.
Adja át ezt az azonosítót a RUDEL_ENVIRONMENT számára WP-CLI esetén, vagy a X-Rudel-Environment fejlécben, illetve a rudel_environment cookie-ban HTTP esetén. A PHP API ugyanazt a sandboxot hozza létre életciklus-metaadatokkal.
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,
] );Homokozók
Eldobható átfedő környezetek fejlesztéshez, teszteléshez és AI-ügynökökhöz.
Kérés szerinti kiválasztás
Irányítson egy kérést sandboxba X-Rudel-Environment fejléccel, rudel_environment cookie-val vagy WP-CLI alatt megadott RUDEL_ENVIRONMENT értékkel. A kiválasztás kizárólag a sandboxazonosítón alapul, hitelesítés nélkül.
Átfedő futtatókörnyezet
Az aktiválás egy indítósort ad a wp-config.php fájlhoz. Ezután minden sandbox saját prefix alá klónozott táblákat és az aktív téma másolatát kapja; a WordPress magja, bővítményfájljai és feltöltései megosztottak maradnak.
Git-munkafák
Beépített, PHP-natív Git klónozási, feltöltési és worktree-munkafolyamatok, amelyekhez nincs szükség gazdagépi git-binárisra.
Pillanatképek
Elnevezett helyreállítási pontok, amelyek lemásolják a sandbox tábláit és kezelt tém fájljait. Létrehozásuk és visszaállításuk a WP-CLI vagy a PHP felületről végezhető.
Kérések elkülönítése
Kérésenkénti táblaprefixek, témagyökérkönyvtárak, ideiglenes könyvtár, objektumgyorsítótár-kulcssó és e-mail-letiltás.
WP-CLI & PHP API
A wp rudel parancsok és a Rudel\Rudel statikus metódusai sandboxokat hoznak létre, listáznak, frissítenek, pillanatképet készítenek, állítanak vissza és semmisítenek meg.
Ügynökökre kész
Az ügynökök számára eldobható WordPress-másolatot biztosít, ahol a RUDEL_ENVIRONMENT határozza meg a WP-CLI érvényességi körét, a kimenő e-mailek pedig le vannak tiltva.
Miért Rudel?
Egy telepítés, sok sandbox
A Rudel egy szokásos WordPress-telepítésen belül fut, multisite és második WordPress-telepítés nélkül. A gazdagép webhelye továbbra is a saját adatait szolgálja ki minden olyan kérésnek, amely nem nevez meg sandboxot.
A táblák és egy téma másolata
A sandbox megkapja a gazdagép tábláinak másolatát a felhasználókkal együtt, saját prefix alatt, valamint az aktív téma másolatát; gyermektéma esetén a szülőtémát is. A WordPress magja, bővítményfájljai és feltöltései a gazdagépen maradnak.
Lejáró homokozók
Adjon meg a homokozóhoz tulajdonost, címkéket, célt és napokban megadott TTL-t. Egy óránként futó WP-Cron feladat eltávolítja a lejárt homokozókat, és kihagyja a védettként megjelölteket.
Biztonságos előnézet
A homokozóban indított kérések blokkolják a kimenő e-maileket, és naplózzák az összes blokkolt üzenetet. Ha a wp-config.php nem állít be saját értéket, az objektumgyorsítótár kulcssója a homokozó azonosítójából származik, így a perzisztens gyorsítótárak elkülönítik a gazdagép és a homokozó kulcsait.
Összehasonlítás
A Rudel a már működő webhelyen belül fut. Ezek az eszközök a kapcsolódó igényeket fedik le.
| Eszköz | Amiben jó | Különbségek Rudel-hoz képest |
|---|---|---|
| WordPress Multisite | Amiben jóEgyetlen közös alapkódkészlettel virtuális webhelyek hálózatát futtatja, megosztott bővítményekkel és sablonokkal, valamint minden webhelyhez külön adatbázistáblákkal és feltöltési könyvtárakkal. | Különbségek Rudel-hoz képestA Rudel használatához nincs szükség többwebhelyes telepítésre. A homokozó a meglévő webhely tábláinak és aktív sablonjának másolata; kérésenként fejléc, süti vagy WP-CLI környezeti változó választja ki. |
| wp-env | Amiben jóHelyi WordPress webhelyet állít be Docker használatával bővítmények és sablonok fejlesztéséhez, illetve teszteléséhez, további konfiguráció nélkül. | Különbségek Rudel-hoz képestA Rudel használatához nincs szükség második WordPress-telepítésre. A már működő webhely tartalmából hoz létre homokozókat, amelyek táblái a gazdagéppel közös MySQL adatbázisban találhatók. A homokozó nem kap saját PHP futtatókörnyezetet vagy adatbázis-kiszolgálót. |
| WordPress Playground | Amiben jóA WordPress kliensoldalon, WebAssembly-ben fut, háttérrendszer nélkül, a böngészőbe zárva, és azon kívül nem okoz tartós mellékhatásokat. | Különbségek Rudel-hoz képestA Rudel a kiszolgálón, egy valódi webhely és annak MySQL adatbázisa mellett fut. A homokozó a webhely aktuális tartalmából indul, és elérhető a WP-CLI felől, valamint bármely HTTP kliensről. |
Kérdések és válaszok
Rövid válaszok a Rudel dokumentációjából.
A WordPress alapkódja, a bővítmények fájljai és a feltöltött médiafájlok. Minden homokozó saját másolatot kap az adatbázistáblákról, a felhasználókat is beleértve, egy generált előtag alatt, valamint az aktív sablon saját másolatát.
Küldje el a X-Rudel-Environment fejlécet vagy a rudel_environment sütit egy HTTP kéréssel, vagy állítsa be a RUDEL_ENVIRONMENT értékét a WP-CLI számára. A Rudel bármely kliensből elfogadja az azonosítót, ezért a kiválasztás nem hozzáférés-szabályozás.
Nem. A homokozón belüli kérések a pre_wp_mail szűrőn keresztül leállítják a kimenő leveleket, és naplózzák minden blokkolt üzenet címzettjét és tárgyát.
A gazdagép adatbázisának két táblájában: wp_rudel_environments és wp_rudel_worktrees, az alapértelmezett előtaggal. Nincs futásidejű JSON-konfiguráció és SQLite-tároló.
Az aktiválás létrehozza a futásidejű táblákat, hozzáad egy indítósort a wp-config.php fájlhoz, és ütemezi a tisztítási eseményt, ezért a WordPress-nek ekkor írási hozzáférésre van szüksége a wp-config.php útvonalhoz. A deaktiválás eltávolítja a sort.
Igen. A wp rudel snapshot név alatt menti a homokozó tábláit és sablonfájljait, a wp rudel restore pedig a --snapshot kapcsolóval visszaállítja őket.
Telepítse a bővítményt, hozzon létre homokozót saját webhelyéből, majd küldje el első kérését a homokozóba az első lépéseket ismertető útmutató segítségével.