Rudel
Entornos superpuestos de WordPress seleccionados por solicitud para entornos aislados.
composer require rudel/rudelÚltima versión 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=7En la práctica
Cree un entorno aislado desde el sitio anfitrión y dirija WP-CLI o una solicitud HTTP a él.
Cree un entorno aislado y dirija solicitudes a él
wp rudel create clona las tablas del sitio anfitrión con un nuevo prefijo, copia el tema al directorio del entorno aislado y muestra el ID del entorno.
Pase ese ID en RUDEL_ENVIRONMENT para WP-CLI, o en el encabezado X-Rudel-Environment o la cookie rudel_environment para HTTP. El PHP API crea el mismo entorno aislado con metadatos del ciclo de vida.
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,
] );Entornos aislados
Entornos superpuestos desechables para desarrollo, pruebas y agentes de IA.
Selección por solicitud
Enrute una solicitud a un entorno aislado mediante un encabezado X-Rudel-Environment, una cookie rudel_environment o RUDEL_ENVIRONMENT en WP-CLI. La selección se basa únicamente en el id del entorno aislado, sin autenticación.
Entorno de ejecución superpuesto
La activación añade una línea de inicialización a wp-config.php. Después, cada entorno aislado recibe tablas clonadas con su propio prefijo y una copia del tema activo; el núcleo, los archivos de plugins y los archivos subidos de WordPress siguen compartidos.
Árboles de trabajo de Git
Flujos integrados de clonación, envío y gestión de árboles de trabajo nativos de PHP-Git, sin necesidad del ejecutable git del sitio anfitrión.
Instantáneas
Puntos de recuperación con nombre que copian las tablas y los archivos de temas gestionados de un entorno aislado. Créelos y restáurelos desde WP-CLI o PHP.
Aislamiento por solicitud
Prefijos de tablas, raíces de temas, directorio temporal, sal de clave de caché de objetos y bloqueo de correo electrónico independientes por solicitud.
WP-CLI & PHP API
Los comandos wp rudel y los métodos estáticos de Rudel\Rudel crean, enumeran, actualizan, guardan instantáneas, restauran y destruyen entornos aislados.
Listo para agentes
Proporciona a los agentes de programación una copia desechable de WordPress, con WP-CLI delimitado por RUDEL_ENVIRONMENT y el correo saliente bloqueado.
Por qué Rudel
Una instalación, muchos entornos aislados
Rudel se ejecuta en una instalación normal de WordPress, sin multisite ni una segunda instalación de WordPress. El sitio anfitrión sigue sirviendo sus propios datos a cada solicitud que no indique un entorno aislado.
Copia las tablas y un tema
Un entorno aislado recibe una copia de las tablas del sitio anfitrión, incluidos los usuarios, con su propio prefijo, y una copia del tema activo, además de su tema principal si es un tema hijo. El núcleo, los archivos de plugins y los archivos subidos de WordPress permanecen en el sitio anfitrión.
Entornos aislados con vencimiento
Asigne a un entorno aislado un responsable, etiquetas, un propósito y un TTL en días. Una tarea horaria de WP-Cron elimina los entornos vencidos y omite los marcados como protegidos.
Seguro para previsualizar
Las solicitudes de entornos aislados bloquean el correo saliente y registran cada mensaje bloqueado. A menos que wp-config.php establezca su propio valor, la sal de clave de la caché de objetos se deriva del ID del entorno aislado, de modo que las cachés persistentes mantienen separadas las claves del sitio anfitrión y del entorno.
Comparación con
Rudel funciona dentro del sitio que ya utiliza. Estas herramientas cubren necesidades afines.
| Herramienta | Ideal para | Diferencia con Rudel |
|---|---|---|
| WordPress Multisite | Ideal paraEjecuta una red de sitios virtuales sobre un conjunto de archivos del núcleo, con plugins y temas compartidos, y tablas de base de datos y directorios de archivos subidos independientes para cada sitio. | Diferencia con RudelRudel no necesita multisite. Un entorno aislado es una copia de las tablas y el tema activo del sitio existente, seleccionada por solicitud mediante un encabezado, una cookie o una variable de entorno de WP-CLI. |
| wp-env | Ideal paraConfigura un sitio WordPress local con Docker para crear y probar plugins y temas, sin configuración adicional. | Diferencia con RudelRudel no necesita una segunda instalación de WordPress. Crea entornos aislados a partir del contenido del sitio que ya utiliza, y sus tablas residen en la misma base de datos de MySQL que el sitio anfitrión. No proporciona al entorno aislado un entorno de ejecución PHP ni un servidor de base de datos propios. |
| WordPress Playground | Ideal paraEjecuta WordPress en el lado del cliente mediante WebAssembly, sin backend, aislado en el navegador y sin efectos persistentes fuera de él. | Diferencia con RudelRudel se ejecuta en el servidor, junto a un sitio real y su base de datos MySQL. Un entorno aislado parte del contenido actual de ese sitio y se puede acceder a él desde WP-CLI y desde cualquier cliente HTTP. |
Preguntas y respuestas
Respuestas breves de la documentación de Rudel.
El núcleo, los archivos de plugins y los archivos multimedia subidos de WordPress. Cada entorno aislado recibe su propia copia de las tablas de la base de datos, incluidos los usuarios, con un prefijo generado, y su propia copia del tema activo.
Envíe el encabezado X-Rudel-Environment o la cookie rudel_environment con una solicitud HTTP, o establezca RUDEL_ENVIRONMENT para WP-CLI. Rudel acepta el ID de cualquier cliente, por lo que la selección no es un control de acceso.
No. Las solicitudes dentro de un entorno aislado detienen el correo saliente mediante el filtro pre_wp_mail y registran el destinatario y el asunto de cada mensaje bloqueado.
En dos tablas de la base de datos del sitio anfitrión, wp_rudel_environments y wp_rudel_worktrees, con el prefijo predeterminado. No hay configuración JSON del entorno de ejecución ni almacén SQLite.
La activación crea las tablas del entorno de ejecución, añade una línea de inicialización a wp-config.php y programa el evento de limpieza, por lo que WordPress necesita acceso de escritura a wp-config.php en ese momento. La desactivación elimina la línea.
Sí. wp rudel snapshot guarda las tablas y los archivos de tema del entorno aislado con un nombre, y wp rudel restore con --snapshot los restaura.
Instale el plugin, cree un entorno aislado a partir de su propio sitio y envíe su primera solicitud con la guía de primeros pasos.