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

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

مروری بر زیرساخت هاستینگ

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

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

تصویری از سلسله مراتب میزبانی Firebase

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

دستور کلون همچنین در کانال "هدف" مستقر می شود تا محتوای کلون شده هاست و پیکربندی به طور خودکار در 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 : اینها شناسه‌های سایت‌های میزبانی هستند که حاوی کانال‌ها هستند.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    firebase hosting:channel:delete CHANNEL_ID

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

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

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

فرمان شرح
firebase hosting:channel:create CHANNEL_ID

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

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

firebase hosting:channel:delete CHANNEL_ID

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

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

firebase hosting:channel:deploy CHANNEL_ID

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

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

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

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

فرمان شرح
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

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

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

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

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

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

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