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

توفّر خدمة "استضافة Firebase" أدوات من خلال كل من وحدة تحكُّم Firebase وواجهة سطر الأوامر في Firebase لإدارة القنوات والإصدارات والإصدارات الخاصة بموقع الاستضافة الإلكتروني.

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

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

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

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

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

ويتم حزم المحتوى والإعدادات التي تقدمها كل قناة في كائن version وله معرّف فريد. عند النشر إلى موقعك الإلكتروني، ينشئ Firebase عنصر إصدار يشير إلى إصدار معيَّن. يحتوي الإصدار على بيانات وصفية حول عملية النشر، مثل من نشروه ووقت النشر.

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

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

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

الحدّ من عدد الإصدارات المطلوب الاحتفاظ بها

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

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

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

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

إليك كيفية ضبط حدّ سعة التخزين للإصدار في قناة معيّنة:

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

    • بالنسبة إلى قناتك المباشرة
      في جدول سجلّ الإصدارات لموقعك الإلكتروني، انقر على ، ثم اختَر إعدادات مساحة تخزين الإصدارات.

    • بالنسبة إلى أي قناة معاينة
      في صف قناة المعاينة، انقر على ، ثم اختَر إعدادات القناة.

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

تحديد تاريخ انتهاء صلاحية قناة المعاينة

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

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

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

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

  • واجهة سطر الأوامر في Firebase
    عند النشر في قناة المعاينة، ضَع علامة --expires DURATION، على سبيل المثال:

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

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

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

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

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

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

  • استنسِخ قناة معاينة "ضمان الجودة" إلى القناة المباشرة لموقعك الإلكتروني (جارٍ البث المباشر)

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

  • استنساخ قناة في مشروع 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. انقر على ، ثم اختَر حذف.

حذف الملفات يدويًا

في استضافة Firebase، تتمثل الطريقة الأساسية لحذف الملفات المحددة من موقع تم نشره في حذف الملفات محليًا ثم إعادة نشرها.

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

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

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

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

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

  • واجهة سطر الأوامر في Firebase
    شغِّل الأمر التالي من أي دليل:

    firebase hosting:channel:delete CHANNEL_ID

أوامر واجهة سطر الأوامر لقنوات المعاينة والنسخ

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

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

الطلب الوصف
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".