راه های جایگزین برای استقرار در میزبانی برنامه

اغلب اوقات، ما استفاده از راه‌اندازی‌های خودکار یا راه‌اندازی‌های دستی از کنسول Firebase را توصیه می‌کنیم. با این حال، ممکن است شما از یک جریان استقرار سفارشی‌تر استفاده کنید. App Hosting گزینه‌های متعددی برای استقرار سفارشی دارد.

استقرار از منبع با Firebase CLI

رابط خط فرمان فایربیس ( Firebase CLI) به شما امکان می‌دهد کد منبع و پیکربندی برنامه خود را مستقیماً از دستگاه محلی خود به فایربیس منتقل کنید. این قابلیت در صورتی که پیاده‌سازی‌های دیگری از فایربیس (مانند قوانین یا توابع امنیتی) دارید و می‌خواهید برنامه وب و سرویس‌های backend خود را با یک دستور CLI واحد پیاده‌سازی کنید، مفید است.

در هنگام استقرار، App Hosting کد منبع شما را در یک مخزن ذخیره‌سازی ابری گوگل آپلود می‌کند، دستور ساخت چارچوب شما را در Cloud Build اجرا می‌کند و مصنوعات نهایی را در Cloud Run و Cloud CDN مستقر می‌کند. App Hosting از همان فرآیند ساخت برای استقرارهای منبع محلی مانند استقرارهای GitHub استفاده می‌کند. اگر فایل .gitignore در پروژه خود دارید، فایل‌ها و پوشه‌هایی که در آن فهرست شده‌اند از استقرار شما مستثنی می‌شوند.

برای استقرار برنامه خود از منبع محلی:

  1. firebase init apphosting در دایرکتوری پروژه محلی خود اجرا کنید.
  2. در پنجره‌ی باز شده، گزینه‌ی «استفاده از یک پروژه‌ی موجود» (Use an existing project ) را انتخاب کنید و سپس پروژه‌ی فایربیس (Firebase) انتخاب شده را انتخاب کنید.
  3. یک بک‌اند جدید یا موجود را برای استقرار انتخاب کنید؛ این مرحله، استقرارهای App Hosting را برای دایرکتوری محلی شما تنظیم می‌کند و از شما اطلاعاتی را که App Hosting برای استقرار موفقیت‌آمیز برنامه شما نیاز دارد، درخواست می‌کند:

    1. شناسه‌ی بک‌اندی که قرار است در آن مستقر شود
    2. منطقه‌ای که قرار است در آن مستقر شوید (در صورت ایجاد یک backend جدید)
    3. مسیر دایرکتوری ریشه کد برنامه

    App Hosting تنظیمات استقرار شما را در firebase.json ذخیره می‌کند (اگر فایلی وجود نداشته باشد، آن را در پروژه محلی شما ایجاد می‌کند). پس از اتمام موفقیت‌آمیز مقداردهی اولیه، می‌توانید firebase deploy برای استقرار کد منبع خود در App Hosting اجرا کنید.

اگر استقرارهای منبع محلی را برای چندین backend تنظیم کرده‌اید (به این معنی که چندین ورودی backendId در firebase.json وجود دارد)، firebase deploy به هر یک از آن backendها مستقر می‌شود. برای استقرار به یک backend خاص، firebase deploy --only apphosting:backendId استفاده کنید.

مثال firebase.json

{
  "apphosting": [
    {
      "backendId": "my-backend",
      // rootDir specifies the directory containing the app to deploy, but the entire
      // parent directory of firebase.json will be zipped and uploaded to ensure that
      // dependencies outside of the app directory will be available at build time.
      "rootDir": "./my-app",
      "ignore": [
        "node_modules",
        ".git",
        "firebase-debug.log",
        "firebase-debug.*.log",
        "functions",
      ],
    },
  ]
}

استقرار با استفاده از Terraform

اگر به کنترل بیشتری بر فرآیند ساخت و محیط استقرار نیاز دارید، می‌توانید با استفاده از Terraform استقرار دهید. Terraform به شما امکان می‌دهد منابع App Hosting خود را با استفاده از فایل‌های پیکربندی اعلانی تعریف و مدیریت کنید و به جای تکیه بر App Hosting برای ساخت از کد منبع خود، امکان استقرار مستقیم تصویر کانتینر از پیش ساخته شده خود را در App Hosting فراهم می‌کند.

اگر در Terraform تازه‌کار هستید، به بخش شروع به کار با Terraform و Firebase مراجعه کنید. اگر از قبل با Terraform آشنا هستید، می‌توانید با فایل‌های پیکربندی نمونه و سایر منابع App Hosting شروع به کار کنید.

استقرار با استفاده از Firebase Studio

وقتی یک برنامه وب را با استفاده از App Prototyping agent در Firebase Studio ایجاد می‌کنید، می‌توانید مستقیماً از Firebase Studio آن را در Firebase App Hosting منتشر یا مستقر کنید. به بخش Publish your app with App Hosting مراجعه کنید.

ایجاد اتصال GitHub برای CI/CD

شما می‌توانید در هر زمانی در تب Deployment از تنظیمات backend در کنسول Firebase ، به یک مخزن GitHub متصل شوید. این به شما امکان می‌دهد نمونه اولیه برنامه را از یک محیط محلی مانند Firebase Studio یا یک IDE دیگر مستقر کنید و سپس وقتی آماده بودید، به یک خط لوله CI/CD خودکار منتقل شوید.