Saltar al contenido

Creación

Crear desde el host

Shell
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

Shell
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:

Shell
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

Shell
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

Text
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