Création
Créer depuis l’hôte
wp rudel create --name=alpha --theme=twentytwentyfour
Rudel génère un ID à partir du nom et de quatre caractères hexadécimaux (par exemple alpha-3be7), clone les tables WordPress de l’hôte avec un préfixe de table généré, copie le thème sélectionné dans le répertoire du bac à sable et enregistre celui-ci dans la base de données WordPress de l’hôte. Le siteurl et le home du bac à sable conservent le URL de l’hôte.
Si --theme est omis, Rudel utilise le thème actif du site hôte. Le thème doit être installé sur l’hôte. Un thème enfant entraîne la copie de son thème parent.
Chaque table portant le préfixe de table de l’hôte est copiée, y compris users et usermeta, à l’exception des tables propres à Rudel. Dans la version actuelle, cela inclut également les tables des bacs à sable existants : chaque nouveau bac à sable est donc plus volumineux que le précédent. Voir le problème n° 3.
Créer depuis un autre bac à sable
wp rudel create --name=feature-b --clone-from=alpha-3be7
Le nouveau bac à sable reçoit une copie de chaque table portant le préfixe du bac à sable source, y compris ses tables d’instantanés, ainsi que son thème. Les répertoires d’instantanés ne sont pas copiés ; ces tables ne sont donc pas utilisées dans le nouveau bac à sable (problème n° 12). Lorsque le répertoire du thème source est un dépôt Git, Rudel crée un worktree lié sur la branche rudel/{new-id} au lieu d’une simple copie. L’ID source est enregistré dans le nouvel enregistrement.
Métadonnées du cycle de vie
Les bacs à sable peuvent contenir des métadonnées de nettoyage et de propriété :
wp rudel create \
--name=feature-a \
--owner=dennis \
--labels=agent,qa \
--purpose="Test checkout changes" \
--ttl-days=7
Utilisez --protected lorsque le nettoyage automatisé ne doit pas supprimer le bac à sable. Voir Politique.
Limites
La création échoue lorsque les limites définies par max_sandboxes ou max_disk_mb sont atteintes. Les deux valent par défaut 0, ce qui signifie qu’il n’y a aucune limite. Voir Configuration.
Checkouts Git
wp rudel create --name=feature-a --git=https://example.test/my-theme.git
Rudel crée le bac à sable, clone le dépôt distant dans themes/my-theme à l’intérieur de son répertoire et bascule le checkout sur la branche rudel/{id}. Ajoutez --type=plugin pour cloner plutôt dans plugins/my-theme. En cas d’échec du clonage, le bac à sable est conservé et un avertissement s’affiche. Voir Git pour savoir ce que le bac à sable sert depuis ce checkout.
Structure des répertoires
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