Rudel
Оверлейні середовища WordPress для пісочниць, вибрані для запиту.
composer require rudel/rudelОстанній випуск 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На практиці
Створіть пісочницю з хост-сайту, а потім спрямуйте на неї WP-CLI або запит HTTP.
Створіть пісочницю та спрямуйте запити до неї
wp rudel create клонує таблиці хосту з новим префіксом, копіює тему до каталогу пісочниці та виводить її ID.
Передайте цей ID у RUDEL_ENVIRONMENT для WP-CLI або в заголовку X-Rudel-Environment чи cookie rudel_environment для HTTP. PHP API створює таку саму пісочницю з метаданими життєвого циклу.
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,
] );Ізольовані середовища
Тимчасові оверлейні середовища для розробки, тестування та AI-агентів.
Вибір запиту
Спрямуйте запит у пісочницю за допомогою заголовка X-Rudel-Environment, cookie rudel_environment або RUDEL_ENVIRONMENT у WP-CLI. Вибір відбувається лише за ID пісочниці, без автентифікації.
Середовище оверлею
Активація додає рядок завантаження до wp-config.php. Кожна пісочниця отримує клоновані таблиці з власним префіксом і копію активної теми; ядро WordPress, файли плагінів і завантаження залишаються спільними.
Робочі дерева Git
Вбудовані потоки клонування, надсилання змін і робочих дерев, нативні для PHP Git, без потреби в бінарному файлі хосту git.
Знімки
Іменовані точки відновлення, що копіюють таблиці й керовані файли теми пісочниці. Створюйте та відновлюйте їх за допомогою WP-CLI або PHP.
Ізоляція запитів
Префікси таблиць, корені тем, тимчасовий каталог, сіль ключа кешу об’єктів і блокування електронної пошти для кожного запиту.
WP-CLI & PHP API
Команди wp rudel і статичні методи Rudel\Rudel створюють, переглядають, оновлюють, зберігають знімки, відновлюють і знищують пісочниці.
Готовність до агентів
Надає агентам кодування тимчасову копію WordPress із доступом WP-CLI, обмеженим через RUDEL_ENVIRONMENT, і заблокованою вихідною електронною поштою.
Чому Rudel
Одна інсталяція, багато пісочниць
Rudel працює у звичайній інсталяції WordPress без мультисайту та другої інсталяції WordPress. Хост-сайт продовжує обслуговувати власні дані для кожного запиту, у якому не вказано пісочницю.
Копіює таблиці та одну тему
Пісочниця отримує копію таблиць хосту, зокрема користувачів, із власним префіксом, а також копію активної теми й батьківської теми, якщо тема дочірня. Ядро WordPress, файли плагінів і завантаження залишаються на хості.
Пісочниці з терміном дії
Укажіть для пісочниці власника, мітки, призначення та TTL у днях. Щогодинне завдання WP-Cron видаляє прострочені пісочниці, оминаючи позначені як захищені.
Безпечно для попереднього перегляду
Запити з пісочниці блокують вихідну електронну пошту й записують кожне заблоковане повідомлення в журнал. Якщо wp-config.php не задає власне значення, сіль ключа кешу об’єктів формується з ID пісочниці, тож постійний кеш розділяє ключі хосту й пісочниці.
Порівняно з
Rudel працює всередині вашого наявного сайту. Ці інструменти призначені для суміжних завдань.
| Інструмент | Переваги | Відмінність від Rudel |
|---|---|---|
| WordPress Multisite | ПеревагиЗапускає мережу віртуальних сайтів на одному наборі файлів ядра зі спільними плагінами й темами та окремими таблицями бази даних і каталогами завантажень для кожного сайту. | Відмінність від RudelRudel не потребує мультисайту. Пісочниця — це копія таблиць і активної теми наявного сайту, яку для кожного запиту вибирають за заголовком, cookie або змінною середовища WP-CLI. |
| wp-env | ПеревагиНалаштовує локальний сайт WordPress із Docker для розробки й тестування плагінів і тем без додаткової конфігурації. | Відмінність від RudelДля Rudel не потрібна друга інсталяція WordPress. Сервіс створює пісочниці з вмісту вашого наявного сайту, і їхні таблиці зберігаються в тій самій базі даних MySQL, що й таблиці хосту. Пісочниця не отримує власного середовища виконання PHP чи сервера бази даних. |
| WordPress Playground | ПеревагиЗапускає WordPress на боці клієнта у WebAssembly, без серверної частини, ізольовано в браузері та без постійних побічних ефектів поза ним. | Відмінність від RudelRudel працює на сервері поруч зі справжнім сайтом і його базою даних MySQL. Пісочниця використовує поточний вміст цього сайту й доступна через WP-CLI та будь-який клієнт HTTP. |
Запитання та відповіді
Короткі відповіді з документації Rudel.
Ядро WordPress, файли плагінів і завантажені медіафайли. Кожна пісочниця отримує власну копію таблиць бази даних, зокрема користувачів, із згенерованим префіксом, а також власну копію активної теми.
Передайте заголовок X-Rudel-Environment або cookie rudel_environment із запитом HTTP або задайте RUDEL_ENVIRONMENT для WP-CLI. Rudel приймає ID від будь-якого клієнта, тож вибір не є контролем доступу.
Ні. Запити в пісочниці зупиняють вихідну пошту через фільтр pre_wp_mail і записують у журнал отримувача й тему кожного заблокованого повідомлення.
У двох таблицях бази даних хосту: wp_rudel_environments і wp_rudel_worktrees зі стандартним префіксом. Конфігурації середовища виконання JSON та сховища SQLite немає.
Активація створює таблиці середовища виконання, додає рядок завантаження до wp-config.php і планує завдання очищення, тому в цей момент WordPress потрібен доступ на запис до wp-config.php. Деактивація видаляє цей рядок.
Так. wp rudel snapshot зберігає таблиці пісочниці та її файли теми під заданою назвою, а wp rudel restore із параметром --snapshot відновлює їх.
Установіть плагін, створіть пісочницю на власному сайті та надішліть у неї перший запит за посібником із початку роботи.