مدیریت زنده & پیش نمایش کانال ها، نسخه ها و نسخه های سایت شما

Firebase Hosting ابزارهایی را از طریق کنسول Firebase و Firebase CLI برای مدیریت کانال‌ها، نسخه‌ها و نسخه‌های سایت Hosting شما فراهم می‌کند.

مروری بر زیرساخت Hosting

درک زیرساخت Hosting به شما کمک می کند تا گزینه های مدیریتی که در این صفحه توضیح داده شده است را درک کنید.

هر پروژه Firebase دارای یک سایت Hosting پیش فرض است که به تمام منابع پروژه (پایگاه های داده، احراز هویت، توابع و غیره) دسترسی دارد. یک سایت حاوی یک یا چند کانال است که در آن هر کانال با یک URL مرتبط است که محتوای خاصی را ارائه می دهد و یک پیکربندی Hosting .

تصویری از <span class= سلسله مراتب میزبانی Firebase" />

هر سایت Hosting دارای یک کانال "زنده" است که محتوا و یک پیکربندی Hosting را در (1) زیر دامنه های سایت ارائه شده توسط Firebase ( SITE_ID .web.app و SITE_ID .firebaseapp.com ) و (2) هر دامنه سفارشی متصل ارائه می دهد. همچنین می‌توانید به صورت اختیاری کانال‌های «پیش‌نمایش» ایجاد کنید که محتوا و پیکربندی خود را در «نشانی‌های اینترنتی پیش‌نمایش» موقت و قابل اشتراک‌گذاری ارائه کنند ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

محتوا و پیکربندی ارائه شده توسط هر کانال در یک شی نسخه بسته بندی می شود که دارای یک شناسه منحصر به فرد است. هنگامی که شما در سایت خود مستقر می شوید، Firebase یک شی انتشار ایجاد می کند که به یک نسخه خاص اشاره می کند. یک نسخه حاوی ابرداده درباره استقرار است، مانند اینکه چه کسی مستقر شده و چه زمانی مستقر شده است.

از داشبورد Hosting پروژه Firebase خود، می‌توانید تاریخچه کاملی از انتشارات کانال زنده خود را در جدول تاریخچه انتشار مشاهده کنید. اگر چندین سایت Hosting دارید، برای مشاهده تاریخچه انتشار سایت مورد نظر، روی View کلیک کنید. اگر کانال های پیش نمایشی دارید، در داشبورد Hosting نیز نمایش داده می شوند.

تنظیمات کانال را مدیریت کنید

برای هر کانال سایت خود می توانید تنظیمات آن را کنترل کنید. برخی از تنظیمات، مانند انقضای کانال، فقط برای کانال های پیش نمایش قابل اجرا هستند.

تعداد انتشارات را برای حفظ محدود کنید

هر بار که در یک کانال مستقر می شوید (و یک نسخه ایجاد می کنید)، Hosting نسخه مرتبط با نسخه قبلی را در فضای ذخیره سازی Hosting پروژه شما نگه می دارد. می‌توانید تعداد پخش‌هایی را که برای هر کانال در پروژه خود نگه دارید، چه کانال‌های زنده و چه کانال‌های پیش‌نمایش، تنظیم کنید.

  • چرا Hosting نسخه های قبلی را نگه می دارد؟
    برای کانال زنده خود، حفظ نسخه های قبلی به شما امکان می دهد در صورت نیاز به نسخه قبلی سایت خود برگردید . برای کانال‌های پیش‌نمایش شما، بازگشت مجدد هنوز در دسترس نیست.

  • چرا تعداد انتشارات را برای حفظ محدود کنیم؟
    این ویژگی می‌تواند به شما کمک کند سطح استفاده از فضای ذخیره‌سازی Hosting پروژه خود را کنترل کنید، زیرا محتوای نسخه‌های قبلی در این فضای ذخیره‌سازی نگهداری می‌شود. می توانید فضای Hosting خود را از تب Storage در کنسول نظارت کنید.

  • چه اتفاقی می‌افتد وقتی نسخه‌ها را برای حفظ محدود کنید؟
    زمانی که محدودیتی برای حفظ نسخه‌ها تعیین می‌کنید، محتوای هر نسخه‌ای که بیش از حد تعیین‌شده شما باشد برای حذف برنامه‌ریزی می‌شود و ابتدا از قدیمی‌ترین نسخه‌ها شروع می‌شود .

در اینجا نحوه تنظیم محدودیت فضای ذخیره سازی برای یک کانال آمده است:

  1. در کنسول Firebase ، به گفتگوی تنظیمات ذخیره سازی انتشار دسترسی پیدا کنید:

    • برای کانال زنده شما
      در جدول تاریخچه انتشار سایت خود، روی کلیک کنید، سپس تنظیمات ذخیره سازی انتشار را انتخاب کنید.

    • برای هر کانال پیش نمایش
      در ردیف کانال پیش‌نمایش، روی کلیک کنید، سپس تنظیمات کانال را انتخاب کنید.

  2. تعداد نسخه‌هایی را که می‌خواهید نگه دارید وارد کنید، سپس روی ذخیره کلیک کنید.

انقضای یک کانال پیش نمایش را تنظیم کنید

به طور پیش فرض، یک کانال پیش نمایش 7 روز از تاریخ ایجاد آن منقضی می شود، اما کانال زنده سایت شما هرگز منقضی نمی شود.

زمانی که یک کانال پیش‌نمایش منقضی می‌شود، کانال به همراه نسخه‌های منتشر شده و نسخه‌های مرتبط با آن، ظرف ۲۴ ساعت حذف می‌شوند. URL پیش نمایش مرتبط نیز غیرفعال می شود. یک استثنا برای این نسخه-حذف اگر نسخه ای با نسخه دیگری مرتبط باشد (این اتفاق می افتد، برای مثال، اگر نسخه ای را از یک کانال به کانال دیگر در همان سایت کلون کنید).

Hosting از دو روش مختلف برای کنترل انقضای یک کانال پشتیبانی می کند:

  • کنسول Firebase
    در ردیف کانال پیش‌نمایش، روی کلیک کنید، سپس تنظیمات کانال را انتخاب کنید. تاریخ و زمان انقضا را وارد کنید.

  • Firebase CLI
    وقتی به کانال پیش‌نمایش خود مستقر می‌شوید، پرچم --expires DURATION را ارسال کنید، برای مثال:

    firebase hosting:channel:deploy new-awesome-feature --expires 7d

    انقضا می تواند تا 30 روز از تاریخ استقرار باشد. h برای ساعت ها، d برای روزها و w برای هفته ها استفاده کنید (به عنوان مثال، به ترتیب 12h ، 7d ، 2w ).

یک نسخه را از یک کانال به کانال دیگر کلون کنید

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

دستور کلون همچنین در کانال "هدف" مستقر می شود تا محتوای کلون شده Hosting و پیکربندی به طور خودکار در URL مرتبط کانال "هدف" ارائه شود.

این ویژگی برای ردیابی نسخه مفید است یا اگر می‌خواهید مطمئن باشید دقیقاً محتوایی را که مشاهده کرده‌اید و/یا آزمایش کرده‌اید در کانال دیگری به کار می‌برید. در اینجا چند نمونه آورده شده است:

  • از یک کانال پیش نمایش "QA" به کانال زنده سایت خود کلون کنید (در حال پخش!)

  • از کانال زنده سایت خود به یک کانال پیش نمایش "اشکال زدایی" کلون کنید (مانند قبل از بازگشت مجدد)

  • کلون کردن از یک کانال در پروژه Firebase "Staging" به یک کانال پیش نمایش در پروژه Firebase "prod" شما

برای کلون کردن یک نسخه، دستور زیر را از هر دایرکتوری اجرا کنید:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

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

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

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

    • برای یک کانال زنده، live به عنوان شناسه کانال استفاده کنید.
    • اگر کانال "هدف" مشخص شده هنوز وجود نداشته باشد، این دستور کانال را قبل از استقرار در آن ایجاد می کند.

به نسخه قبلی سایت خود برگردید

می‌توانید برای ارائه نسخه قبلی کانال زنده سایت خود به عقب برگردید. این اقدام در صورتی مفید است که نسخه فعلی شما مشکلی داشته باشد و می‌خواهید برای ارائه نسخه کار شناخته شده سایت خود به عقب برگردید. یا شاید سایت شما محتوای موقتی را برای یک تعطیلات یا رویداد ویژه ارائه می‌دهد، اما اکنون می‌خواهید برای ارائه محتوای «معمولی» خود به عقب برگردید.

با عقب نشینی، نسخه جدیدی ایجاد می کنید که همان نسخه محتوای نسخه قبلی را ارائه می دهد. در جدول تاریخچه انتشار شما، هر دو نسخه شناسه نسخه یکسانی را فهرست می‌کنند.

در اینجا نحوه بازگشت به عقب آورده شده است:

  1. در کنسول Firebase ، در جدول تاریخچه انتشار برای سایت خود، نشانگر را روی ورودی نسخه قبلی که می‌خواهید به آن برگردید، نگه دارید.

  2. روی کلیک کنید، سپس Roll back را انتخاب کنید.

یک نسخه را به صورت دستی حذف کنید

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

وقتی یک نسخه را حذف می کنید، در واقع محتوای آن را حذف می کنید، که قرار است ظرف 24 ساعت حذف شود. خود شیء انتشار نگه داشته می‌شود تا همچنان بتوانید ابرداده‌های آن را ببینید (چه کسانی و چه زمانی مستقر شده‌اند).

در اینجا نحوه حذف یک نسخه آورده شده است:

  1. در کنسول Firebase ، در جدول تاریخچه انتشار برای سایت خود، نشانگر را روی ورودی نسخه قبلی که می‌خواهید حذف کنید، نگه دارید.

  2. روی کلیک کنید، سپس Delete را انتخاب کنید.

حذف دستی فایل ها

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

یک کانال پیش نمایش را به صورت دستی حذف کنید

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

وقتی یک کانال پیش‌نمایش را حذف می‌کنید، کانال به همراه نسخه‌های منتشرشده و نسخه‌های مرتبط با آن، ظرف ۲۴ ساعت برنامه‌ریزی می‌شوند تا حذف شوند. URL پیش نمایش مرتبط نیز غیرفعال می شود. یک استثنا برای حذف نسخه این است که نسخه ای با نسخه دیگری مرتبط باشد (این اتفاق می افتد، برای مثال، اگر نسخه ای را از یک کانال به کانال دیگر در همان سایت کلون کنید).

Hosting از دو روش مختلف برای حذف یک کانال پیش نمایش پشتیبانی می کند:

  • کنسول Firebase
    در ردیف مربوط به کانال پیش‌نمایش، روی کلیک کنید، سپس حذف کانال را انتخاب کنید. حذف را تایید کنید.

  • Firebase CLI
    دستور زیر را از هر دایرکتوری اجرا کنید:

    firebase hosting:channel:delete CHANNEL_ID

دستورات CLI برای پیش نمایش کانال ها و شبیه سازی

دستورات برای پیش نمایش کانال ها

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

فرمان توضیحات
firebase hosting:channel:create CHANNEL_ID

یک کانال پیش نمایش جدید در سایت Hosting پیش فرض با استفاده از CHANNEL_ID مشخص شده ایجاد می کند

این دستور در کانال مستقر نمی شود.

firebase hosting:channel:delete CHANNEL_ID

کانال پیش نمایش مشخص شده را حذف می کند

شما نمی توانید کانال زنده یک سایت را حذف کنید.

firebase hosting:channel:deploy CHANNEL_ID

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

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

firebase hosting:channel:list همه کانال ها (از جمله کانال "زنده") را در سایت Hosting پیش فرض لیست می کند
firebase hosting:channel:open CHANNEL_ID مرورگر را به URL کانال مشخص شده باز می کند یا اگر باز کردن در مرورگر امکان پذیر نباشد URL را برمی گرداند.

دستورات برای شبیه سازی نسخه

فرمان توضیحات
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

جدیدترین نسخه مستقر شده در کانال "منبع" مشخص شده را به کانال "هدف" مشخص شده شبیه سازی می کند.

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

firebase hosting:clone \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

نسخه مشخص شده را در کانال "هدف" مشخص شده کلون می کند

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

می‌توانید VERSION_ID در داشبورد Hosting کنسول Firebase پیدا کنید.