اختبار تطبيق الويب على الجهاز ومشاركة التغييرات مع الآخرين ونشر التطبيق مباشرة

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

قبل البدء

أكمل الخطوات المدرجة في صفحة بدء الاستخدام الخاصة بـ Hosting، وتحديدًا المهام التالية:

  1. ثبِّت Firebase CLI أو عدِّله إلى أحدث إصدار.
  2. اربط دليل المشروع على الجهاز (الذي يحتوي على محتوى تطبيقك) بمشروعك على Firebase.

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

الخطوة 1: الاختبار على الجهاز

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

Hosting هي جزء من Firebase Local Emulator Suite التي تتيح لتطبيقك التفاعل مع محتوى Hosting الذي تمت محاكاته والتهيئة، بالإضافة إلى موارد المشروع التي تمت محاكاتها (الدوال وقواعد البيانات والقواعد).

  1. (اختياري) سيتفاعل تطبيقك المستضاف على الجهاز تلقائيًا مع موارد المشروع الحقيقية، وليس المحاكاة (الدوالّ وقاعدة البيانات والقواعد وما إلى ذلك). يمكنك بدلاً من ذلك ربط تطبيقك لاستخدام أي مشروع محاكي. والموارد التي قمت بتهيئتها. اطّلِع على المزيد من المعلومات من خلال: Realtime Database | Cloud Firestore | Cloud Functions

  2. من جذر دليل المشروع على الجهاز، نفِّذ الأمر التالي:

    firebase emulators:start
  3. افتح تطبيق الويب على عنوان URL المحلي الذي يعرضه واجهة سطر الأوامر (CLI عادةً). http://localhost:5000).

  4. لتعديل عنوان URL المحلّي بالتغييرات، أعِد تحميل المتصفّح.

الاختبار من أجهزة محلية أخرى

بشكلٍ تلقائي، لا يستجيب المحاكيات إلا للطلبات الواردة من localhost. هذا النمط يعني أنك ستتمكن من الوصول إلى المحتوى المستضاف من شبكة ويب الكمبيوتر المتصفح ولكن ليس من الأجهزة الأخرى على شبكتك. إذا كنت ترغب في الاختبار من الأجهزة المحلية الأخرى، يمكنك ضبط firebase.json على النحو التالي:

"emulators": {
    // ...

    "hosting": {
      "port": 5000,
      "host": "0.0.0.0"
    }
  }

الخطوة 2: المعاينة والمشاركة

إذا أردت أن يطّلع مستخدمون آخرون على التغييرات التي أجريتها على تطبيق الويب قبل نشرها، يمكنك إجراء ذلك. استخدام قنوات المعاينة.

بعد النشر إلى قناة معاينة، يعرض Firebase تطبيق الويب على "عنوان URL للمعاينة"، وهو عنوان URL مؤقت قابل للمشاركة. عند استخدام عنوان URL لمعاينة التطبيق، يتفاعل تطبيق الويب مع الخلفية الحقيقية لجميع موارد المشروع (باستثناء أي وظائف "مُثبَّتة" في إعدادات إعادة الكتابة ).

يُرجى العِلم أنّه على الرغم من أنّه من الصعب تخمين عناوين URL الخاصة بالإصدارات التجريبية (لأنّها تحتوي على رمز درهم ناتج عن عملية برمجية عشوائية)، إلا أنّها متاحة للجميع. وبالتالي، يمكن لأي شخص يعرف عنوان URL الوصول إليه.

  1. من جذر دليل المشروع المحلي، شغِّل الأمر التالي:

    firebase hosting:channel:deploy CHANNEL_ID

    استبدال CHANNEL_ID بسلسلة بدون مسافات (على سبيل المثال، feature_mission-2-mars). سيتم استخدام هذا المعرّف لإنشاء عنوان URL للمعاينة المرتبط بقناة المعاينة.

  2. افتح تطبيق الويب على عنوان URL الخاص بالمعاينة الذي يعرضه سطر الأوامر. ستبدو شيء مثل هذا: PROJECT_ID--CHANNEL_ID-RANDOM_HASH.web.app

  3. لتعديل عنوان URL للمعاينة بالتغييرات، شغِّل الأمر نفسه مرة أخرى. الماركة تأكَّد من تحديد قيمة CHANNEL_ID نفسها في الأمر.

تعرّف على إدارة قنوات المعاينة، بما في ذلك كيفية تحديد تاريخ انتهاء صلاحية للقناة

يدعم Firebase Hosting تنفيذ GitHub Action الذي ينشئ تلقائيًا تعدّل عنوان URL للمعاينة عند تطبيق تغييرات على طلب سحب. تعرَّف على كيفية إعداد إجراء GitHub هذا واستخدامه.

الخطوة 3: نشر محتوى مباشر

عندما تكون مستعدًا لمشاركة التغييرات مع الجميع، انشر Hosting المحتوى والإعدادات على قناتك المباشرة. يقدم Firebase ميزتين مختلفتين خيارات لهذه الخطوة بناءً على حالة استخدامك (راجِع الخيارات أدناه).

الخيار 1: إنشاء نسخة طبق الأصل من قناة المعاينة إلى القناة المباشرة

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

  1. من أي دليل، شغِّل الأمر التالي:

    firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live

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

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

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

      • إذا كنت تريد إنشاء قناة بث مباشر، استخدِم live كمعرّف قناة.
  2. الاطّلاع على التغييرات (الخطوة التالية)

الخيار 2: النشر من دليل المشروع المحلي على قناتك المباشرة

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

  1. من جذر دليل المشروع المحلي، شغِّل الأمر التالي:

    firebase deploy --only hosting
  2. الاطّلاع على التغييرات (الخطوة التالية)

الخطوة 4: الاطّلاع على التغييرات على موقعك الإلكتروني المباشر

يؤدي الخياران أعلاه إلى تفعيل محتوى Hosting وإعداداته في المواقع التالية:

  • النطاقات الفرعية التي يوفرها Firebase لموقع Hosting الإلكتروني التلقائي وأي Hosting مواقع إلكترونية إضافية:
    SITE_ID.web.app (مثل PROJECT_ID.web.app)
    SITE_ID.firebaseapp.com (مثل PROJECT_ID.firebaseapp.com)

  • أي نطاقات مخصصة تم ربطها بها مواقعك الإلكترونية التي يبلغ عددها Hosting

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

أنشطة ومعلومات النشر الأخرى

إضافة تعليق لعملية النشر

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

firebase deploy --only hosting -m "Deploying the best new feature ever."

إضافة مهام النشر المُسبق ومهام النشر المستندة إلى النص

يمكنك اختياريًا ربط النصوص البرمجية من واجهة الأوامر بالأمر firebase deploy من أجل لأداء مهام النشر المسبق أو ما بعد النشر. على سبيل المثال، يمكن أن يُرسِل إجراء ما بعد النشر إشعارًا إلى المشرفين بشأن عمليات نشر محتوى الموقع الإلكتروني الجديد. ارجع إلى مستندات واجهة سطر الأوامر Firebase لمزيد من التفاصيل.

التخزين المؤقت للمحتوى المنشور

عند تقديم طلب بشأن محتوى ثابت، يتم Firebase Hosting تلقائيًا. ويخزن المحتوى مؤقتًا على شبكة توصيل المحتوى (CDN). في حال إعادة نشر محتوى موقعك الإلكتروني، يمكن لمنصة Firebase يمحو تلقائيًا كل المحتوى الثابت المخزن مؤقتًا عبر شبكة توصيل المحتوى (CDN)، المحتوى الجديد الخاص بك.

لاحظ أنه يمكنك تهيئة التخزين المؤقت للمحتوى الديناميكي

العرض عبر HTTPS

يُرجى التأكّد من أنّ جميع الموارد الخارجية غير المستضافة على يتم تحميل Firebase Hosting عبر طبقة المقابس الآمنة (HTTPS)، بما في ذلك أي نصوص برمجية خارجية. لا تسمح معظم المتصفحات للمستخدمين بتحميل "المحتوى المختلط" (طبقة المقابس الآمنة وغير التابعة لطبقة المقابس الآمنة حركة المرور).

حذف الملفات

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

الخطوات التالية