برنامه وب خود را به صورت محلی آزمایش کنید، تغییرات را با دیگران به اشتراک بگذارید، سپس به صورت زنده اجرا کنید

قبل از استقرار در سایت زنده خود، باید تغییرات خود را مشاهده و آزمایش کنید. Firebase Hosting به شما امکان می دهد تغییرات را به صورت محلی مشاهده و آزمایش کنید و با منابع پروژه باطن شبیه سازی شده تعامل داشته باشید. اگر به هم تیمی های خود نیاز دارید که تغییرات شما را مشاهده و آزمایش کنند، Hosting می تواند URL های پیش نمایش موقت و قابل اشتراک گذاری برای سایت شما ایجاد کند. ما حتی از یک ادغام GitHub برای استقرار از یک درخواست کششی پشتیبانی می کنیم.

قبل از شروع

مراحل فهرست شده در صفحه شروع Hosting ، به ویژه وظایف زیر را کامل کنید:

  1. Firebase CLI را به آخرین نسخه آن نصب یا به روز کنید.
  2. دایرکتوری پروژه محلی (حاوی محتوای برنامه شما) را به پروژه Firebase خود وصل کنید.

شما می توانید به صورت اختیاری محتوای Hosting و پیکربندی برنامه خود را مستقر کنید، اما این پیش نیاز برای مراحل این صفحه نیست.

مرحله 1: تست محلی

اگر تکرارهای سریع انجام می دهید یا می خواهید برنامه شما با منابع پروژه باطن شبیه سازی شده تعامل داشته باشد، می توانید محتوای Hosting و پیکربندی محلی خود را آزمایش کنید. هنگام آزمایش محلی، Firebase برنامه وب شما را در یک URL میزبانی محلی ارائه می‌کند.

Hosting بخشی از Firebase Local Emulator Suite است که به برنامه شما امکان می دهد با محتوای و پیکربندی Hosting شبیه سازی شده شما و همچنین به صورت اختیاری منابع پروژه شبیه سازی شده شما (توابع، پایگاه داده ها و قوانین) تعامل داشته باشد.

  1. (اختیاری) به طور پیش فرض، برنامه میزبانی شده محلی شما با منابع پروژه واقعی ، غیر شبیه سازی شده (توابع، پایگاه داده، قوانین و غیره) تعامل خواهد داشت. در عوض می‌توانید به‌صورت اختیاری برنامه‌تان را برای استفاده از منابع پروژه شبیه‌سازی‌شده‌ای که پیکربندی کرده‌اید، متصل کنید. بیشتر بدانید: Realtime Database | Cloud Firestore | Cloud Functions

  2. از ریشه دایرکتوری پروژه محلی خود، دستور زیر را اجرا کنید:

    firebase emulators:start
  3. برنامه وب خود را در URL محلی بازگردانده شده توسط CLI (معمولاً http://localhost:5000 ) باز کنید.

  4. برای به روز رسانی URL محلی با تغییرات، مرورگر خود را بازخوانی کنید.

تست از دستگاه های محلی دیگر

به طور پیش فرض، شبیه سازها فقط به درخواست های localhost پاسخ می دهند. این بدان معنی است که شما می توانید از مرورگر وب رایانه خود به محتوای میزبانی شده خود دسترسی داشته باشید اما از سایر دستگاه های موجود در شبکه خود دسترسی ندارید. اگر می‌خواهید از دستگاه‌های محلی دیگر تست کنید، firebase.json خود را به این صورت پیکربندی کنید:

"emulators": {
    // ...

    "hosting": {
      "port": 5000,
      "host": "0.0.0.0"
    }
  }

مرحله 2: پیش نمایش و اشتراک گذاری

اگر می‌خواهید دیگران قبل از پخش زنده تغییرات برنامه وب شما را مشاهده کنند، می‌توانید از کانال‌های پیش‌نمایش استفاده کنید.

پس از استقرار در یک کانال پیش‌نمایش، Firebase برنامه وب شما را در یک «URL پیش‌نمایش»، که یک URL موقت و قابل اشتراک‌گذاری است، ارائه می‌کند. هنگام استفاده از یک URL پیش‌نمایش، برنامه وب شما با پشتیبان واقعی شما برای همه منابع پروژه تعامل دارد (به استثنای هر توابع "پین شده" در پیکربندی بازنویسی شما ).

توجه داشته باشید که اگرچه حدس زدن URL های پیش نمایش دشوار است (زیرا حاوی هش تصادفی هستند)، اما عمومی هستند. بنابراین، هر کسی که URL را بشناسد می تواند به آن دسترسی داشته باشد.

  1. از ریشه دایرکتوری پروژه محلی خود، دستور زیر را اجرا کنید:

    firebase hosting:channel:deploy CHANNEL_ID

    CHANNEL_ID با یک رشته بدون فاصله (به عنوان مثال feature_mission-2-mars ) جایگزین کنید. این شناسه برای ساخت URL پیش‌نمایش مرتبط با کانال پیش‌نمایش استفاده خواهد شد.

  2. برنامه وب خود را در URL پیش نمایشی که توسط CLI برگردانده شده است باز کنید. چیزی شبیه به این خواهد بود: PROJECT_ID -- CHANNEL_ID - RANDOM_HASH .web.app

  3. برای به روز رسانی URL پیش نمایش خود با تغییرات، همان دستور را دوباره اجرا کنید. حتماً همان CHANNEL_ID در دستور مشخص کنید.

درباره مدیریت کانال‌های پیش‌نمایش ، از جمله نحوه تنظیم انقضای کانال، بیاموزید.

Firebase Hosting از یک GitHub Action پشتیبانی می‌کند که به‌طور خودکار یک URL پیش‌نمایش را هنگام انجام تغییرات در یک درخواست کشش ایجاد و به‌روزرسانی می‌کند. نحوه راه اندازی و استفاده از این اکشن GitHub را بیاموزید.

مرحله 3: پخش زنده

وقتی آماده به اشتراک گذاشتن تغییرات خود با جهان هستید، محتوای Hosting و پیکربندی خود را در کانال زنده خود مستقر کنید. Firebase بسته به مورد استفاده شما چند گزینه مختلف برای این مرحله ارائه می دهد (گزینه های زیر را ببینید).

گزینه 1: از یک کانال پیش نمایش به کانال زنده خود کلون کنید

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

  1. از هر دایرکتوری، دستور زیر را اجرا کنید:

    firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live

    هر مکان نگهدارنده را با موارد زیر جایگزین کنید:

    • SOURCE_SITE_ID و TARGET_SITE_ID : اینها شناسه‌های سایت‌های Hosting هستند که حاوی کانال‌ها هستند.

      • برای سایت Hosting پیش فرض خود، از ID پروژه Firebase خود استفاده کنید.
      • می توانید سایت هایی را مشخص کنید که در یک پروژه Firebase یا حتی در پروژه های مختلف Firebase هستند.
    • SOURCE_CHANNEL_ID : این شناسه کانالی است که در حال حاضر نسخه ای را که می خواهید در کانال زنده شما پخش کنید ارائه می دهد.

      • برای یک کانال زنده، live به عنوان شناسه کانال استفاده کنید.
  2. تغییرات خود را مشاهده کنید (مرحله بعد).

گزینه 2: از فهرست پروژه محلی خود به کانال زنده خود مستقر شوید

این گزینه به شما انعطاف‌پذیری می‌دهد تا پیکربندی‌های خاص کانال زنده را تنظیم کنید یا حتی اگر از یک کانال پیش‌نمایش استفاده نکرده‌اید، استفاده کنید.

  1. از ریشه دایرکتوری پروژه محلی خود، دستور زیر را اجرا کنید:

    firebase deploy --only hosting
  2. تغییرات خود را مشاهده کنید (مرحله بعد).

مرحله 4: تغییرات خود را در سایت زنده خود مشاهده کنید

هر دو گزینه بالا محتوای Hosting و پیکربندی شما را در سایت های زیر مستقر می کنند:

  • زیر دامنه های ارائه شده توسط Firebase برای سایت Hosting پیش فرض شما و هر سایت Hosting اضافی:
    SITE_ID .web.app (مانند PROJECT_ID .web.app )
    SITE_ID .firebaseapp.com (مانند PROJECT_ID .firebaseapp.com )

  • هر دامنه سفارشی که به سایت(های) Hosting خود متصل کرده اید

برای محدود کردن استقرار به یک سایت Hosting خاص، یک هدف استقرار را در دستور CLI خود مشخص کنید .

سایر فعالیت ها و اطلاعات استقرار

یک نظر برای استقرار اضافه کنید

شما می توانید به صورت اختیاری یک نظر به یک استقرار اضافه کنید. این نظر همراه با سایر اطلاعات استقرار در داشبورد Hosting در کنسول Firebase نمایش داده می شود. به عنوان مثال:

firebase deploy --only hosting -m "Deploying the best new feature ever."

وظایف اسکریپت شده از قبل و بعد از توسعه را اضافه کنید

می‌توانید به‌صورت اختیاری اسکریپت‌های پوسته را به فرمان firebase deploy متصل کنید تا وظایف پیش‌گسترش یا پس‌استقرار را انجام دهید. به عنوان مثال، یک قلاب postdeploy می تواند مدیران را از استقرار محتوای جدید سایت مطلع کند. برای جزئیات بیشتر به مستندات Firebase CLI مراجعه کنید.

ذخیره محتوای مستقر شده

هنگامی که درخواستی برای محتوای ثابت ارائه می شود، Firebase Hosting به طور خودکار محتوا را در CDN ذخیره می کند. اگر محتوای سایت خود را مجدداً مستقر کنید، Firebase به طور خودکار تمام محتوای استاتیک ذخیره شده در حافظه پنهان شما را در CDN پاک می کند تا درخواست های جدید محتوای جدید شما را دریافت کنند.

توجه داشته باشید که می‌توانید حافظه پنهان محتوای پویا را پیکربندی کنید.

ارائه از طریق HTTPS

اطمینان حاصل کنید که تمام منابع خارجی که در Firebase Hosting میزبانی نمی شوند، از طریق SSL (HTTPS)، از جمله اسکریپت های خارجی بارگیری می شوند. اکثر مرورگرها به کاربران اجازه بارگذاری «محتوای ترکیبی» (ترافیک SSL و غیر SSL) را نمی دهند.

حذف فایل ها

در Firebase Hosting ، راه اصلی برای حذف فایل‌های انتخابی از یک سایت مستقر، حذف فایل‌ها به صورت محلی، و سپس نصب مجدد است.

مراحل بعدی