Creación
Crear desde el host
wp rudel create --name=alpha --theme=twentytwentyfour
Rudel genera un ID a partir del nombre y cuatro caracteres hexadecimales (por ejemplo, alpha-3be7), clona las tablas WordPress del host con un prefijo de tabla generado, copia el tema seleccionado en el directorio del sandbox y registra el sandbox en la base de datos WordPress del host. siteurl y home del sandbox conservan el URL del host.
Si se omite --theme, Rudel usa el tema activo del sitio del host. El tema debe estar instalado en el host. Si es un tema hijo, también se incluye el tema principal.
Se copia cada tabla que tenga el prefijo de tabla del host, incluidas users y usermeta, excepto las tablas propias de Rudel. En la versión actual también se incluyen las tablas de los sandboxes existentes, así que cada sandbox nuevo es más grande que el anterior. Consulte el problema n.º 3.
Crear desde otro sandbox
wp rudel create --name=feature-b --clone-from=alpha-3be7
El nuevo sandbox recibe una copia de todas las tablas con el prefijo del sandbox de origen, incluidas las tablas de instantáneas de origen, y de su tema. No se copian los directorios de instantáneas, por lo que esas tablas no se usan en el nuevo sandbox (problema n.º 12). Cuando el directorio del tema de origen es un repositorio de Git, Rudel crea un worktree vinculado en la rama rudel/{new-id} en lugar de una copia simple. El ID de origen se registra en el nuevo registro.
Metadatos del ciclo de vida
Los sandboxes pueden incluir metadatos para la limpieza y la propiedad:
wp rudel create \
--name=feature-a \
--owner=dennis \
--labels=agent,qa \
--purpose="Test checkout changes" \
--ttl-days=7
Use --protected cuando la limpieza automatizada no deba eliminar el sandbox. Consulte Política.
Límites
La creación falla al alcanzar los ajustes max_sandboxes o max_disk_mb. Ambos son 0 de forma predeterminada, lo que significa que no hay límite. Consulte Configuración.
Checkouts de Git
wp rudel create --name=feature-a --git=https://example.test/my-theme.git
Rudel crea el sandbox, clona el remoto en themes/my-theme dentro del directorio del sandbox y cambia el checkout a la rama rudel/{id}. Añada --type=plugin para clonar en plugins/my-theme. Si la clonación falla, el sandbox permanece y se muestra una advertencia. Consulte Git para saber qué contenido del sandbox se sirve desde ese checkout.
Estructura de directorios
wp-content/rudel-environments/{id}/
themes/ copied theme, plus any Git checkout
snapshots/ snapshot metadata and theme copies
logs/ metadata/ tmp/
wp-cli.yml
debug.log when debug logging is active