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

Firebase Hosting توفّر أدوات من خلال كلّ من Firebase Console و Firebase CLI لإدارة القنوات والإصدارات والنسخ لموقعك الإلكتروني على Hosting.

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

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

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

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

لكلّ موقع إلكتروني Hosting قناة "مباشرة" تعرض المحتوى وإعدادات Hosting على (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 Console، انتقِل إلى Hosting وServerless > Hosting للوصول إلى مربّع حوار إعدادات مساحة تخزين الإصدارات:

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

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

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

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

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

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

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

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

  • Firebase CLI
    عند النشر على قناة المعاينة، مرِّر العلامة --expires DURATION، مثلاً:

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

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

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

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

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

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

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

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

  • الاستنساخ من قناة في مشروع 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 Console، انتقِل إلى Hosting وServerless > Hosting.

  2. في جدول سجلّ الإصدارات لموقعك الإلكتروني، مرِّر مؤشر الماوس فوق إدخال الإصدار السابق الذي تريد العودة إليه.

  3. انقر على ، ثمّ اختَر العودة إلى إصدار سابق.

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

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

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

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

  1. في Firebase Console، انتقِل إلى Hosting وServerless > Hosting.

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

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

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

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

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

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

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

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

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

  • Firebase CLI
    نفِّذ الأمر التالي من أيّ دليل:

    firebase hosting:channel:delete CHANNEL_ID

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

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

تتوافق جميع أوامر قنوات المعاينة مع أهداف النشر إذا كان لديك مواقع إلكترونية 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 Console.