Firebase App Hosting تستخدِم Cloud Build لتحويل رمز مصدر تطبيقك إلى تنسيق حاوية مناسب للنشر على Cloud Run.
تتم عملية الإنشاء من خلال المراحل الرئيسية التالية:
ubuntu: تهيئة مساحة العمل
preparer: جمع رمز مصدر تطبيقك وإعداداته
pre-buildpack: إعداد بيئة حزمة الإنشاء
build: تثبيت التبعيات وإنشاء تطبيقك
publisher: وضع اللمسات الأخيرة على حاوية الإنتاج Cloud Run
تتطابق هذه الخطوات الخمس مباشرةً مع خطوات الإنشاء كما تظهر في Cloud Build في الـ Google Cloud console:

تهيئة مساحة العمل
تتطابق هذه المرحلة مع خطوة الإنشاء ubuntu. وتعمل على تهيئة مساحة عمل الإنشاء، ما يضمن ضبط أذونات الملفات الصحيحة للأدلة التي تستخدِمها خطوات الإنشاء اللاحقة.
المُعدّ
هذه المرحلة مسؤولة عن معالجة منطق ما قبل الإنشاء. وتقرأ هذه المرحلة متغيّرات البيئة التي يحدّدها المستخدم وتزيل منها الأحرف غير الصالحة وتكتبها. كما أنّها تزيل الإشارات إلى أي أسرار محدّدة في ملف apphosting.yaml وتثبّتها.
حزمة الإنشاء المسبقة
تُعدّ هذه الخطوة البيئة لدورة حياة حزم الإنشاء السحابية الأصلية. ويشمل ذلك تشغيل برنامج shim يترجِم الإعدادات ومتغيّرات البيئة التي تم إعدادها في المرحلة السابقة إلى التنسيق الذي تتوقّعه أدوات حزم الإنشاء السحابية الأصلية.
الإنشاء
هذه هي المرحلة الأساسية في عملية التصميم، وهي مسؤولة عن إنشاء صورة حاوية قابلة للتشغيل وملف bundle.yaml يحدّد إعدادات التصميم.
وتستخدِم هذه المرحلة حزم الإنشاء السحابية الأصلية
والملف الثنائي لمنشئ دورة الحياة
لتعبئة التطبيق
بكفاءة. يمكنك الاطّلاع على مزيد من المعلومات عن ملف bundle.yaml على
على GitHub.
حزم الإنشاء مسؤولة عن تحويل رمز مصدر تطبيقك إلى صور حاويات جاهزة للإنتاج. Firebase App Hosting تجمع خدمة Firebase App Hosting عدة حزم إنشاء لإكمال عملية الإنشاء:
- حزمة إنشاء وقت التشغيل: تضمن هذه الحزمة تضمين جميع المكوّنات الضرورية لتشغيل تطبيق Node.js أساسي وتثبيت التبعيات.
- حزمة إنشاء المستودع الأحادي: تضبط هذه الحزمة حزم الإنشاء اللاحقة للتعامل مع سيناريوهات المستودع الأحادي المختلفة.
حزمة إنشاء إطار العمل: تثبِّت هذه الحزمة محوّل إطار العمل الصحيح (مثل Angular أو Next.js) وتُعدّ حزم الإنشاء اللاحقة.
محوّلات إطار العمل مسؤولة عن تشغيل أمر الإنشاء المُعدّ للإنتاج وربط أي قيم إعدادات ذات صلة خاصة بإطار العمل بتنسيق موحّد يمكن لخدمة App Hosting قراءته.
حزمة إنشاء مدير الحزم: تنفِّذ هذه الحزمة عملية تثبيت التبعيات و تنشئ التطبيق باستخدام npm أو yarn أو pnpm.
حزمة إنشاء حزمة الإخراج: تحدّد هذه الحزمة أمر التشغيل وتُعدّ حزمة الإخراج للتنفيذ.
الناشر
في هذه المرحلة النهائية، يتم تجميع كل المعلومات المستخرَجة من رمز مصدر التطبيق بالإضافة إلى صورة حاوية الإنشاء وإرسالها إلى الواجهة الخلفيةApp Hosting. بعد ذلك، تستخدِم واجهة App Hosting الخلفية هذه المعلومات لإعداد Cloud Run بالإعدادات المناسبة.
سياسة تنظيف الإنشاء
Firebase App Hosting تفرض سياسة مبرمَجة للاحتفاظ بالإنشاءات وتنظيفها. بموجب هذه السياسة، تحتفظ خدمة App Hosting بعمليات الإنشاء الناجحة والمراجعات المرتبطة بها في Cloud Run خلال آخر 14 يومًا. بالإضافة إلى ذلك، لضمان توفّر إنشاء يمكنك الرجوع إليه دائمًا، App Hosting تحتفظ بآخر 5 عمليات نشر وعمليات رجوع ناجحة بغض النظر عن تاريخها.
لن تحذف App Hosting أو تزيل أي إنشاء مضمّن حاليًا في تقسيم حركة المرور النشط أو مرتبط بعملية نشر قيد التقدّم.
عندما تتجاوز عمليات الإنشاء الأقدم حدود الاحتفاظ هذه، يتم تعديل حالتها الداخلية إلى EXPIRED. لا يمكنك إجراء عملية رجوع فوري إلى إنشاء EXPIRED
، وستتم إزالة خيار الرجوع إلى عمليات الإنشاء هذه من
Firebase Console. بدلاً من ذلك، عليك إنشاء عملية إنشاء جديدة تستهدف المصدر نفسه (إما عملية تثبيت في Git أو حاوية في Artifact Registry أو حزمة في Google Cloud Storage ونشرها.
إحدى طرق الحفاظ على موارد الإنشاء هي التحكّم في عدد مرّات تشغيل عمليات النشر التلقائية. راجِع مقالة إدارة عمليات النشر التلقائية.
مزيد من المعلومات
إنّ عملية إنشاء App Hosting بأكملها مفتوحة المصدر.
- رمز حزمة الإنشاء موجود في مستودع حزم الإنشاء في Google Cloud.
- رمز محوّلات إطار العمل موجود في مستودع firebase-framework-tools.
- مزيد من المعلومات عن حزم الإنشاء السحابية الأصلية وCloud Build