اختبر تطبيق الويب الخاص بك محليًا، وشارك التغييرات مع الآخرين، ثم انشره مباشرةً

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

قبل ان تبدأ

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

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

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

الخطوة 1: الاختبار محليًا

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

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

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

  2. من جذر دليل المشروع المحلي الخاص بك، قم بتشغيل الأمر التالي:

    firebase emulators:start
  3. افتح تطبيق الويب الخاص بك على عنوان URL المحلي الذي يعرضه سطر الأوامر (عادةً 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 للمعاينة الذي تعرضه واجهة سطر الأوامر (CLI). سيبدو شيئا من هذا القبيل: PROJECT_ID -- CHANNEL_ID - RANDOM_HASH .web.app

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

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

تدعم استضافة Firebase إجراء 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."

إضافة المهام النصية للنشر المسبق والنشر اللاحق

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

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

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

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

العرض عبر HTTPS

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

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