Firebase App Hosting از Cloud Build برای تبدیل کد منبع برنامه شما به فرمت کانتینر شده مناسب برای استقرار در Cloud Run استفاده میکند.
فرآیند ساخت از طریق مراحل کلیدی زیر انجام میشود:
Ingest : کد منبع و پیکربندی برنامه شما را جمعآوری میکند.
Build : وابستگیها را نصب میکند و برنامه شما را میسازد.
Handoff : کانتینر Cloud Run تولیدی را نهایی میکند.
این سه مرحله مستقیماً با مراحل ساخت ۱، ۲ و ۳ مطابق با آنچه در Cloud Build در کنسول Google Cloud نمایش داده شده است، مطابقت دارند:

مرحله بلع
این مرحله مسئول مدیریت منطق پیشساخت است. متغیرهای محیطی تعریفشده توسط کاربر را میخواند، بررسی و مینویسد. همچنین هرگونه رمز مشخصشده در فایل apphosting.yaml را از ارجاع خارج کرده و پین میکند.
مرحله ساخت
این هسته فرآیند ساخت است که مسئول تولید یک تصویر کانتینر قابل اجرا و یک فایل bundle.yaml است که پیکربندی ساخت شما را تعریف میکند. این فایل از Cloud Native Buildpacks برای بستهبندی کارآمد برنامه استفاده میکند. اطلاعات بیشتر در مورد فایل bundle.yaml را میتوانید در github بیابید.
Buildpackها مسئول تبدیل کد منبع برنامه شما به تصاویر کانتینر آماده برای تولید هستند. Firebase App Hosting چندین buildpack را برای تکمیل فرآیند ساخت به هم متصل میکند:
- Runtime Buildpack : تضمین میکند که تمام اجزای لازم برای اجرای یک برنامه Node.js پایه گنجانده شده و وابستگیها نصب شدهاند.
- بستهی ساخت مونوریپو : بستههای ساخت بعدی را برای مدیریت سناریوهای مختلف مونوریپو پیکربندی میکند.
Framework Buildpack : آداپتور فریمورک صحیح (مانند Angular یا Next.js) را نصب میکند و buildpack های بعدی را آماده میکند.
آداپتورهای فریمورک مسئول اجرای دستور ساخت تولید شده و نگاشت هرگونه مقادیر پیکربندی مربوط به فریمورک به یک فرمت استاندارد قابل خواندن توسط App Hosting هستند.
Package Manager Buildpack : نصب وابستگیها را اجرا میکند و برنامه را با استفاده از npm، yarn یا pnpm میسازد.
بستهی خروجی Buildpack : دستور اجرا را تعریف میکند و بستهی خروجی را برای اجرا آماده میکند.
مرحله تحویل
این مرحله نهایی، تمام اطلاعات استخراجشده از کد منبع برنامه به همراه تصویر کانتینر ساخت را بستهبندی کرده و آن را به بخش App Hosting backend) ارسال میکند. سپس بخش App Hosting backend) از این اطلاعات برای راهاندازی Cloud Run با پیکربندیهای مناسب استفاده میکند.
بیشتر بدانید
کل فرآیند ساخت App Hosting متنباز است.
- کد buildpack در مخزن buildpacks گوگل کلود قرار دارد.
- کد مربوط به آداپتورهای فریمورک در مخزن firebase-framework-tools قرار دارد.
- درباره بستههای ساخت Cloud Native و Cloud Build بیشتر بدانید