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

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

نظرة عامة على البنية الأساسية لـ Hosting

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

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

صورة <span class=التسلسل الهرمي لاستضافة Firebase" />

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

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

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

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

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

وضع حدّ أقصى لعدد الإصدارات التي سيتم الاحتفاظ بها

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

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

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

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

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

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

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

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

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

ضبط تاريخ انتهاء صلاحية قناة إصدار تجريبي

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

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

يتيح Hosting طريقتَين مختلفتَين للتحكّم في انتهاء صلاحية القناة:

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

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

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

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

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

يمكنك استنساخ إصدار تم نشره من قناة إلى قناة أخرى. يمكنك استنساخ المحتوى على مستوى القنوات المباشرة أو قنوات المعاينة، أو على مستوى Hosting مواقع إلكترونية، أو حتى على مستوى مشاريع Firebase.

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

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

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

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

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

لاستنساخ إصدار، شغِّل الأمر التالي من أي دليل:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

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

  • SOURCE_SITE_ID وTARGET_SITE_ID: هما معرّفا المواقع الإلكترونية Hosting التي تتضمّن القنوات.

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

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

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

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

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

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

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

  2. انقر على ، ثم اختَر التراجع.

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

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

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

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

  1. في Firebase console، ضمن جدول سجلّ الإصدارات الخاص بموقعك الإلكتروني، مرِّر مؤشر الماوس فوق إدخال الإصدار السابق الذي تريد حذفه.

  2. انقر على ، ثم اختَر حذف.

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

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

حذف قناة إصدار تجريبي يدويًا

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

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

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

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

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

    firebase hosting:channel:delete CHANNEL_ID

أوامر واجهة سطر الأوامر لقنوات الإصدارات التجريبية والاستنساخ

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

تتيح جميع الأوامر الخاصة بقنوات المعاينة استخدام أهداف النشر إذا كان لديك مواقع إلكترونية Hosting متعددة.

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

تنشئ هذه السمة قناة معاينة جديدة في الموقع الإلكتروني الافتراضي Hosting باستخدام CHANNEL_ID المحدّد

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

firebase hosting:channel:delete CHANNEL_ID

يحذف قناة الإصدار التجريبي المحدّدة

لا يمكنك حذف قناة البث المباشر الخاصة بموقع إلكتروني.

firebase hosting:channel:deploy CHANNEL_ID

ينشر محتوى Hosting وإعداداته في قناة المعاينة المحدّدة

إذا لم تكن قناة المعاينة متوفّرة بعد، ينشئ هذا الأمر القناة في الموقع الإلكتروني التلقائي Hosting قبل نشرها في القناة.

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

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

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

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

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

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

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

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

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