انتقل إلى المحتوى

Rudel

بيئات تراكبية WordPress تُحدَّد لكل طلب للبيئات المعزولة.

الطرفية
composer require rudel/rudel

أحدث إصدار v0.10.0 GPL-2.0-or-later WordPress 6.4+, PHP 8.2+

في التطبيق العملي

أنشئ بيئة معزولة من موقع المضيف، ثم وجّه WP-CLI أو طلب HTTP إليها.

أنشئ بيئة معزولة ووجّه الطلب إليها

يستنسخ wp rudel create جداول المضيف ضمن بادئة جديدة، وينسخ القالب إلى دليل البيئة المعزولة، ويطبع معرّفها.

مرّر هذا المعرّف في RUDEL_ENVIRONMENT إلى WP-CLI، أو في الترويسة X-Rudel-Environment أو ملف تعريف الارتباط rudel_environment إلى HTTP. تنشئ PHP API البيئة المعزولة نفسها مع بيانات دورة الحياة الوصفية.

الطرفية
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/

بيئات الاختبار المعزولة

بيئات تراكبية مؤقتة للتطوير والاختبار ووكلاء الذكاء الاصطناعي.

تحديد الطلب

وجّه طلبًا إلى بيئة معزولة باستخدام ترويسة ‎X-Rudel-Environment أو ملف تعريف الارتباط rudel_environment أو RUDEL_ENVIRONMENT في WP-CLI. يعتمد التحديد على معرّف البيئة المعزولة وحده، من دون مصادقة.

وقت تشغيل تراكبي

تضيف عملية التفعيل سطر تهيئة إلى wp-config.php. وبعدها تحصل كل بيئة معزولة على جداول مستنسخة ضمن بادئتها الخاصة ونسخة من القالب النشط؛ وتظل الملفات الأساسية لـWordPress وملفات الإضافات والتحميلات مشتركة.

أشجار عمل Git

تدفقات استنساخ Git ودفعه وإدارة أشجار العمل المدمجة والأصلية لـ PHP، دون الحاجة إلى ملف git ثنائي على المضيف.

اللقطات

نقاط استعادة مسماة تنسخ الجداول وملفات القالب المُدارة في البيئة المعزولة. أنشئها واستعدها من WP-CLI أو PHP.

عزل الطلبات

بادئات جداول وجذور قوالب ودليل مؤقت وملح مفاتيح ذاكرة تخزين الكائنات وحظر البريد الإلكتروني لكل طلب.

WP-CLI & PHP API

تنشئ أوامر wp rudel والطرائق الثابتة Rudel\Rudel البيئات المعزولة وتعرضها وتحدّثها وتحفظ لقطاتها وتستعيدها وتحذفها.

جاهز للوكلاء

يوفر للوكلاء البرمجيين نسخة WordPress مؤقتة، مع تقييد WP-CLI باستخدام RUDEL_ENVIRONMENT وحظر البريد الصادر.

لماذا Rudel؟

تثبيت واحد، وبيئات معزولة متعددة

يعمل Rudel داخل تثبيت عادي لـWordPress، من دون تعدد المواقع أو تثبيت ثانٍ لـWordPress. ويواصل موقع المضيف تقديم بياناته لكل طلب لا يحدد بيئة معزولة.

نسخ الجداول وقالب واحد

تحصل البيئة المعزولة على نسخة من جداول المضيف، بما فيها المستخدمون، ضمن بادئتها الخاصة، ونسخة من القالب النشط، إضافة إلى القالب الأب إن كان القالب فرعيًا. وتظل الملفات الأساسية لـWordPress وملفات الإضافات والتحميلات على المضيف.

بيئات معزولة تنتهي صلاحيتها

عيّن مالكًا وتسميات وغرضًا ومدة صلاحية بالأيام للبيئة المعزولة. تحذف مهمة WP-Cron كل ساعة البيئات المنتهية الصلاحية وتتجاوز تلك المحددة على أنها محمية.

آمن للمعاينة

تحظر طلبات البيئة المعزولة البريد الصادر وتسجل كل رسالة محظورة. ما لم يعيّن wp-config.php ملحًا خاصًا به، يُشتق ملح مفتاح ذاكرة تخزين الكائنات من معرّف البيئة المعزولة، وبذلك تفصل ذاكرات التخزين المستمرة مفاتيح المضيف عن مفاتيح البيئة المعزولة.

مقارنة مع

يعمل Rudel داخل الموقع الذي تستخدمه بالفعل. وتغطي هذه الأدوات احتياجات مجاورة.

Rudel مقارنةً بأدوات أخرى
WordPress Multisite مناسب لـيشغّل شبكة من المواقع الافتراضية على مجموعة واحدة من الملفات الأساسية، مع إضافات وقوالب مشتركة وجداول قاعدة بيانات وأدلة تحميل منفصلة لكل موقع. الاختلاف عن Rudelلا يحتاج Rudel إلى تعدد المواقع. البيئة المعزولة نسخة من جداول الموقع الحالي وقوالبه النشط، ويُحدَّد استخدامها لكل طلب عبر ترويسة أو ملف تعريف ارتباط أو متغير بيئة في WP-CLI.
wp-env مناسب لـيُعدّ موقع WordPress محليًا باستخدام Docker لبناء الإضافات والقوالب واختبارها، من دون إعداد إضافي. الاختلاف عن Rudelلا يحتاج Rudel إلى تثبيت ثانٍ لـWordPress. فهو ينشئ البيئات المعزولة من محتوى الموقع الذي تستخدمه بالفعل، وتوجد جداولها في قاعدة بيانات MySQL نفسها التي يستضيفها الموقع. ولا يمنح البيئة المعزولة وقت تشغيل PHP أو خادم قاعدة بيانات خاصًا بها.
WordPress Playground مناسب لـيشغّل WordPress من جهة العميل في WebAssembly، من دون خادم خلفي، ويعزله داخل المتصفح بلا آثار جانبية مستمرة خارجه. الاختلاف عن Rudelيعمل Rudel على الخادم بجوار موقع حقيقي وقاعدة بيانات MySQL الخاصة به. تبدأ البيئة المعزولة من محتوى الموقع الحالي، ويمكن الوصول إليها من WP-CLI ومن أي عميل HTTP.

الأسئلة والأجوبة

إجابات موجزة من توثيق Rudel.

ثبّت الإضافة، وأنشئ بيئة معزولة من موقعك، وأرسل طلبك الأول إليها باتباع دليل البدء.