Aller au contenu

Création

Créer depuis l’hôte

Shell
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

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

Shell
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

Shell
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

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