عملية إنشاء "استضافة التطبيقات"

Firebase App Hosting تستخدِم Cloud Build لتحويل رمز مصدر تطبيقك إلى تنسيق في حاوية مناسب للنشر على Cloud Run.

تتم عملية التصميم من خلال المراحل الرئيسية التالية:

  1. ubuntu: تهيئة مساحة العمل

  2. preparer: جمع رمز مصدر تطبيقك وإعداده

  3. pre-buildpack: إعداد بيئة حزمة التصميم

  4. build: تثبيت التبعيات وتصميم تطبيقك

  5. publisher: وضع اللمسات الأخيرة على حاوية الإنتاج Cloud Run

تتطابق هذه الخطوات الخمس مباشرةً مع خطوات التصميم كما تظهر في Cloud Build في الـ Google Cloud console:

لقطة شاشة لعرض في Google Cloud Console لخطوات Cloud Build

تهيئة مساحة العمل

تتوافق هذه المرحلة مع خطوة تصميم ubuntu. وتعمل على تهيئة مساحة عمل التصميم، ما يضمن ضبط أذونات الملفات الصحيحة للأدلة التي تستخدِمها خطوات التصميم اللاحقة.

الإعداد

هذه المرحلة مسؤولة عن معالجة منطق ما قبل التصميم. وتقرأ هذه المرحلة متغيّرات البيئة التي يحدّدها المستخدم وتنقّيها وتكتبها. كما أنّها تزيل الإشارات المرجعية إلى أي أسرار محدّدة في ملف apphosting.yaml وتثبّتها.

ما قبل حزمة التصميم

تُعدّ هذه الخطوة البيئة لدورة حياة Cloud Native Buildpacks. ويشمل ذلك تشغيل برنامج shim يترجِم الإعدادات ومتغيّرات البيئة التي تم إعدادها في المرحلة السابقة إلى التنسيق الذي تتوقّعه أدوات CNB.

إصدار

هذه هي المرحلة الأساسية في عملية التصميم، وهي مسؤولة عن إنشاء صورة حاوية قابلة للتشغيل وملف bundle.yaml يحدّد إعدادات التصميم. وتستخدِم هذه المرحلة Cloud Native Buildpacks والملف الثنائي لمنشئ مراحل النشاط لتعبئة التطبيق بكفاءة. يمكنك الاطّلاع على مزيد من المعلومات عن ملف bundle.yaml على على GitHub.

حزم التصميم مسؤولة عن تحويل رمز مصدر تطبيقك إلى صور حاويات جاهزة للإنتاج. Firebase App Hosting تجمع عدة حزم تصميم لإكمال عملية التصميم:

  1. حزمة تصميم وقت التشغيل: تضمن هذه الحزمة تضمين جميع المكوّنات الضرورية لتشغيل تطبيق Node.js أساسي وتثبيت التبعيات.
  2. حزمة تصميم Monorepo: تضبط هذه الحزمة حزم التصميم اللاحقة للتعامل مع سيناريوهات monorepo المختلفة.
  3. حزمة تصميم إطار العمل: تثبِّت هذه الحزمة محوّل إطار العمل الصحيح (مثل Angular أو Next.js) وتُعدّ حزم التصميم اللاحقة.

    محوّلات إطار العمل مسؤولة عن تشغيل أمر التصميم الذي تم إعداده للإنتاج وربط أي قيم إعدادات ذات صلة خاصة بإطار العمل بتنسيق موحّد يمكن لخدمة App Hosting قراءته.

  4. حزمة تصميم مدير الحزم: تنفِّذ هذه الحزمة عملية تثبيت التبعيات و تصمِّم التطبيق باستخدام npm أو yarn أو pnpm.

  5. حزمة تصميم حزمة الإخراج: تحدّد هذه الحزمة أمر التشغيل وتُعدّ حزمة الإخراج للتنفيذ.

الناشر

في هذه المرحلة النهائية، يتم تجميع كل المعلومات المستخرَجة من الرمز المصدر للتطبيق بالإضافة إلى صورة حاوية الإصدار وإرسالها إلى النظام الخلفي لخدمة App Hosting. بعد ذلك، يستخدم النظام الخلفي لـ App Hosting هذه المعلومات لإعداد Cloud Run بالإعدادات المناسبة.

مزيد من المعلومات

إنّ عملية تصميم App Hosting بأكملها مفتوحة المصدر.