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 в RUDEL_ENVIRONMENT за WP-CLI или в заглавката X-Rudel-Environment, или в бисквитката 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, бисквитка rudel_environment или RUDEL_ENVIRONMENT в WP-CLI. Изборът се прави само по идентификатора на изолираната среда, без удостоверяване на автентичност.
Среда с наслагване
Активирането добавя ред за bootstrap към 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 не изисква мултисайт. Изолираната среда е копие на таблиците и активната тема на съществуващия сайт, избирано за всяка заявка чрез заглавка, бисквитка или променлива на средата WP-CLI. |
| wp-env | Подходящ заНастройва локален сайт на WordPress с Docker за създаване и тестване на плъгини и теми, без допълнителна конфигурация. | Разлики спрямо RudelRudel не изисква втора инсталация на WordPress. Създава изолирани среди от съдържанието на сайта, който вече използвате, а таблиците им се намират в същата база данни на MySQL като основния сайт. Не предоставя на изолираната среда собствена среда за изпълнение на PHP или сървър на база данни. |
| WordPress Playground | Подходящ заИзпълнява WordPress от страната на клиента в WebAssembly, без бекенд, изолирано в браузъра и без постоянни странични ефекти извън него. | Разлики спрямо RudelRudel работи на сървъра до реален сайт и неговата база данни на MySQL. Изолираната среда започва от текущото съдържание на сайта и е достъпна от WP-CLI и от всеки клиент на HTTP. |
Въпроси и отговори
Кратки отговори от документацията на Rudel.
Основните файлове на WordPress, плъгините и качените медийни файлове. Всяка изолирана среда получава собствено копие на таблиците в базата данни, включително потребителите, с генериран префикс, както и собствено копие на активната тема.
Изпратете заглавката X-Rudel-Environment или бисквитката 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 ги възстановява.
Инсталирайте плъгина, създайте изолирана среда от собствения си сайт и изпратете първата си заявка към нея с ръководството за първи стъпки.