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

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

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

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

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

صورة <span class=التسلسل الهرمي لخدمة Firebase Hosting" />

لكلّ موقع إلكتروني 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، لأنّ المحتوى الخاص بالإصدارات السابقة يتم الاحتفاظ به في مساحة التخزين هذه. يمكنك الاطّلاع على مساحة تخزين 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 المستنسخة على عنوان 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 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.