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

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

قبل البدء

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

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

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

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

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

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

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

  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 الذي يقوم تلقائيًا بإنشاء تعدّل عنوان URL للمعاينة عند تطبيق تغييرات على طلب سحب. تعرَّف على كيفية إعداد إجراء GitHub هذا واستخدامه.

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

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

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

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

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

    firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live

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

    • SOURCE_SITE_ID وTARGET_SITE_ID: هذان هما رقما التعريف الخاصة بمواقع الاستضافة التي تحتوي على القنوات.

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

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

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

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

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

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

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

يؤدي كلا الخيارين أعلاه إلى نشر محتوى الاستضافة والتهيئة على المواقع التالية:

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

  • أي نطاقات مخصصة تم ربطها بها مواقعك الإلكترونية المستضيفة

لقصر النشر على موقع استضافة معيَّن، تحديد هدف النشر في أمر CLI.

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

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

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

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

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

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

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

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

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

العرض عبر HTTPS

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

حذف الملفات

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

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