Firebase App Hosting Cloud Build برای تبدیل کد منبع برنامه شما به فرمت کانتینر شده مناسب برای استقرار در Cloud Run استفاده میکند.
فرآیند ساخت از طریق مراحل کلیدی زیر انجام میشود:
اوبونتو : مقداردهی اولیه فضای کاری.
Preparer : کد منبع و پیکربندی برنامه شما را جمعآوری میکند.
pre-buildpack : محیط buildpack را آماده میکند.
build : وابستگیها را نصب میکند و برنامه شما را میسازد.
publisher : کانتینر Cloud Run مربوط به تولید را نهایی میکند.
این پنج مرحله مستقیماً با مراحل ساخت مطابق آنچه در Cloud Build در کنسول Google Cloud نمایش داده شده است، مطابقت دارند:

مقداردهی اولیه فضای کاری
این مرحله مربوط به مرحله ساخت اوبونتو است. این مرحله فضای کاری ساخت را مقداردهی اولیه میکند و اطمینان حاصل میکند که مجوزهای فایل صحیح برای دایرکتوریهای مورد استفاده در مراحل ساخت بعدی تنظیم شدهاند.
آماده کننده
این مرحله مسئول مدیریت منطق پیشساخت است. متغیرهای محیطی تعریفشده توسط کاربر را میخواند، بررسی و مینویسد. همچنین هرگونه رمز مشخصشده در فایل apphosting.yaml را از ارجاع خارج کرده و پین میکند.
بستهی پیشساخت
این مرحله محیط را برای چرخه حیات Cloud Native Buildpacks آماده میکند. این شامل اجرای یک shim است که پیکربندیها و متغیرهای محیطی تهیه شده در مرحله قبل را به فرمت مورد انتظار ابزارهای CNB ترجمه میکند.
ساختن
این هسته فرآیند ساخت است که مسئول تولید یک تصویر کانتینر قابل اجرا و یک فایل bundle.yaml است که پیکربندی ساخت شما را تعریف میکند. این فایل از 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 بیشتر بدانید