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

تهيئة مساحة العمل
تتوافق هذه المرحلة مع خطوة تصميم ubuntu. وهي تهيّئ مساحة عمل التصميم، ما يضمن ضبط أذونات الملفات الصحيحة للأدلة التي تستخدمها خطوات التصميم اللاحقة.
الإعداد
هذه المرحلة مسؤولة عن معالجة منطق ما قبل التصميم. وهي تقرأ متغيّرات البيئة التي يحدّدها المستخدم وتنقّيها وتكتبها. كما أنّها تزيل الإشارات إلى أي أسرار محدّدة في ملف apphosting.yaml وتثبّتها.
ما قبل حزمة التصميم
تُعدّ هذه الخطوة البيئة لدورة حياة حزم التصميم الأصلية في السحابة الإلكترونية. ويشمل ذلك تشغيل برنامج وسيط يترجم الإعدادات ومتغيّرات البيئة التي تم إعدادها في المرحلة السابقة إلى التنسيق الذي تتوقّعه أدوات حزم التصميم الأصلية في السحابة الإلكترونية.
إصدار
هذه هي المرحلة الأساسية في عملية التصميم، وهي مسؤولة عن إنشاء صورة حاوية قابلة للتنفيذ وملف bundle.yaml يحدّد إعدادات التصميم.
تستخدم هذه المرحلة حزم التصميم الأصلية في السحابة الإلكترونية
والبرنامج الثنائي لمنشئ مراحل النشاط
لتعبئة
التطبيق بكفاءة. يمكنك الاطّلاع على مزيد من المعلومات عن ملف bundle.yaml على
على GitHub.
حزم التصميم مسؤولة عن تحويل رمز مصدر تطبيقك إلى صور حاويات جاهزة للإنتاج. Firebase App Hosting تجمع عدة حزم تصميم لإكمال عملية التصميم:
- حزمة تصميم وقت التشغيل: تضمن هذه الحزمة تضمين جميع المكوّنات الضرورية لتشغيل تطبيق Node.js أساسي وتثبيت التبعيات.
- حزمة تصميم المستودع الأحادي: تضبط هذه الحزمة حزم التصميم اللاحقة للتعامل مع سيناريوهات المستودع الأحادي المختلفة.
حزمة تصميم إطار العمل: تثبّت هذه الحزمة محوّل إطار العمل الصحيح (مثل Angular أو Next.js) وتُعدّ حزم التصميم اللاحقة.
محوّلات إطار العمل مسؤولة عن تشغيل أمر التصميم المُعدّ للإنتاج وربط أي قيم إعدادات ذات صلة خاصة بإطار العمل بتنسيق موحّد يمكن لخدمة App Hosting قراءته.
حزمة تصميم مدير الحزم: تنفّذ هذه الحزمة عملية تثبيت التبعيات و تنشئ التطبيق باستخدام npm أو yarn أو pnpm.
حزمة تصميم حزمة الإخراج: تحدّد هذه الحزمة أمر التشغيل وتُعدّ حزمة الإخراج للتنفيذ.
الناشر
في هذه المرحلة النهائية، يتم تجميع كل المعلومات المستخرَجة من الرمز المصدر للتطبيق بالإضافة إلى صورة حاوية الإصدار وإرسالها إلى النظام الخلفي لخدمة App Hosting. بعد ذلك، يستخدم النظام الخلفي لـ App Hosting هذه المعلومات لإعداد Cloud Run بالإعدادات المناسبة.
مزيد من المعلومات
إنّ عملية تصميم App Hosting بأكملها مفتوحة المصدر.
- رمز حزمة التصميم موجود في مستودع حزم التصميم في Google Cloud
- رمز محوّلات إطار العمل موجود في مستودع أدوات إطار عمل Firebase
- مزيد من المعلومات عن حزم التصميم الأصلية في السحابة الإلكترونية وCloud Build