Rudel
Lingkungan overlay WordPress yang dipilih per permintaan untuk sandbox.
composer require rudel/rudelRilis terbaru 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=7Dalam praktik
Buat sandbox dari situs host, lalu arahkan WP-CLI atau permintaan HTTP ke sana.
Buat sandbox dan rutekan permintaan ke sana
wp rudel create mengklon tabel host dengan prefix baru, menyalin tema ke direktori sandbox, dan mencetak ID sandbox.
Kirim ID tersebut di RUDEL_ENVIRONMENT untuk WP-CLI, atau di header X-Rudel-Environment atau cookie rudel_environment untuk HTTP. PHP API membuat sandbox yang sama dengan metadata siklus hidup.
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
Lingkungan overlay sementara untuk pengembangan, pengujian, dan agen AI.
Pemilihan Permintaan
Rutekan permintaan ke sandbox dengan header X-Rudel-Environment, cookie rudel_environment, atau RUDEL_ENVIRONMENT di WP-CLI. Pemilihan hanya berdasarkan ID sandbox, tanpa autentikasi.
Runtime Overlay
Aktivasi menambahkan baris bootstrap ke wp-config.php. Setiap sandbox kemudian mendapatkan tabel hasil klon dengan prefix sendiri dan salinan tema aktif; file inti WordPress, plugin, dan unggahan tetap digunakan bersama.
Worktree Git
Alur clone, push, dan worktree bawaan yang native PHP Git tanpa memerlukan biner git host.
Snapshot
Titik pemulihan bernama yang menyalin tabel dan file tema terkelola dari sandbox. Buat dan pulihkan melalui WP-CLI atau PHP.
Isolasi Permintaan
Prefix tabel, root tema, direktori temp, salt kunci cache objek, dan pemblokiran email per permintaan.
WP-CLI & PHP API
Perintah wp rudel dan metode statis Rudel\Rudel membuat, menampilkan daftar, memperbarui, mengambil snapshot, memulihkan, dan menghancurkan sandbox.
Siap untuk Agen
Memberi agen pengodean salinan WordPress sementara, dengan WP-CLI dibatasi oleh RUDEL_ENVIRONMENT dan email keluar diblokir.
Mengapa Rudel
Satu instalasi, banyak sandbox
Rudel berjalan di dalam instalasi WordPress biasa, tanpa multisite dan tanpa instalasi WordPress kedua. Situs host tetap menyajikan datanya sendiri untuk setiap permintaan yang tidak menyebut sandbox.
Menyalin tabel dan satu tema
Sandbox mendapatkan salinan tabel host, termasuk pengguna, dengan prefiksnya sendiri dan salinan tema aktif, beserta tema induknya jika menggunakan tema anak. WordPress core, file plugin, dan unggahan tetap berada di host.
Sandbox dengan masa berlaku
Tetapkan pemilik, label, tujuan, dan TTL dalam hari untuk sandbox. Tugas WP-Cron setiap jam menghapus sandbox yang kedaluwarsa dan melewati sandbox yang ditandai terlindungi.
Aman untuk dipratinjau
Permintaan sandbox memblokir email keluar dan mencatat setiap pesan yang diblokir. Kecuali wp-config.php menetapkan nilainya sendiri, salt kunci cache objek diturunkan dari ID sandbox, sehingga cache persisten memisahkan kunci host dan sandbox.
Dibandingkan dengan
Rudel bekerja di dalam situs yang sudah Anda jalankan. Alat-alat ini mencakup kebutuhan lain yang terkait.
| Alat | Keunggulan | Perbedaan dengan Rudel |
|---|---|---|
| WordPress Multisite | KeunggulanMenjalankan jaringan situs virtual dengan satu set file core, plugin dan tema bersama, serta tabel database dan direktori unggahan yang terpisah untuk tiap situs. | Perbedaan dengan RudelRudel tidak memerlukan multisite. Sandbox adalah salinan tabel dan tema aktif situs yang sudah ada, dipilih untuk setiap permintaan melalui header, cookie, atau variabel lingkungan WP-CLI. |
| wp-env | KeunggulanMenyiapkan situs WordPress lokal dengan Docker untuk membangun dan menguji plugin serta tema, tanpa konfigurasi tambahan. | Perbedaan dengan RudelRudel tidak memerlukan instalasi WordPress kedua. Sandbox dibuat dari konten situs yang sudah Anda jalankan, dan tabelnya berada di database MySQL yang sama dengan host. Sandbox tidak mendapatkan runtime PHP atau server database sendiri. |
| WordPress Playground | KeunggulanMenjalankan klien WordPress di sisi pengguna dalam WebAssembly, tanpa backend, terisolasi di browser, dan tanpa efek samping persisten di luarnya. | Perbedaan dengan RudelRudel berjalan di server bersama situs sungguhan dan database MySQL-nya. Sandbox dimulai dari konten situs saat ini dan dapat diakses melalui WP-CLI serta klien HTTP mana pun. |
Tanya jawab
Jawaban singkat dari dokumentasi Rudel.
WordPress core, file plugin, dan media yang diunggah. Setiap sandbox mendapatkan salinan tabel database sendiri, termasuk pengguna, dengan prefiks yang dibuat otomatis, serta salinan tema aktifnya sendiri.
Kirim header X-Rudel-Environment atau cookie rudel_environment bersama permintaan HTTP, atau tetapkan RUDEL_ENVIRONMENT untuk WP-CLI. Rudel menerima ID dari klien mana pun, jadi pemilihan sandbox bukan kontrol akses.
Tidak. Permintaan di dalam sandbox menghentikan email keluar melalui filter pre_wp_mail dan mencatat penerima serta subjek setiap pesan yang diblokir.
Di dua tabel dalam database host, wp_rudel_environments dan wp_rudel_worktrees dengan prefiks default. Tidak ada konfigurasi runtime JSON dan tidak ada penyimpanan SQLite.
Aktivasi membuat tabel runtime, menambahkan baris bootstrap ke wp-config.php, dan menjadwalkan peristiwa pembersihan, sehingga WordPress perlu memiliki akses tulis ke wp-config.php pada saat itu. Penonaktifan menghapus kembali baris tersebut.
Ya. wp rudel snapshot menyimpan tabel sandbox dan file temanya dengan sebuah nama, lalu wp rudel restore dengan --snapshot memulihkannya.
Instal plugin, buat sandbox dari situs Anda sendiri, lalu kirim permintaan pertama ke dalamnya dengan panduan memulai.