it-swarm.asia

كيفية الانتقال من بيئة الاختبار إلى بيئة الإنتاج؟

الهجرة من البيئة المحلية إلى بيئة الإنتاج. لقد دامت بيئة الإنتاج بعض الوقت وأنتجت الكثير من المقالات.

لإضافة أشياء جديدة إلى موقعي ، أضفت سمة مخصصة وقمت بتثبيت CCK و Views والوحدات الأخرى في بيئة الاختبار المحلية. الآن بعد انتهاء بيئة الاختبار المحلية ، كيف أقوم بترحيلها إلى بيئة الإنتاج ، دون تدمير محتوى قاعدة البيانات الخاصة بها؟

46
enjoylife

هذه مشكلة غير تافهة والتي لدى كل شخص تقريبًا إجابة مختلفة لها: لا توجد طريقة Drupal متعارف عليها للتعامل مع انطلاق عمليات الإنتاج. Dries Buytaert ، الرجل الذي يدير عرضDrupal ، جعله أحد المبادرات الرئيسية لـ Drupal 8 . بالطبع ، Drupal 7 تم إصداره للتو ، لذا سيكون هناك بعض الوقت قبل أن يحمل أي فاكهة.

يمكن تقسيم المشكلة إلى مسألتين منفصلتين:

  • تكوين مرحلي (المتغيرات ، أنواع المحتوى ، الحقول ، المشاهدات ، إلخ.)
  • محتوى مرحلي (العقد ، المستخدمون ، إلخ.)

يمكن معالجة الجزء الأول في الغالب من خلال الوحدة الميزات ، والتي ستأخذ تكوين موقعك وتحويله إلى وحدة يمكنك إضافتها إلى التثبيت [Drupal: بهذه الطريقة ، يمكنك إضافة إلى نظام التحكم في الإصدار الخاص بك ولا داعي للقلق بشأن إزالته عندما تقوم بترحيل المحتوى الخاص بك.

هذا الأخير صعب حقًا ، لأنه في موقع نشط ، من المحتمل أن يتغير المحتوى عند الإنتاج حتى بعد إجراء المزامنة الأولية لبيئة التطوير الخاصة بك. هذا يمنع استبدال الجملة للمحتوى أثناء التدريج كما يمكنك القيام به مع التكوين.

بالإضافة إلى ذلك ، Drupal لا يستخدم معرفات فريدة عالميًا (UUIDs) للمحتوى: في كل مرة يتم فيها إضافة عقدة أو مستخدم ، يزداد المعرف بمقدار واحد. لذلك ما قد يكون العقدة 45 على موقع التطوير الخاص بك قد يكون العقدة 90 في موقع الإنتاج الخاص بك.

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

هناك بديل آخر يتم طرحه: Deploy الوحدة النمطية. من المفترض أن تستفيد الخدمات لجعل المحتوى المرحلي غير مؤلم نسبيًا. ولكن لا يمكنني أن أشهد على فعاليته وليس لديه إصدار Drupal 7.

34
user7

في عمليتنا.

  1. لدينا نص برمجي يعمل على سحب الديسيبل من المنتج.
  2. نحن نستخدم Hudson لإعادة بناء فروعنا المطورة/المرحلية لمزامنة الفروع الحية والمتطورة.

    نظرًا لأننا نستخدم Git ، فإن كل مهمة نقوم بها لها فرعها الخاص ، ثم عندما يتم تمريرها إلى QA ، فإننا ندمجها لإتقانها كخادمنا المرحلي لاختبار الانحدار.

    عندما يكون المعلم جاهزًا ، نقوم بإصدار اختبار لـ Release Server وهي نسخة طبق الأصل من البث المباشر (التكوين ، الأجهزة ، إلخ).

  3. نستخدم الوحدة النمطية Feature لنشر التكوينات. لا تدعم الميزة بعض العناصر حتى الآن ، لذلك نستخدم hook_update_N ثم نقوم بتشغيل updatedb.php أو drush -vd updb

  4. بعد الإفراج أداء ميزات العودة (drush fra --yes) لعكس كل ميزة تجاوز.
  5. نظرًا لأننا نستخدم Boost (الانتقال إلى الورنيش) و Memcache ، نحتاج إلى مسح ذاكرة التخزين المؤقت (drush cc all).

    نحن نستخدم rsync لمزامنة الصور/الفيديو إلخ ...

7
ninjascorner

للترحيل من خادم XAMPP إلى خادم آخر ، اتبعت الإرشادات على هذا الموقع .

تأكد من الاحتفاظ بنفس البنية على خادم الإنتاج الخاص بك كما فعلت على خادم التطوير. اضطررت أيضًا إلى تعديل بعض الملفات في Drupal لوحة تحكم المشرف الموجودة في: admin/config/media/file-system

تأكد من أن مسار نظام الملفات العام و دليل مؤقت تم تعيين المواقع الصحيحة.

2
kretzm