Rudel
Επικαλυπτόμενα περιβάλλοντα WordPress που επιλέγονται ανά αίτημα για sandbox.
composer require rudel/rudelΤελευταία έκδοση v0.10.0 GPL-2.0-or-later WordPress 6.4+, PHP 8.2+
wp rudel create \
--name=feature-a \
--owner=dennis \
--labels=agent,qa \
--purpose="Test checkout changes" \
--ttl-days=7Στην πράξη
Δημιουργήστε sandbox από τον κεντρικό ιστότοπο και κατευθύνετε προς αυτό το WP-CLI ή ένα αίτημα HTTP.
Δημιουργήστε sandbox και δρομολογήστε προς αυτό
Το wp rudel create κλωνοποιεί τους πίνακες του κεντρικού περιβάλλοντος με νέο πρόθεμα, αντιγράφει το θέμα στον κατάλογο του sandbox και εμφανίζει το ID του sandbox.
Περάστε αυτό το ID στο RUDEL_ENVIRONMENT για το WP-CLI ή στην κεφαλίδα X-Rudel-Environment ή στο cookie rudel_environment για το HTTP. Το PHP API δημιουργεί το ίδιο sandbox με μεταδεδομένα κύκλου ζωής.
wp rudel create --name=alpha --theme=twentytwentyfour
RUDEL_ENVIRONMENT=alpha-1234 wp option get siteurl
curl -H 'X-Rudel-Environment: alpha-1234' http://localhost:8000/$sandbox = Rudel::create( 'alpha', [
'theme' => 'twentytwentyfour',
'owner' => 'dennis',
'labels' => [ 'qa', 'agent' ],
'ttl_days' => 7,
] );Περιβάλλοντα δοκιμών
Προσωρινά επικαλυπτόμενα περιβάλλοντα για ανάπτυξη, δοκιμές και πράκτορες τεχνητής νοημοσύνης.
Επιλογή αιτήματος
Δρομολογήστε ένα αίτημα σε sandbox με κεφαλίδα X-Rudel-Environment, cookie rudel_environment ή RUDEL_ENVIRONMENT στο WP-CLI. Η επιλογή γίνεται μόνο βάσει του id του sandbox, χωρίς έλεγχο ταυτότητας.
Χρόνος εκτέλεσης επικάλυψης
Η ενεργοποίηση προσθέτει μια γραμμή εκκίνησης στο wp-config.php. Έπειτα, κάθε sandbox αποκτά κλωνοποιημένους πίνακες με δικό του πρόθεμα και αντίγραφο του ενεργού θέματος· ο πυρήνας WordPress, τα αρχεία πρόσθετων και τα μεταφορτωμένα αρχεία παραμένουν κοινόχρηστα.
Δέντρα εργασίας Git
Ενσωματωμένες ροές κλωνοποίησης, αποστολής και δέντρων εργασίας PHP-native Git, χωρίς να απαιτείται δυαδικό αρχείο git στο κεντρικό περιβάλλον.
Στιγμιότυπα
Επώνυμα σημεία επαναφοράς που αντιγράφουν τους πίνακες και τα διαχειριζόμενα αρχεία θέματος ενός sandbox. Δημιουργήστε και επαναφέρετέ τα από το WP-CLI ή το PHP.
Απομόνωση αιτημάτων
Προθέματα πινάκων ανά αίτημα, ρίζες θεμάτων, προσωρινός κατάλογος, salt κλειδιού cache αντικειμένων και αποκλεισμός email.
WP-CLI & PHP API
Οι εντολές wp rudel και οι στατικές μέθοδοι του Rudel\Rudel δημιουργούν, εμφανίζουν, ενημερώνουν, λαμβάνουν στιγμιότυπα, επαναφέρουν και καταργούν sandbox.
Έτοιμο για πράκτορες
Παρέχει στους πράκτορες κώδικα ένα προσωρινό αντίγραφο WordPress, με το WP-CLI περιορισμένο από το RUDEL_ENVIRONMENT και την εξερχόμενη αλληλογραφία αποκλεισμένη.
Γιατί Rudel
Μία εγκατάσταση, πολλά sandbox
Το Rudel εκτελείται μέσα σε μια κανονική εγκατάσταση WordPress, χωρίς multisite και χωρίς δεύτερη εγκατάσταση WordPress. Ο κεντρικός ιστότοπος συνεχίζει να εξυπηρετεί τα δικά του δεδομένα σε κάθε αίτημα που δεν καθορίζει sandbox.
Αντιγράφει τους πίνακες και ένα θέμα
Ένα sandbox αποκτά αντίγραφο των πινάκων του κεντρικού περιβάλλοντος, μαζί με τους χρήστες, με δικό του πρόθεμα, καθώς και αντίγραφο του ενεργού θέματος και του γονικού του, αν είναι θυγατρικό θέμα. Ο πυρήνας WordPress, τα αρχεία πρόσθετων και τα μεταφορτωμένα αρχεία παραμένουν στο κεντρικό περιβάλλον.
Sandbox με ημερομηνία λήξης
Ορίστε κάτοχο, ετικέτες, σκοπό και TTL σε ημέρες για ένα sandbox. Μια ωριαία εργασία WP-Cron αφαιρεί τα sandbox που έχουν λήξει και παραλείπει όσα έχουν χαρακτηριστεί προστατευμένα.
Ασφαλές για προεπισκόπηση
Τα αιτήματα sandbox αποκλείουν την εξερχόμενη αλληλογραφία και καταγράφουν κάθε αποκλεισμένο μήνυμα. Αν το wp-config.php δεν ορίσει δικό του salt, το salt κλειδιού cache αντικειμένων προκύπτει από το ID του sandbox, ώστε οι μόνιμες cache να διατηρούν χωριστά τα κλειδιά του κεντρικού περιβάλλοντος και του sandbox.
Σε σύγκριση με
Το Rudel λειτουργεί μέσα στον ιστότοπο που ήδη εκτελείτε. Αυτά τα εργαλεία καλύπτουν συναφείς ανάγκες.
| Εργαλείο | Κατάλληλο για | Διαφορά με το Rudel |
|---|---|---|
| WordPress Multisite | Κατάλληλο γιαΕκτελεί ένα δίκτυο εικονικών ιστότοπων με ένα σύνολο αρχείων πυρήνα, κοινόχρηστα πρόσθετα και θέματα, και ξεχωριστούς πίνακες βάσης δεδομένων και καταλόγους μεταφορτώσεων για κάθε ιστότοπο. | Διαφορά με το RudelΤο Rudel δεν χρειάζεται multisite. Ένα sandbox είναι αντίγραφο των πινάκων και του ενεργού θέματος του υπάρχοντος ιστότοπου και επιλέγεται ανά αίτημα μέσω κεφαλίδας, cookie ή μεταβλητής περιβάλλοντος WP-CLI. |
| wp-env | Κατάλληλο γιαΡυθμίζει έναν τοπικό ιστότοπο WordPress με Docker για ανάπτυξη και δοκιμή πρόσθετων και θεμάτων, χωρίς πρόσθετη διαμόρφωση. | Διαφορά με το RudelΤο Rudel δεν χρειάζεται δεύτερη εγκατάσταση WordPress. Δημιουργεί sandbox από το περιεχόμενο του ιστότοπου που ήδη εκτελείτε και οι πίνακές τους βρίσκονται στην ίδια βάση δεδομένων MySQL με τον κεντρικό ιστότοπο. Δεν παρέχει στο sandbox ξεχωριστό χρόνο εκτέλεσης PHP ή διακομιστή βάσης δεδομένων. |
| WordPress Playground | Κατάλληλο γιαΕκτελεί το WordPress στην πλευρά του πελάτη σε WebAssembly, χωρίς backend, απομονωμένο στο πρόγραμμα περιήγησης και χωρίς μόνιμες παρενέργειες εκτός αυτού. | Διαφορά με το RudelΤο Rudel εκτελείται στον διακομιστή, δίπλα σε έναν πραγματικό ιστότοπο και τη βάση δεδομένων MySQL του. Ένα sandbox ξεκινά από το τρέχον περιεχόμενο αυτού του ιστότοπου και είναι προσβάσιμο από το WP-CLI και από κάθε πελάτη HTTP. |
Ερωτήσεις και απαντήσεις
Σύντομες απαντήσεις από την τεκμηρίωση του Rudel.
Ο πυρήνας WordPress, τα αρχεία πρόσθετων και τα μεταφορτωμένα αρχεία πολυμέσων. Κάθε sandbox αποκτά δικό του αντίγραφο των πινάκων της βάσης δεδομένων, μαζί με τους χρήστες, με παραγόμενο πρόθεμα, καθώς και δικό του αντίγραφο του ενεργού θέματος.
Στείλτε την κεφαλίδα X-Rudel-Environment ή το cookie rudel_environment με ένα αίτημα HTTP, ή ορίστε το RUDEL_ENVIRONMENT για WP-CLI. Το Rudel δέχεται το ID από οποιονδήποτε πελάτη, επομένως η επιλογή δεν αποτελεί έλεγχο πρόσβασης.
Όχι. Τα αιτήματα μέσα σε sandbox σταματούν την εξερχόμενη αλληλογραφία μέσω του φίλτρου pre_wp_mail και καταγράφουν τον παραλήπτη και το θέμα κάθε αποκλεισμένου μηνύματος.
Σε δύο πίνακες στη βάση δεδομένων του κεντρικού περιβάλλοντος, wp_rudel_environments και wp_rudel_worktrees, με το προεπιλεγμένο πρόθεμα. Δεν υπάρχει διαμόρφωση χρόνου εκτέλεσης JSON ούτε χώρος αποθήκευσης SQLite.
Η ενεργοποίηση δημιουργεί τους πίνακες χρόνου εκτέλεσης, προσθέτει μια γραμμή εκκίνησης στο wp-config.php και προγραμματίζει το συμβάν εκκαθάρισης, επομένως το WordPress χρειάζεται δικαίωμα εγγραφής στο wp-config.php εκείνη τη στιγμή. Η απενεργοποίηση αφαιρεί ξανά τη γραμμή.
Ναι. Η εντολή wp rudel snapshot αποθηκεύει τους πίνακες και τα αρχεία θέματος του sandbox με ένα όνομα, ενώ η εντολή wp rudel restore με --snapshot τα επαναφέρει.
Εγκαταστήστε το πρόσθετο, δημιουργήστε ένα sandbox από τον ιστότοπό σας και στείλτε το πρώτο σας αίτημα σε αυτό, ακολουθώντας τον οδηγό έναρξης.