Zum Inhalt springen

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.

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

Shell
RUDEL_ENVIRONMENT=alpha-3be7 wp option get blogname

create

Shell
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

Shell
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

Shell
wp rudel info <id> [--format=<table|json|yaml>]

Zeigt einen Sandbox-Eintrag mit Tabellenpräfix, Theme, Labels, Klon-Metadaten, URL und Inhaltspfad an.

update

Shell
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

Shell
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

Shell
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

Shell
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

Shell
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

Shell
wp rudel snapshot <id> --name=<name>

Erstellt einen benannten Snapshot.

restore

Shell
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

Shell
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

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