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

توفّر ميزة "استضافة 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 عنصر Release يشير إلى إصدار معيّن. يحتوي الإصدار على بيانات وصفية حول عملية النشر، مثل من قام بالنشر ومتى تم النشر.

من لوحة بيانات الاستضافة في مشروعك على 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.

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

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

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

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

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

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

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

عند حذف قناة معاينة، يتم تحديد موعد لحذف القناة وإصداراتها والإصدارات المرتبطة بها في غضون 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

ينسخ أحدث إصدار تم نشره على قناة "المصدر" المحددة إلى قناة "الهدف" المحددة.

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

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

ينسخ النسخة المحددة إلى قناة "الهدف" المحددة.

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

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