إدارة البث المباشر & معاينة القنوات والإصدارات والإصدارات لموقعك

توفر استضافة Firebase الأدوات عبر كل من وحدة تحكم Firebase وFirebase CLI لإدارة القنوات والإصدارات والإصدارات لموقع الاستضافة الخاص بك.

نظرة عامة على البنية التحتية للاستضافة

يساعدك فهم البنية التحتية للاستضافة على فهم خيارات الإدارة الموضحة في هذه الصفحة.

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

صورة للتسلسل الهرمي لاستضافة Firebase

يحتوي كل موقع استضافة على قناة "مباشرة" تقدم المحتوى وتكوين الاستضافة في (1) النطاقات الفرعية التي يوفرها Firebase للموقع ( SITE_ID .web.app و SITE_ID .firebaseapp.com ) و(2) أي نطاقات مخصصة متصلة. يمكنك أيضًا إنشاء قنوات "معاينة" بشكل اختياري تقدم محتواها الخاص وتكوينها في "عناوين URL للمعاينة" المؤقتة والقابلة للمشاركة ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

يتم تجميع المحتوى والتكوين الذي تقدمه كل قناة في كائن إصدار له معرف فريد. عند النشر على موقعك، يقوم Firebase بإنشاء كائن إصدار يشير إلى إصدار محدد. يحتوي الإصدار على بيانات تعريف حول النشر، مثل من قام بالنشر ومتى تم النشر.

من لوحة تحكم استضافة مشروع Firebase، يمكنك الاطلاع على السجل الكامل لإصدارات قناتك المباشرة في جدول سجل الإصدارات . إذا كان لديك مواقع استضافة متعددة ، فانقر فوق عرض للموقع المطلوب لرؤية تاريخ إصداره. إذا كانت لديك أي قنوات معاينة، فسيتم عرضها أيضًا على لوحة تحكم الاستضافة.

إدارة إعدادات القناة

لكل قناة في موقعك، يمكنك التحكم في إعداداتها. بعض الإعدادات، مثل انتهاء صلاحية القناة، تنطبق فقط على قنوات المعاينة.

الحد من عدد الإصدارات التي يجب الاحتفاظ بها

في كل مرة تقوم فيها بالنشر إلى قناة (وإنشاء إصدار)، تحتفظ الاستضافة بالإصدار المرتبط بالإصدار السابق في مساحة تخزين الاستضافة الخاصة بمشروعك. يمكنك تعيين عدد الإصدارات التي تريد الاحتفاظ بها لكل قناة في مشروعك، سواء القنوات المباشرة أو قنوات المعاينة.

  • لماذا تحتفظ الاستضافة بالإصدارات السابقة؟
    بالنسبة إلى قناتك المباشرة، يتيح لك الاحتفاظ بالإصدارات السابقة العودة إلى الإصدار السابق من موقعك، إذا لزم الأمر. بالنسبة لقنوات المعاينة الخاصة بك، فإن التراجع ليس متاحًا بعد.

  • لماذا تحديد عدد الإصدارات للاحتفاظ بها؟
    يمكن أن تساعدك هذه الميزة في التحكم في مستوى استخدام وحدة تخزين استضافة مشروعك ، حيث يتم الاحتفاظ بمحتوى الإصدارات السابقة في وحدة التخزين هذه. يمكنك مراقبة مساحة تخزين الاستضافة الخاصة بك من علامة التبويب "التخزين" في وحدة التحكم.

  • ماذا يحدث عندما تحد من الإصدارات للاحتفاظ بها؟
    عندما تقوم بتعيين حد للإصدارات التي تريد الاحتفاظ بها، تتم جدولة محتوى أي إصدارات تتجاوز الحد الذي حددته للحذف، بدءًا من الإصدارات الأقدم أولاً .

فيما يلي كيفية تعيين حد تخزين الإصدار للقناة:

  1. في وحدة تحكم Firebase ، قم بالوصول إلى مربع حوار إعداد تخزين الإصدار:

    • لقناتك الحية
      في جدول محفوظات الإصدار لموقعك، انقر فوق ، ثم حدد تحرير إعدادات التخزين .

    • لأي قناة المعاينة
      في صف قناة المعاينة، انقر فوق ، ثم حدد إعدادات القناة .

  2. أدخل عدد الإصدارات التي ترغب في الاحتفاظ بها، ثم انقر على "حفظ" .

ضبط انتهاء صلاحية قناة المعاينة

افتراضيًا، تنتهي صلاحية قناة المعاينة بعد 7 أيام من تاريخ إنشائها، ولكن القناة المباشرة لموقعك لن تنتهي صلاحيتها أبدًا.

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

تدعم الاستضافة طريقتين مختلفتين للتحكم في انتهاء صلاحية القناة:

  • وحدة تحكم Firebase
    في صف قناة المعاينة، انقر فوق ، ثم حدد إعدادات القناة . أدخل التاريخ والوقت لانتهاء الصلاحية.

  • Firebase CLI
    عند النشر إلى قناة المعاينة الخاصة بك، قم بتمرير علامة --expires DURATION ، على سبيل المثال:

    firebase hosting:channel:deploy new-awesome-feature --expires 7d

    يمكن أن تصل مدة انتهاء الصلاحية إلى 30 يومًا من تاريخ النشر. استخدم h للساعات، d للأيام، و w للأسابيع (على سبيل المثال، 12h ، 7d ، 2w ، على التوالي).

استنساخ نسخة من قناة إلى أخرى

يمكنك استنساخ نسخة منشورة من قناة إلى قناة مختلفة. يمكنك الاستنساخ عبر القنوات المباشرة أو معاينة القنوات، عبر مواقع الاستضافة، أو حتى عبر مشاريع Firebase.

يتم نشر أمر الاستنساخ أيضًا على القناة "الهدف" بحيث يتم تقديم محتوى الاستضافة المستنسخة والتكوين تلقائيًا على عنوان URL المرتبط بالقناة "الهدف".

تعد هذه الميزة مفيدة لتتبع الإصدار أو إذا كنت تريد الثقة في أنك تنشر المحتوى الدقيق الذي شاهدته و/أو اختبرته على قناة أخرى. وهنا بعض الأمثلة:

  • استنساخ من قناة معاينة "QA" إلى القناة المباشرة لموقعك (سيتم بثها مباشرة!)

  • استنساخ من القناة المباشرة لموقعك إلى قناة معاينة "تصحيح الأخطاء" (كما هو الحال قبل التراجع)

  • يمكنك النسخ من قناة في مشروع Firebase "المرحلي" الخاص بك إلى قناة معاينة في مشروع Firebase "المنتج" الخاص بك

لاستنساخ نسخة، قم بتشغيل الأمر التالي من أي دليل:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

استبدل كل عنصر نائب بما يلي:

  • SOURCE_SITE_ID و TARGET_SITE_ID : هذه هي معرفات مواقع الاستضافة التي تحتوي على القنوات.

    • بالنسبة لموقع الاستضافة الافتراضي الخاص بك، استخدم معرف مشروع Firebase الخاص بك.
    • يمكنك تحديد مواقع الاستضافة الموجودة في نفس مشروع Firebase أو حتى في مشاريع Firebase المختلفة.
  • SOURCE_CHANNEL_ID و TARGET_CHANNEL_ID : هذه هي معرفات القنوات.

    • بالنسبة للقناة المباشرة، استخدم live كمعرف القناة.
    • إذا لم تكن القناة "الهدف" المحددة موجودة بعد، فسيقوم هذا الأمر بإنشاء القناة قبل النشر إليها.

العودة إلى الإصدار السابق من موقعك

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

من خلال التراجع، يمكنك إنشاء إصدار جديد يخدم نفس إصدار المحتوى كإصدار سابق. في جدول محفوظات الإصدارات ، سيدرج كلا الإصدارين معرف الإصدار نفسه.

وإليك كيفية التراجع:

  1. في وحدة تحكم Firebase ، في جدول محفوظات الإصدار لموقعك، قم بالتمرير فوق إدخال الإصدار السابق الذي تريد الرجوع إليه.

  2. انقر ، ثم حدد التراجع .

حذف الإصدار يدويًا

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

عندما تقوم بحذف إصدار، فإنك في الواقع تحذف محتواه، والذي تمت جدولته للحذف خلال 24 ساعة. يتم الاحتفاظ بكائن الإصدار نفسه بحيث يظل بإمكانك رؤية بيانات التعريف الخاصة به (من قام بالنشر ومتى تم النشر).

إليك كيفية حذف الإصدار:

  1. في وحدة تحكم Firebase ، في جدول محفوظات الإصدارات لموقعك، قم بالتمرير فوق إدخال الإصدار السابق الذي تريد حذفه.

  2. انقر فوق ، ثم حدد حذف .

حذف قناة المعاينة يدويًا

يمكنك معاينة قنواتك من خلال النقر على القناة التي تريد معاينتها. من طريقة العرض هذه، يمكنك رؤية أحدث عمليات النشر والإصدار المرتبطة بالقناة المحددة وحذفها والتراجع عنها. يمكنك حذف قناة معاينة، لكن لا يمكنك حذف القناة المباشرة لموقعك.

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

تدعم الاستضافة طريقتين مختلفتين لحذف قناة المعاينة:

  • وحدة تحكم Firebase
    في صف قناة المعاينة، انقر فوق ، ثم حدد حذف القناة . تأكيد الحذف.

  • Firebase CLI
    قم بتشغيل الأمر التالي من أي دليل:

    firebase hosting:channel:delete CHANNEL_ID

أوامر CLI لمعاينة القنوات والاستنساخ

أوامر لمعاينة القنوات

تدعم كافة أوامر معاينة القنوات نشر الأهداف إذا كان لديك مواقع استضافة متعددة .

يأمر وصف
firebase hosting:channel:create CHANNEL_ID

إنشاء قناة معاينة جديدة في موقع الاستضافة الافتراضي باستخدام CHANNEL_ID المحدد

لا يتم نشر هذا الأمر على القناة.

firebase hosting:channel:delete CHANNEL_ID

يحذف قناة المعاينة المحددة

لا يمكنك حذف القناة المباشرة لموقع ما.

firebase hosting:channel:deploy CHANNEL_ID

ينشر محتوى الاستضافة والتكوين الخاص بك إلى قناة المعاينة المحددة

إذا لم تكن قناة المعاينة موجودة بعد، فسيقوم هذا الأمر بإنشاء القناة في موقع الاستضافة الافتراضي قبل النشر إلى القناة.

firebase hosting:channel:list يسرد جميع القنوات (بما في ذلك القناة "المباشرة") في موقع الاستضافة الافتراضي
firebase hosting:channel:open CHANNEL_ID يفتح المتصفح على عنوان URL للقناة المحددة أو يعرض عنوان URL إذا كان الفتح في المتصفح غير ممكن

أوامر لاستنساخ الإصدار

يأمر وصف
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

استنساخ أحدث إصدار تم نشره على القناة "المصدر" المحددة إلى القناة "الهدف" المحددة

يتم نشر هذا الأمر أيضًا على القناة "الهدف" المحددة. إذا لم تكن القناة "الهدف" موجودة بعد، فسيقوم هذا الأمر بإنشاء قناة معاينة جديدة في موقع الاستضافة "الهدف" قبل النشر إلى القناة.

firebase hosting:clone \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

استنساخ الإصدار المحدد للقناة "الهدف" المحددة

يتم نشر هذا الأمر أيضًا على القناة "الهدف" المحددة. إذا لم تكن القناة "الهدف" موجودة بعد، فسيقوم هذا الأمر بإنشاء قناة معاينة جديدة في موقع الاستضافة "الهدف" قبل النشر إلى القناة.

يمكنك العثور على VERSION_ID في لوحة تحكم الاستضافة بوحدة تحكم Firebase.