Перейти к содержимому

Rudel

Накладываемые среды WordPress для песочниц, выбираемые для каждого запроса.

Терминал
composer require rudel/rudel

Последний выпуск v0.10.0 GPL-2.0-or-later WordPress 6.4+, PHP 8.2+

На практике

Создайте песочницу на основе сайта хоста, затем направьте в нее WP-CLI или запрос HTTP.

Создайте песочницу и направьте запрос в нее

wp rudel create клонирует таблицы хоста с новым префиксом, копирует тему в каталог песочницы и выводит ее идентификатор.

Передайте этот идентификатор в 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/

Песочницы

Временные накладываемые среды для разработки, тестирования и AI-агентов.

Выбор запроса

Направляйте запрос в песочницу с помощью заголовка X-Rudel-Environment, файла cookie rudel_environment или RUDEL_ENVIRONMENT в WP-CLI. Выбор выполняется только по идентификатору песочницы, без аутентификации.

Среда выполнения с наложением

При активации в wp-config.php добавляется строка загрузчика. Каждая песочница получает клонированные таблицы с собственным префиксом и копию активной темы; файлы ядра WordPress, плагины и загруженные файлы остаются общими.

Рабочие деревья Git

Встроенные потоки клонирования, отправки изменений и рабочих деревьев Git на базе PHP; двоичный файл 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 для разработки и тестирования плагинов и тем без дополнительной конфигурации. Отличия от RudelRudel не требует второй установки WordPress. Песочницы создаются из содержимого уже запущенного вами сайта, а их таблицы хранятся в той же базе данных MySQL, что и данные хоста. Песочница не получает собственную среду выполнения PHP или сервер базы данных.
WordPress Playground Подходит дляЗапускает WordPress на стороне клиента в WebAssembly, без серверной части, изолированно в браузере и без постоянных побочных эффектов за его пределами. Отличия от RudelRudel работает на сервере рядом с реальным сайтом и его базой данных MySQL. Песочница создается на основе текущего содержимого этого сайта и доступна из WP-CLI и любого клиента HTTP.

Вопросы и ответы

Краткие ответы из документации Rudel.

Установите плагин, создайте песочницу на основе собственного сайта и отправьте в нее первый запрос с помощью руководства по началу работы.