قبل النشر على موقعك الإلكتروني المباشر، عليك عرض التغييرات واختبارها. تتيح لك Firebase Hosting عرض التغييرات واختبارها محليًا والتفاعل مع موارد مشروع الواجهة الخلفية المحاكاة. إذا كنت بحاجة إلى أن يعرض أعضاء فريقك التغييرات ويختبروها، يمكن لخدمة Hosting إنشاء عناوين URL مؤقتة قابلة للمشاركة لمعاينة موقعك الإلكتروني.Hosting نوفّر أيضًا عملية تكامل مع GitHub للنشر من طلب سحب.
قبل البدء
أكمِل الخطوات المُدرَجة في صفحة البدء في Hosting، وتحديدًا المهام التالية:
- ثبِّت أحدث إصدار من Firebase CLI أو حدِّثه.
- اربط دليل المشروع على جهاز المستخدم (الذي يحتوي على محتوى تطبيقك) بمشروع Firebase.
يمكنك اختياريًا نشر محتوى Hosting وإعدادات الاستضافة لتطبيقك، ولكنّ ذلك ليس شرطًا أساسيًا للخطوات الواردة في هذه الصفحة.
الخطوة 1: الاختبار محليًا
إذا كنت تجري عمليات تكرار سريعة أو تريد أن يتفاعل تطبيقك مع موارد مشروع الواجهة الخلفية المحاكية ، يمكنك اختبار محتوى وإعدادات Hosting الاستضافة محليًا. عند الاختبار محليًا، تعرض Firebase تطبيق الويب الخاص بك على عنوان URL مستضاف محليًا.
Hosting جزء من Firebase Local Emulator Suite، ما يتيح لتطبيقك التفاعل مع محتوى Hosting و إعداداته المحاكية، بالإضافة إلى موارد المشروع المحاكية (الدوال، وقواعد البيانات، والقواعد) اختياريًا.
(اختياري) يتفاعل تطبيقك المستضاف محليًا تلقائيًا مع موارد المشروع الحقيقية، وليس المحاكاة (الدوال وقاعدة البيانات والقواعد وما إلى ذلك). يمكنك بدلاً من ذلك ربط تطبيقك اختياريًا لاستخدام أي موارد مشروع محاكية أعددتها. مزيد من المعلومات: Realtime Database | Cloud Firestore | Cloud Functions
من جذر دليل مشروع على جهاز المستخدم، نفِّذ الأمر التالي:
firebase emulators:start
افتح تطبيق الويب على عنوان URL المحلي الذي تعرضه واجهة سطر الأوامر (عادةً
http://localhost:5000).لتعديل عنوان URL المحلي بالتغييرات، أعِد تحميل المتصفّح.
الاختبار من أجهزة محلية أخرى
لا تستجيب المحاكيات تلقائيًا إلا للطلبات الواردة من localhost. ما يعني أنّه يمكنك الوصول إلى المحتوى المستضاف من متصفّح الويب على جهاز الكمبيوتر، ولكن ليس من الأجهزة الأخرى على شبكتك. إذا أردت إجراء الاختبار من أجهزة محلية أخرى، اضبط ملف firebase.json على النحو التالي:
"emulators": {
// ...
"hosting": {
"port": 5000,
"host": "0.0.0.0"
}
}
الخطوة 2: المعاينة والمشاركة
إذا كنت تريد أن يعرض الآخرون التغييرات التي أجريتها على تطبيق الويب قبل نشره، يمكنك استخدام قنوات المعاينة.
بعد النشر على قناة معاينة، تعرض Firebase تطبيق الويب الخاص بك على "عنوان URL للمعاينة"، وهو عنوان URL مؤقت قابل للمشاركة. عند استخدام عنوان URL للمعاينة، يتفاعل تطبيق الويب مع الواجهة الخلفية الحقيقية لجميع موارد المشروع (باستثناء أي دوال "مثبّتة" في إعدادات عمليات إعادة الكتابة الخاصة بك).
يُرجى العِلم أنّ عناوين URL للمعاينة يصعب تخمينها (لأنّها تحتوي على رمز تجزئة عشوائي)، ولكنّها علنية. لذلك، يمكن لأي مستخدم يعرف عنوان URL الوصول إليه.
من جذر دليل مشروع على جهاز المستخدم، نفِّذ الأمر التالي:
firebase hosting:channel:deploy CHANNEL_ID
استبدِل CHANNEL_ID بسلسلة بدون مسافات (مثل
feature_mission-2-mars). سيتم استخدام هذا المعرّف لإنشاء عنوان URL للمعاينة مرتبط بقناة المعاينة.افتح تطبيق الويب على عنوان URL للمعاينة الذي تعرضه واجهة سطر الأوامر. سيبدو عنوان URL على النحو التالي: شيء مثل هذا:
PROJECT_ID--CHANNEL_ID-RANDOM_HASH.web.appلتعديل عنوان URL للمعاينة بالتغييرات، نفِّذ الأمر نفسه مرة أخرى. احرص على تحديد
CHANNEL_IDنفسه في الأمر.
تعرَّف على إدارة قنوات المعاينة، بما في ذلك كيفية ضبط تاريخ انتهاء صلاحية القناة.
Firebase Hosting تتيح إجراء GitHub Action ينشئ عنوان URL للمعاينة ويعدِّله تلقائيًا عند إرسال التغييرات إلى طلب سحب. تعرَّف على كيفية إعداد GitHub Action هذا واستخدامه .
الخطوة 3: النشر بشكل مباشر
عندما تكون مستعدًا لمشاركة التغييرات مع العالم، انشر Hosting محتوى وإعدادات الاستضافة على قناتك المباشرة. تقدّم Firebase خيارَين مختلفَين لهذه الخطوة استنادًا إلى حالة الاستخدام (راجِع الخيارات أدناه).
الخيار 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: النشر من دليل مشروعك على جهاز المستخدم إلى قناتك المباشرة
يمنحك هذا الخيار المرونة اللازمة لتعديل الإعدادات الخاصة بالقناة المباشرة أو النشر حتى إذا لم تستخدِم قناة معاينة.
من جذر دليل مشروع على جهاز المستخدم، نفِّذ الأمر التالي:
firebase deploy --only hosting
عرض التغييرات (الخطوة التالية).
الخطوة 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 CLI لمزيد من التفاصيل.
تخزين المحتوى المنشور مؤقتًا
عند تقديم طلب محتوى ثابت، Firebase Hostingتخزّن المحتوى تلقائيًا في ذاكرة التخزين المؤقت على شبكة CDN. إذا أعدت نشر محتوى موقعك الإلكتروني، تمحو Firebase تلقائيًا جميع المحتوى الثابت المخزَّن مؤقتًا على شبكة CDN لكي تتلقّى الطلبات الجديدة المحتوى الجديد.
يُرجى العِلم أنّه يمكنك ضبط الـ تخزين المؤقت للمحتوى الديناميكي.
العرض عبر بروتوكول HTTPS
تأكَّد من تحميل جميع الموارد الخارجية غير المستضافة على Firebase Hosting عبر بروتوكول SSL (HTTPS)، بما في ذلك أي نصوص برمجية خارجية. لا تسمح معظم المتصفّحات للمستخدمين بتحميل "محتوى مختلط" (زيارات عبر بروتوكول SSL وزيارات لا تستخدم بروتوكول SSL).
حذف ملفات
في Firebase Hosting، الطريقة الأساسية لحذف ملفات معيّنة من موقع إلكتروني منشور هي حذف الملفات محليًا، ثم إعادة نشرها.
الخطوات التالية
يمكنك إجراء عملية تكامل مع GitHub وتكرار المحتوى الذي تمت معاينته من خلال إعداد GitHub Action.
تعرَّف على إمكانات الاستضافة الإضافية:
اطّلِع على المستندات الكاملة لـ Firebase CLI.
استعِدّ لإطلاق تطبيقك:
- يمكنك إعداد تنبيهات الميزانية لمشروعك في Google Cloud Console.
- يمكنك مراقبة لوحة بيانات الاستخدام والفوترة في وحدة تحكُّم Firebase للحصول على صورة عامة عن استخدام مشروعك لخدمات Firebase المتعدّدة. يمكنك أيضًا الانتقال إلى لوحة بيانات Hosting الاستخدام للحصول على معلومات أكثر تفصيلاً عن الاستخدام.
- راجِع قائمة التحقّق من إطلاق Firebase.