يعالج App Hosting سلسلة معقدة من المهام التي تعمل في الخلفية لتبسيط نشر تطبيقك. توضّح هذه الصفحة الأجزاء الرئيسية من تسلسل المهام، وتوفّر معلومات عن النقاط التي قد تحتاج فيها إلى تخصيص التسلسل حسب احتياجات تطبيقك.
المصطلحات والتعريفات الرئيسية
لفهم تفاصيل عملية App Hosting، من المفيد تحديد بعض المصطلحات بدقة شديدة. في ما يلي المصطلحات الأساسية:
- النظام الأساسي: مجموعة الموارد المُدارة التي تنشئها App Hosting لإنشاء تطبيق الويب وتشغيله.
- الإصدار: نسخة محدّدة من تطبيقك، تكون مرتبطة عادةً بإجراء تسجيل في git. تتضمّن عملية إنشاء إصدار العديد من العمليات الفرعية، وأهمها إنشاء تطبيقك في Cloud Build، ونشر نسخة جديدة (يتم عرض 0% من عدد الزيارات في البداية إلى أن تتم طرح النسخة الجديدة) في Cloud Run.
- الطرح: عملية ضبط إصدار لعرض الإعلانات بشكل نشط. عند بدء عملية الطرح تلقائيًا من خلال عملية إرسال في git، App Hosting أولاً تنشئ إصدارًا باستخدام فرعك المنشور، ثم تنشئ عملية طرح لتوجيه الزيارات المباشرة إليه.
- الفرع المنشور: هو فرع مستودع GitHub الذي يتم نشره على عنوان URL المنشور. وغالبًا ما يكون هذا هو الفرع الذي يتم دمج فروع الميزات أو فروع التطوير فيه.
بنية Google Cloud وApp Hosting
ينظّم App Hosting مجموعة من منتجات Google Cloud حتى تتمكّن من نشر تطبيق الويب وعرضه ومراقبته. يتم إنشاء التطبيقات باستخدام Cloud Build، ويتم عرضها على Cloud Run وتخزينها مؤقتًا في Cloud CDN. تحافظ الخدمات المدمجة، مثل Cloud Secret Manager، على أمان مفاتيح واجهة برمجة التطبيقات.

- عند دفع رمز إلى فرعك المنشور، تُرسِل أداة Google Cloud Developer Connect حدثًا إلى Firebase App Hosting.
- استجابةً لهذا الحدث، ينشئ Firebase App Hosting إصدارًا جديدًا ل
الخلفية المرتبطة بالمستودع.
- أولاً، تنشئ Firebase App Hosting إصدارًا جديدًا من Cloud Build لتحميله. في هذه المهمة، تُحدِّد حِزم إنشاء Google Cloud الإطار الذي يتم استخدامه في تطبيقك لإنشاء حاوية وإعدادات (بما في ذلك متغيّرات البيئة والأسرار والحد الأدنى أو الحد الأقصى للأجهزة الافتراضية وإعدادات ذاكرة المعالجة المتزامنة ووحدة المعالجة المركزية وشبكة VPC) التي تناسب تطبيقك. اطّلِع على عملية إنشاء App Hosting للحصول على مزيد من المعلومات.
- عند اكتمال مهمة Cloud Build، يتم تخزين الحاوية في مستودع Artifact Registry مخصّص لخدمة Firebase App Hosting. بعد ذلك، تضيف Firebase App Hosting Cloud Runمراجعة جديدة إلى Cloud Run خدمة باستخدام صورتك وإعداداتك.
- بعد اكتمال "Cloud Run المراجعة" والتأكّد من صحتها، تعديل "Firebase App Hosting" إعدادات الزيارات لتوجيه كل الطلبات الجديدة إلى "Cloud Run المراجعة" الجديدة. في هذه المرحلة، اكتمل الطرح.
- عند إرسال طلب إلى موقع إلكتروني مستضاف على Firebase App Hosting، يتم عرض الطلب من خلال "جهاز موازنة الحمولة في Google Cloud" مع تفعيل Cloud CDN. يتم إرسال الطلبات غير المخزّنة مؤقتًا إلى خدمة Cloud Run. اطّلِع على مقالة تخزين محتوى التطبيق مؤقتًا للحصول على إرشادات حول كيفية تحسين الأداء باستخدام Cloud CDN.
دمج إطار العمل
يوفّر App Hosting إمكانية إنشاء تطبيقات الويب ونشرها مسبقًا التي تم تطويرها باستخدام الأطر التالية:
- الإصدار 13.5.x من Next.js والإصدارات الأحدث
- Angular 18.2.x والإصدارات الأحدث
اطّلِع على جداول الدعم للحصول على تفاصيل حول إصدارات ومستويات دعم معيّنة.
بالإضافة إلى Next.js وAngular، يتوافق App Hosting أيضًا مع أي إطار عمل ويب يمكنه توفير ناتج إنشاء يتطابق مع مواصفات ملف الحِزمة المُنشَأة. اطّلِع على الإطارات الأساسية والأدوات المخصّصة لتطبيق App Hosting للحصول على مزيد من المعلومات حول الإطارات الأساسية ومحوِّلات الإطارات الأساسية والأدوات ذات الصلة المتوافقة مع App Hosting.
آلية عمل دمج مستودع App Hosting
تُجري أداة Developer Connect عملية الربط المهمة بين مستودع GitHub وApp Hosting الخلفية، وهي منصّة الربط في Google Cloud لأدوات DevOps الخارجية. أثناء إنشاء App Hosting خلفية، ترشدك سير عمل واجهة مستخدم Developer Connect خلال عملية تثبيت تطبيق Firebase على GitHub. في ما يلي الخطوات الرئيسية في هذه العملية:
- يمكنك منح Developer Connect دور مشرف أداة إدارة الأسرار. ويسمح ذلك للنظام بتخزين بيانات الاعتماد بأمان كـ "أسرار" في Cloud Secret Manager.
- عليك منح تطبيق Firebase GitHub الإذن للقيام بما يلي: الوصول إلى مستودع GitHub. قد تحتاج إلى أذونات إضافية على GitHub للوصول إلى المستودع الصحيح.
- تخزِّن أداة Developer Connect رمز مميّزًا لمنح الأذونات على GitHub في مستودع أداة إدارة الأسرار في مشروعك، ولا تعدِّل هذا الرمز المميّز أو تحذفه.
بالإضافة إلى ذلك، يتم دمج App Hosting مع واجهة برمجة التطبيقات GitHub checks API لتقديم فحص للعمليات الطرح. يتيح لك هذا الفحص الاطّلاع على حالة الطرح في GitHub وتحديد الأخطاء في عملية النشر وإصلاحها في حال حدوث أي أخطاء.
الدمج مع Firebase وخدمات Google الأخرى
App Hosting يُعدّ كلّ من بيئتَي الإنشاء والتشغيل لكي تتمكّن من تهيئة حزمة تطوير البرامج (SDK) الخاصة بمسؤول Firebase باستخدام بيانات الاعتماد التلقائية لتطبيقات Google. بهذه الطريقة، يمكن للجزء الخلفي من تطبيقك التواصل مع منتجات Firebase الأخرى في وقتَي التصميم والتنفيذ. اطّلِع على مقالة دمج حِزم تطوير البرامج (SDK) لمنصّة Firebase في تطبيقك على الويب للحصول على مزيد من المعلومات عن بدء تطبيقك والمواضيع الأخرى المتعلّقة بحِزم تطوير البرامج (SDK) لمنصّة Firebase.
App Hosting موقع جغرافي
App Hosting تنشئ موارد الخلفية في موقع جغرافي محدّد يُعرف باسم المنطقة الأساسية. على الرغم من أنّ App Hosting تندمج مع شبكة توصيل المحتوى (CDN) العالمية لتسليم المحتوى بشكلٍ سريع، يتم عرض المحتوى غير المخزّن مؤقتًا من المنطقة الأساسية لتطبيقك. توفّر هذه المرونة في الموقع الجغرافي لتطبيق الويب مزايا رئيسية:
- تحسين الأداء وتقليل وقت الاستجابة من خلال تقريب البيانات جغرافيًا إلى المستخدمين
- لن يؤثّر تعطُّل App Hosting بشكلٍ كبير في منطقة معيّنة على تطبيقات الويب التي تم نشرها في مناطق أخرى.
يمكنك اختيار أيّ من هذه المناطق عند إنشاء App Hosting خلفية من وحدة التحكّم أو Firebase واجهة سطر الأوامر:
us-central1
(أيوا)asia-east1
(تايوان)europe-west4
(هولندا)
حساب خدمة الخلفية App Hosting
أثناء عملية الإنشاء وفي وقت التشغيل، تتم مصادقة الخلفية في App Hosting مع خدمات Google الأخرى باستخدام حساب خدمة. يتم إنشاء حساب خدمة تلقائي للقيام بهذه المهام في المرة الأولى التي تفعّل فيها App Hosting في أحد مشاريع Firebase:
firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com
ينطبق حساب الخدمة هذا على جميع الخلفيات تلقائيًا ويحتوي على الحد الأدنى من الأذونات للسماح لك بإنشاء تطبيقك وتشغيله ومراقبته. ويحتوي أيضًا على إذن للقيام بعمليات مثل تحميل البيانات من Cloud Firestore، وذلك من خلال مصادقة حزمة تطوير البرامج (SDK) للمشرف باستخدام بيانات الاعتماد التلقائية للتطبيق. اطّلِع على أدوار App Hosting Firebase.
إذا كان تطبيقك بحاجة إلى التفاعل مع خدمات إضافية من Google إما في وقت الإنشاء
أو من الخلفية، يمكنك تخصيص حساب الخدمة التلقائي من خلال
إضافة الأدوار. على سبيل المثال، إذا كان تطبيقك يتطلّب أذونات لخدمة Vertex AI،
قد تحتاج إلى إضافة
roles/aiplatform.user
أو دور ذي صلة.