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

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 وتثبّتها.

حزمة الإنشاء المسبقة

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

الإنشاء

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

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

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

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

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

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

الناشر

في هذه المرحلة النهائية، يتم تجميع كل المعلومات المستخرَجة من رمز مصدر التطبيق بالإضافة إلى صورة حاوية الإنشاء وإرسالها إلى الواجهة الخلفية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 Artifact Registry أو Google Cloud Storage حزمة في Google Cloud Storage) ونشر هذا الإنشاء.

إحدى طرق الحفاظ على موارد الإنشاء هي التحكّم في عدد مرّات تشغيل عمليات النشر التلقائية. راجِع مقالة إدارة عمليات النشر التلقائية.

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

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