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

يوفر Firebase Hosting الأدوات عبر كل من وحدة تحكم 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 ، يمكنك الاطلاع على سجل كامل لإصدارات قناتك المباشرة في جدول محفوظات الإصدارات . إذا كان لديك العديد من مواقع الاستضافة ، فانقر فوق عرض للموقع المطلوب للاطلاع على سجل إصداره. إذا كان لديك أي قنوات معاينة ، فسيتم عرضها أيضًا على لوحة معلومات الاستضافة.

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

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

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

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

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

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

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

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

  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 أيام ، 2 2w ، على التوالي).

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

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

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

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

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

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

  • استنساخ من قناة في مشروع Firebase "التدريجي" إلى قناة معاينة في مشروع Firebase "prod"

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

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.