Δημιουργία
Δημιουργία από τον κεντρικό υπολογιστή
wp rudel create --name=alpha --theme=twentytwentyfour
Το Rudel δημιουργεί ένα ID από το όνομα συν τέσσερις δεκαεξαδικούς χαρακτήρες (για παράδειγμα alpha-3be7), κλωνοποιεί τους πίνακες WordPress του κεντρικού υπολογιστή σε ένα παραγόμενο πρόθεμα πινάκων, αντιγράφει το επιλεγμένο θέμα στον κατάλογο sandbox και καταγράφει το sandbox στη βάση δεδομένων WordPress του κεντρικού υπολογιστή. Τα siteurl και home του sandbox διατηρούν το URL του κεντρικού υπολογιστή.
Αν παραλειφθεί το --theme, το Rudel χρησιμοποιεί το ενεργό θέμα του ιστότοπου του κεντρικού υπολογιστή. Το θέμα πρέπει να είναι εγκατεστημένο στον κεντρικό υπολογιστή. Ένα θυγατρικό θέμα συνοδεύεται από το γονικό του θέμα.
Αντιγράφεται κάθε πίνακας με το πρόθεμα πινάκων του κεντρικού υπολογιστή, συμπεριλαμβανομένων των users και usermeta, εκτός από τους ίδιους τους πίνακες του Rudel. Στην τρέχουσα έκδοση περιλαμβάνονται και οι πίνακες των sandbox που υπάρχουν ήδη, οπότε κάθε νέο sandbox είναι μεγαλύτερο από το προηγούμενο. Δείτε το ζήτημα #3.
Δημιουργία από άλλο sandbox
wp rudel create --name=feature-b --clone-from=alpha-3be7
Το νέο sandbox λαμβάνει αντίγραφο κάθε πίνακα με το πρόθεμα του sandbox προέλευσης, συμπεριλαμβανομένων των πινάκων στιγμιότυπων του, καθώς και του θέματός του. Οι κατάλογοι στιγμιότυπων δεν αντιγράφονται, επομένως αυτοί οι πίνακες δεν χρησιμοποιούνται στο νέο sandbox (ζήτημα #12). Όταν ο κατάλογος θέματος προέλευσης είναι αποθετήριο Git, το Rudel δημιουργεί συνδεδεμένο worktree στον κλάδο rudel/{new-id} αντί για απλό αντίγραφο. Το ID προέλευσης καταγράφεται στη νέα εγγραφή.
Μεταδεδομένα κύκλου ζωής
Τα sandbox μπορούν να έχουν μεταδεδομένα για την εκκαθάριση και την ιδιοκτησία:
wp rudel create \
--name=feature-a \
--owner=dennis \
--labels=agent,qa \
--purpose="Test checkout changes" \
--ttl-days=7
Χρησιμοποιήστε το --protected όταν η αυτοματοποιημένη εκκαθάριση δεν πρέπει να αφαιρεί το sandbox. Δείτε την Πολιτική.
Όρια
Η δημιουργία αποτυγχάνει όταν συμπληρωθούν οι ρυθμίσεις max_sandboxes ή max_disk_mb. Και οι δύο έχουν προεπιλεγμένη τιμή 0, που σημαίνει ότι δεν υπάρχει όριο. Δείτε τη Διαμόρφωση.
Checkouts Git
wp rudel create --name=feature-a --git=https://example.test/my-theme.git
Το Rudel δημιουργεί το sandbox, κλωνοποιεί το απομακρυσμένο αποθετήριο στο themes/my-theme μέσα στον κατάλογο sandbox και αλλάζει το checkout στον κλάδο rudel/{id}. Προσθέστε το --type=plugin για να γίνει η κλωνοποίηση στο plugins/my-theme. Αν η κλωνοποίηση αποτύχει, το sandbox παραμένει και εμφανίζεται προειδοποίηση. Δείτε το Git για να μάθετε τι προβάλλει το sandbox από αυτό το checkout.
Διάταξη καταλόγων
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