CLI
Rudel registriert seine Befehle unter wp rudel. WP-CLI weist eine Option, die ein Befehl hier nicht aufführt, mit unknown --<name> parameter zurück.
Für die Verwendung in einem eingebetteten Setup kannst du den Root-Befehl umbenennen, indem du RUDEL_CLI_COMMAND in wp-config.php definierst, bevor das Plugin geladen wird.
define( 'RUDEL_CLI_COMMAND', 'sandbox' );
Dadurch wird aus wp rudel create der Befehl wp sandbox create. Das Verhalten des Befehls ändert sich nicht.
Befehle werden standardmäßig auf dem Host ausgeführt. Um einen anderen WP-CLI-Befehl in einer Sandbox auszuführen, setze RUDEL_ENVIRONMENT:
RUDEL_ENVIRONMENT=alpha-3be7 wp option get blogname
create
wp rudel create [--name=<name>] [--theme=<slug>] [--clone-from=<id>] [--owner=<owner>] [--labels=<labels>] [--purpose=<purpose>] [--protected] [--ttl-days=<days>] [--expires-at=<timestamp>] [--git=<remote>] [--type=<theme|plugin>] [--template=<label>]
Erstellt eine Sandbox und gibt ihre ID aus.
| Option | Bedeutung |
|---|---|
--name |
Lesbarer Name. Die ID besteht aus dem Namen und vier Hex-Zeichen. Standardmäßig wird der Repository-Name mit --git verwendet, ansonsten sandbox. |
--theme |
Theme, das in die Sandbox kopiert wird. Es muss auf dem Host installiert sein. Standardmäßig wird das aktive Theme des Hosts verwendet, bei --clone-from das Theme der Quell-Sandbox. |
--clone-from |
Klont Tabellen und Theme aus einer bestehenden Sandbox statt vom Host. |
--owner, --labels, --purpose |
Metadaten. Labels werden durch Kommas getrennt. |
--protected |
Nimmt die Sandbox von der Bereinigung aus. |
--ttl-days |
Ablaufzeit ab dem Erstellungszeitpunkt. |
--expires-at |
Expliziter Ablaufzeitpunkt. |
--git |
Klont ein Remote-Repository in das Sandbox-Verzeichnis. Siehe Git. |
--type |
Legt fest, wo --git ausgecheckt wird: theme (Standard) oder plugin. |
--template |
Ein im Eintrag gespeichertes Label, standardmäßig blank. Lädt keine gespeicherte Vorlage. |
--clone-db, --clone-themes, --clone-plugins, --clone-uploads, --clone-all, --shared-plugins und --shared-uploads sind veraltet. Sie ändern nur die Fortschrittsmeldungen: Jede Sandbox klont die Tabellen, kopiert ein Theme und nutzt Plugins sowie Uploads gemeinsam.
Der Befehl endet mit dem Hinweis, in das Sandbox-Verzeichnis zu cd und wp post list auszuführen. Das geschieht auf dem Host, weil wp-cli.yml im Sandbox-Verzeichnis auf die URL des Hosts verweist. Verwende stattdessen RUDEL_ENVIRONMENT.
list
wp rudel list [--format=<table|json|csv|yaml|count>]
Listet Sandboxes mit ID, Name, Eigentümer, Schutzstatus, Ablaufzeit, Status, Vorlagenlabel, Erstellungszeit und Verzeichnisgröße auf.
info
wp rudel info <id> [--format=<table|json|yaml>]
Zeigt einen Sandbox-Eintrag mit Tabellenpräfix, Theme, Labels, Klon-Metadaten, URL und Inhaltspfad an.
update
wp rudel update <id> [--owner=<owner>] [--labels=<labels>] [--purpose=<purpose>] [--protected] [--unprotected] [--ttl-days=<days>] [--expires-at=<timestamp>] [--clear-expiry]
Aktualisiert Metadaten. --ttl-days zählt ab jetzt. Der Inhalt der Sandbox-Website wird nicht verändert.
destroy
wp rudel destroy <id> [--force]
Löscht die Sandboxtabellen, entfernt ihr Verzeichnis und verknüpfte Worktrees und löscht den Eintrag. Der Befehl fragt nach einer Bestätigung; --force überspringt die Abfrage. Der Schutzstatus verhindert destroy nicht: Eine geschützte Sandbox wird wie jede andere gelöscht.
status
wp rudel status
Gibt eine Tabelle mit Bootstrap-Status, aktueller Sandbox, Sandbox-Verzeichnis, Sandbox-Anzahl, den Werten von rudel_config und dem Status der geplanten Automatisierung aus. Die Ausgabe erfolgt immer als Tabelle; --format wird ignoriert.
cleanup
wp rudel cleanup [--dry-run] [--max-age-days=<days>] [--max-idle-days=<days>] [--merged]
Ohne --merged werden ungeschützte Sandboxes entfernt, deren Ablaufzeit erreicht ist, die älter als das Alterslimit sind oder länger als das Inaktivitätslimit nicht genutzt wurden. --max-age-days und --max-idle-days überschreiben rudel_config für diesen Lauf. Mit --merged werden Sandboxes entfernt, deren verknüpfte Git-Worktree-Branches integriert wurden. Geschützte Sandboxes werden immer übersprungen. Siehe Bereinigung.
logs
wp rudel logs <id> [--lines=<lines>] [--follow] [--clear]
Gibt die letzten Zeilen des Sandbox-debug.log aus (Standard: 50). --follow führt tail -f aus; --clear leert die Datei. Siehe Fehlerprotokollierung.
snapshot
wp rudel snapshot <id> --name=<name>
Erstellt einen benannten Snapshot.
restore
wp rudel restore <id> --snapshot=<name> [--force]
Stellt einen Snapshot wieder her. Der Befehl fragt nach einer Bestätigung; --force überspringt die Abfrage. Siehe Snapshots.
template
wp rudel template save <id> --name=<name> [--description=<description>]
wp rudel template list [--format=<table|json|csv|yaml|count>]
wp rudel template delete <name> [--force]
Speichert, listet und löscht Vorlagenkopien. Kein Befehl erstellt eine Sandbox aus einer gespeicherten Vorlage. Siehe Vorlagen.
push
wp rudel push <id> [--git=<remote>] [--dir=<dir>] [--message=<message>]
Commitet und pusht einen Checkout im Sandbox-Verzeichnis in den Branch rudel/<id>.
| Option | Bedeutung |
|---|---|
--git |
Remote-URL. Nur erforderlich, wenn keiner gespeichert ist; nach dem ersten erfolgreichen Push wird er gespeichert. |
--dir |
Verzeichnis relativ zum Sandbox-Verzeichnis, zum Beispiel themes/my-theme. Standardmäßig wird das gespeicherte Checkout-Verzeichnis verwendet, ansonsten das gesamte Sandbox-Verzeichnis. |
--message |
Commit-Nachricht, standardmäßig Update from Rudel sandbox. |
Siehe Git.