مرجع Firebase CLI

رابط خط فرمان Firebase ( GitHub ) ابزارهای متنوعی را برای مدیریت، مشاهده و استقرار در پروژه‌های فایربیس ارائه می‌دهد.

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

تنظیم یا به‌روزرسانی رابط خط فرمان (CLI)

نصب رابط خط فرمان Firebase

شما می‌توانید رابط خط فرمان Firebase CLI) را با استفاده از روشی که با سیستم عامل، سطح تجربه و/یا مورد استفاده شما مطابقت دارد، نصب کنید. صرف نظر از نحوه نصب رابط خط فرمان، به همان عملکرد و دستور firebase دسترسی خواهید داشت.

ویندوز، مک او اس، لینوکس

ویندوز

شما می‌توانید Firebase CLI را برای ویندوز با استفاده از یکی از گزینه‌های زیر نصب کنید:

گزینه توضیحات توصیه شده برای ...
دودویی مستقل فایل باینری مستقل را برای رابط خط فرمان (CLI) دانلود کنید. سپس، می‌توانید به فایل اجرایی دسترسی پیدا کنید تا یک پوسته (shell) باز شود که در آن می‌توانید دستور firebase را اجرا کنید. توسعه‌دهندگان جدید

توسعه‌دهندگانی که از Node.js استفاده نمی‌کنند یا با آن ناآشنا هستند
ان‌پی‌ام از npm (مدیر بسته‌های Node) برای نصب CLI و فعال کردن دستور firebase که به صورت سراسری در دسترس است، استفاده کنید. توسعه‌دهندگانی که از Node.js استفاده می‌کنند

دودویی مستقل

برای دانلود و اجرای فایل باینری برای Firebase CLI، مراحل زیر را دنبال کنید:

  1. فایل باینری Firebase CLI را برای ویندوز دانلود کنید.

  2. برای باز کردن یک پوسته که می‌توانید دستور firebase را در آن اجرا کنید، به فایل باینری دسترسی پیدا کنید.

  3. به ورود به سیستم و آزمایش رابط خط فرمان (CLI) ادامه دهید.

ان‌پی‌ام

برای استفاده از npm (مدیر بسته‌های Node) برای نصب Firebase CLI، مراحل زیر را دنبال کنید:

  1. Node.js را با استفاده از nvm-windows (مدیر نسخه Node) نصب کنید. نصب Node.js به طور خودکار ابزارهای دستوری npm را نصب می‌کند.

  2. با اجرای دستور زیر، Firebase CLI را از طریق npm نصب کنید:

    npm install -g firebase-tools

    این دستور، دستور firebase که به صورت سراسری در دسترس است را فعال می‌کند.

  3. به ورود به سیستم و آزمایش رابط خط فرمان (CLI) ادامه دهید.

macOS یا لینوکس

شما می‌توانید با استفاده از یکی از گزینه‌های زیر، Firebase CLI را برای macOS یا Linux نصب کنید:

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

توسعه‌دهندگانی که از Node.js استفاده نمی‌کنند یا با آن ناآشنا هستند

استقرار خودکار در محیط CI/CD
دودویی مستقل فایل باینری مستقل را برای رابط خط فرمان (CLI) دانلود کنید. سپس، می‌توانید فایل باینری را متناسب با گردش کار خود پیکربندی و اجرا کنید. گردش‌های کاری کاملاً قابل تنظیم با استفاده از رابط خط فرمان (CLI)
ان‌پی‌ام از npm (مدیر بسته‌های Node) برای نصب CLI و فعال کردن دستور firebase که به صورت سراسری در دسترس است، استفاده کنید. توسعه‌دهندگانی که از Node.js استفاده می‌کنند

اسکریپت نصب خودکار

برای نصب Firebase CLI با استفاده از اسکریپت نصب خودکار، مراحل زیر را دنبال کنید:

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

    curl -sL https://firebase.tools | bash

    این اسکریپت به طور خودکار سیستم عامل شما را تشخیص می‌دهد، آخرین نسخه Firebase CLI را دانلود می‌کند، سپس دستور firebase که به صورت سراسری در دسترس است را فعال می‌کند.

  2. به ورود به سیستم و آزمایش رابط خط فرمان (CLI) ادامه دهید.

برای مثال‌ها و جزئیات بیشتر در مورد اسکریپت نصب خودکار، به کد منبع اسکریپت در firebase.tools مراجعه کنید.

دودویی مستقل

برای دانلود و اجرای فایل باینری مربوط به Firebase CLI که مخصوص سیستم عامل شماست، این مراحل را دنبال کنید:

  1. فایل باینری Firebase CLI را برای سیستم عامل خود دانلود کنید: macOS | Linux

  2. (اختیاری) دستور firebase که به صورت سراسری در دسترس است را تنظیم کنید.

    1. با اجرای دستور chmod +x ./firebase_tools فایل باینری را قابل اجرا کنید.
    2. مسیر فایل باینری را به PATH خود اضافه کنید.
  3. به ورود به سیستم و آزمایش رابط خط فرمان (CLI) ادامه دهید.

ان‌پی‌ام

برای استفاده از npm (مدیر بسته‌های Node) برای نصب Firebase CLI، مراحل زیر را دنبال کنید:

  1. Node.js را با استفاده از nvm (مدیر نسخه Node) نصب کنید.
    نصب Node.js به طور خودکار ابزارهای دستوری npm را نصب می‌کند.

  2. با اجرای دستور زیر، Firebase CLI را از طریق npm نصب کنید:

    npm install -g firebase-tools

    این دستور، دستور firebase که به صورت سراسری در دسترس است را فعال می‌کند.

  3. به ورود به سیستم و آزمایش رابط خط فرمان (CLI) ادامه دهید.

وارد شوید و Firebase CLI را آزمایش کنید

پس از نصب رابط خط فرمان (CLI)، باید احراز هویت کنید. سپس می‌توانید با فهرست کردن پروژه‌های Firebase خود، احراز هویت را تأیید کنید.

  1. با استفاده از حساب گوگل خود و با اجرای دستور زیر وارد Firebase شوید:

    firebase login

    این دستور دستگاه محلی شما را به Firebase متصل می‌کند و به شما امکان دسترسی به پروژه‌های Firebase را می‌دهد.

  2. با فهرست کردن پروژه‌های Firebase خود، بررسی کنید که CLI به درستی نصب شده و به حساب کاربری شما دسترسی دارد. دستور زیر را اجرا کنید:

    firebase projects:list

    لیست نمایش داده شده باید همان پروژه‌های Firebase فهرست شده در کنسول Firebase باشد.

به آخرین نسخه CLI به‌روزرسانی کنید

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

نحوه‌ی به‌روزرسانی نسخه‌ی CLI به سیستم عامل شما و نحوه‌ی نصب CLI بستگی دارد.

ویندوز

مک‌او‌اس

  • اسکریپت نصب خودکار : curl -sL https://firebase.tools | upgrade=true bash را اجرا کنید.

  • فایل باینری مستقل : نسخه جدید را دانلود کنید ، سپس آن را در سیستم خود جایگزین کنید

  • npm : دستور npm install -g firebase-tools را اجرا کنید.

لینوکس

  • اسکریپت نصب خودکار : curl -sL https://firebase.tools | upgrade=true bash را اجرا کنید.

  • فایل باینری مستقل : نسخه جدید را دانلود کنید ، سپس آن را در سیستم خود جایگزین کنید

  • npm : دستور npm install -g firebase-tools را اجرا کنید.

رابط خط Firebase حذف نصب کنید

نحوه‌ی حذف نصب CLI به سیستم عامل شما و نحوه‌ی نصب CLI بستگی دارد.

ویندوز

  • فایل باینری مستقل : فایل باینری firebase.exe که دانلود کرده‌اید را حذف کنید.
  • npm : دستور npm uninstall -g firebase-tools را اجرا کنید.

مک‌او‌اس

  • اسکریپت نصب خودکار : curl -sL https://firebase.tools | uninstall=true bash را اجرا کنید.

  • فایل باینری مستقل : فایل باینری firebase که دانلود کرده‌اید را حذف کنید. اگر مکان آن را به متغیر محیطی PATH خود اضافه کرده‌اید، حتماً آن را حذف کنید.

  • npm : دستور npm uninstall -g firebase-tools را اجرا کنید.

لینوکس

  • اسکریپت نصب خودکار : curl -sL https://firebase.tools | uninstall=true bash را اجرا کنید.

  • فایل باینری مستقل : فایل باینری firebase که دانلود کرده‌اید را حذف کنید. اگر مکان آن را به متغیر محیطی PATH خود اضافه کرده‌اید، حتماً آن را حذف کنید.

  • npm : دستور npm uninstall -g firebase-tools را اجرا کنید.

استفاده از رابط خط فرمان (CLI) با سیستم‌های CI

توصیه می‌کنیم هنگام استفاده از رابط خط فرمان (CLI) با سیستم‌های CI، با استفاده از اعتبارنامه‌های پیش‌فرض برنامه (Application Default Credentials) احراز هویت کنید.

(توصیه می‌شود) از اعتبارنامه‌های پیش‌فرض برنامه استفاده کنید

رابط خط فرمان Firebase CLI) در صورت تنظیم شدن، اعتبارنامه‌های پیش‌فرض برنامه (Application Default Credentials) را شناسایی و از آنها استفاده می‌کند. ساده‌ترین راه برای احراز هویت رابط خط فرمان در CI و سایر محیط‌های بدون سر (headless)، تنظیم اعتبارنامه‌های پیش‌فرض برنامه (Application Default Credentials) است.

(قدیمی) از FIREBASE_TOKEN استفاده کنید

روش دیگر، احراز هویت با استفاده از FIREBASE_TOKEN است. این روش نسبت به Application Default Credentials امنیت کمتری دارد و دیگر توصیه نمی‌شود.

  1. روی دستگاهی که مرورگر دارد، Firebase CLI را نصب کنید .

  2. با اجرای دستور زیر، فرآیند ورود به سیستم را آغاز کنید:

    firebase login:ci
  3. به آدرس اینترنتی ارائه شده مراجعه کنید، سپس با استفاده از یک حساب گوگل وارد شوید.

  4. یک نشانه به‌روزرسانی جدید چاپ کن. جلسه فعلی CLI تحت تأثیر قرار نخواهد گرفت.

  5. توکن خروجی را به روشی امن اما قابل دسترس در سیستم CI خود ذخیره کنید.

  6. هنگام اجرای دستورات firebase از این توکن استفاده کنید. می‌توانید از یکی از دو گزینه زیر استفاده کنید:

    • گزینه ۱: توکن را به عنوان متغیر محیطی FIREBASE_TOKEN ذخیره کنید. سیستم شما به طور خودکار از توکن استفاده خواهد کرد.

    • گزینه ۲: تمام دستورات firebase را با پرچم --token TOKEN در سیستم CI خود اجرا کنید.
      این ترتیب اولویت برای بارگذاری توکن است: پرچم، متغیر محیطی، پروژه Firebase مورد نظر.

یک پروژه Firebase را مقداردهی اولیه کنید

بسیاری از وظایف رایج که با استفاده از رابط خط فرمان (CLI) انجام می‌شوند، مانند استقرار در یک پروژه Firebase، به یک دایرکتوری پروژه نیاز دارند. شما با استفاده از دستور firebase init یک دایرکتوری پروژه ایجاد می‌کنید. دایرکتوری پروژه معمولاً همان دایرکتوری ریشه کنترل منبع شماست و پس از اجرای firebase init ، این دایرکتوری حاوی یک فایل پیکربندی firebase.json است.

برای مقداردهی اولیه یک پروژه جدید Firebase، دستور زیر را از داخل دایرکتوری برنامه خود اجرا کنید:

firebase init

دستور firebase init شما را در تنظیم دایرکتوری پروژه و برخی از محصولات Firebase راهنمایی می‌کند. در طول راه‌اندازی پروژه، رابط خط فرمان Firebase از شما می‌خواهد که کارهای زیر را انجام دهید:

  • یک پروژه پیش‌فرض Firebase را انتخاب کنید.

    این مرحله دایرکتوری پروژه فعلی را با یک پروژه Firebase مرتبط می‌کند تا دستورات خاص پروژه (مانند firebase deploy ) روی پروژه Firebase مربوطه اجرا شوند.

    همچنین می‌توان چندین پروژه Firebase (مانند یک پروژه مرحله‌بندی و یک پروژه تولید) را با یک دایرکتوری پروژه مرتبط کرد .

  • محصولات Firebase مورد نظر خود را برای تنظیم در پروژه Firebase خود انتخاب کنید.

    این مرحله از شما می‌خواهد که پیکربندی‌هایی را برای فایل‌های خاص محصولات انتخاب‌شده تنظیم کنید. برای جزئیات بیشتر در مورد این پیکربندی‌ها، به مستندات محصول خاص (به عنوان مثال، Hosting ) مراجعه کنید. توجه داشته باشید که همیشه می‌توانید firebase init بعداً برای تنظیم محصولات Firebase بیشتر اجرا کنید.

در پایان مقداردهی اولیه، Firebase به طور خودکار دو فایل زیر را در ریشه دایرکتوری برنامه محلی شما ایجاد می‌کند:

  • یک فایل پیکربندی firebase.json که پیکربندی پروژه شما را فهرست می‌کند.

  • یک فایل .firebaserc که نام‌های مستعار پروژه شما را ذخیره می‌کند.

فایل firebase.json

دستور firebase init یک فایل پیکربندی firebase.json در ریشه دایرکتوری پروژه شما ایجاد می‌کند.

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

شما می‌توانید اکثر گزینه‌های Firebase Hosting مستقیماً در فایل firebase.json پیکربندی کنید. با این حال، برای سایر سرویس‌های فایربیس که می‌توانند با Firebase CLI مستقر شوند ، دستور firebase init فایل‌های خاصی ایجاد می‌کند که می‌توانید تنظیمات مربوط به آن سرویس‌ها را در آنها تعریف کنید، مانند فایل index.js برای Cloud Functions . همچنین می‌توانید قلاب‌های predeploy یا postdeploy را در فایل firebase.json تنظیم کنید.

در ادامه، یک نمونه فایل firebase.json با تنظیمات پیش‌فرض در صورت انتخاب Firebase Hosting ، Cloud Firestore و Cloud Functions for Firebase (با انتخاب گزینه‌های TypeScript source و lint) در هنگام مقداردهی اولیه، آورده شده است.

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  },
  "firestore": {
      "rules": "firestore.rules",
      "indexes": "firestore.indexes.json"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ]
  }
}

اگرچه firebase.json به طور پیش‌فرض استفاده می‌شود، می‌توانید با استفاده از پرچم --config PATH یک فایل پیکربندی جایگزین مشخص کنید.

پیکربندی برای چندین پایگاه داده Cloud Firestore

وقتی firebase init اجرا می‌کنید، فایل firebase.json شما شامل یک کلید firestore واحد مربوط به پایگاه داده پیش‌فرض پروژه شما خواهد بود، همانطور که در بالا نشان داده شده است.

اگر پروژه شما شامل چندین پایگاه داده Cloud Firestore است، فایل firebase.json خود را ویرایش کنید تا Cloud Firestore Security Rules و فایل‌های منبع شاخص پایگاه داده مختلف را با هر پایگاه داده مرتبط کنید. فایل را با یک آرایه JSON، با یک ورودی برای هر پایگاه داده، اصلاح کنید.

      "firestore": [
        {
          "database": "(default)",
          "rules": "firestore.default.rules",
          "indexes": "firestore.default.indexes.json"
        },
        {
          "database": "ecommerce",
          "rules": "firestore.ecommerce.rules",
          "indexes": "firestore.ecommerce.indexes.json"
        }
      ],

فایل‌های Cloud Functions که باید هنگام استقرار نادیده گرفته شوند

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

لیست فایل‌هایی که به طور پیش‌فرض نادیده گرفته می‌شوند و در قالب JSON نشان داده شده‌اند، به شرح زیر است:

"ignore": [
  ".git",
  ".runtimeconfig.json",
  "firebase-debug.log",
  "firebase-debug.*.log",
  "node_modules"
]

اگر مقادیر سفارشی خود را برای ignore در firebase.json اضافه می‌کنید، مطمئن شوید که لیست فایل‌های نشان داده شده در بالا را نگه دارید (یا اگر وجود ندارد، اضافه کنید).

مدیریت نام‌های مستعار پروژه

شما می‌توانید چندین پروژه Firebase را به یک دایرکتوری پروژه مرتبط کنید. برای مثال، ممکن است بخواهید از یک پروژه Firebase برای مرحله‌بندی و از پروژه دیگری برای تولید استفاده کنید. با استفاده از محیط‌های پروژه مختلف، می‌توانید قبل از استقرار در تولید، تغییرات را تأیید کنید. دستور firebase use به شما امکان می‌دهد بین نام‌های مستعار جابجا شوید و همچنین نام‌های مستعار جدید ایجاد کنید.

افزودن نام مستعار پروژه

وقتی در طول مقداردهی اولیه پروژه ، یک پروژه Firebase را انتخاب می‌کنید، به طور خودکار نام مستعار default به پروژه اختصاص داده می‌شود. با این حال، برای اینکه دستورات خاص پروژه بتوانند در یک پروژه Firebase متفاوت اجرا شوند اما همچنان از همان دایرکتوری پروژه استفاده کنند، دستور زیر را از داخل دایرکتوری پروژه خود اجرا کنید:

firebase use --add

این دستور از شما می‌خواهد که یک پروژه Firebase دیگر انتخاب کنید و آن را به عنوان نام مستعار (alias) تعیین کنید. نام‌های مستعار در یک فایل .firebaserc در داخل دایرکتوری پروژه شما نوشته می‌شوند.

استفاده از نام‌های مستعار پروژه

برای استفاده از نام‌های مستعار اختصاص داده شده به پروژه‌های Firebase، هر یک از دستورات زیر را از داخل دایرکتوری پروژه خود اجرا کنید.

فرمان توضیحات
firebase use لیستی از نام‌های مستعار تعریف‌شده‌ی فعلی برای دایرکتوری پروژه‌ی خود را مشاهده کنید
firebase use \
PROJECT_ID|ALIAS
تمام دستورات را برای اجرا در برابر پروژه Firebase مشخص شده هدایت می‌کند.
رابط خط فرمان (CLI) از این پروژه به عنوان «پروژه فعال» فعلی استفاده می‌کند.
firebase use --clear پروژه فعال را پاک می‌کند.

قبل از اجرای سایر دستورات CLI، firebase use PROJECT_ID|ALIAS .

firebase use \
--unalias PROJECT_ALIAS
یک نام مستعار را از دایرکتوری پروژه شما حذف می‌کند.

شما می‌توانید با ارسال فلگ --project به هر دستور CLI، آنچه را که به عنوان پروژه فعال فعلی استفاده می‌شود، لغو کنید. به عنوان مثال: می‌توانید CLI خود را طوری تنظیم کنید که روی یک پروژه Firebase که نام مستعار staging به آن اختصاص داده‌اید، اجرا شود. اگر می‌خواهید یک دستور واحد را روی پروژه Firebase که نام مستعار prod به آن اختصاص داده‌اید، اجرا کنید، می‌توانید مثلاً firebase deploy --project=prod اجرا کنید.

کنترل منبع و نام‌های مستعار پروژه

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

اگر یک پروژه توسعه دارید که فقط برای استفاده خودتان است، می‌توانید پرچم --project را با هر دستور ارسال کنید یا firebase use PROJECT_ID بدون اختصاص نام مستعار به پروژه Firebase اجرا کنید.

پروژه Firebase خود را به صورت محلی ارائه و آزمایش کنید

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

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

  • محتوای استاتیک برنامه میزبانی شده توسط Firebase خود را مشاهده کنید.
  • Cloud Functions برای تولید محتوای پویا برای Firebase Hosting استفاده کنید و می‌خواهید از توابع HTTP تولیدی (مستقر شده) خود برای شبیه‌سازی Hosting روی یک URL محلی استفاده کنید.
firebase serve --only hosting

پروژه خود را با استفاده از توابع HTTP محلی شبیه‌سازی کنید

برای شبیه‌سازی پروژه خود با استفاده از توابع HTTP محلی ، هر یک از دستورات زیر را از دایرکتوری پروژه خود اجرا کنید.

  • برای شبیه‌سازی توابع HTTP و میزبانی برای آزمایش روی URLهای محلی، از یکی از دستورات زیر استفاده کنید:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • برای شبیه‌سازی توابع HTTP، از دستور زیر استفاده کنید:

    firebase serve --only functions

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

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

firebase serve --host 0.0.0.0  // accepts requests to any host

استقرار در یک پروژه Firebase

رابط خط فرمان Firebase CLI) مدیریت استقرار کد و دارایی‌ها را در پروژه فایربیس شما بر عهده دارد، از جمله:

  • نسخه‌های جدید سایت‌های Firebase Hosting شما
  • Cloud Functions for Firebase
  • طرحواره‌ها و کانکتورهای جدید یا به‌روزرسانی‌شده برای Firebase Data Connect
  • قوانین مربوط به Firebase Realtime Database
  • قوانین مربوط به Cloud Storage for Firebase
  • قوانین مربوط به Cloud Firestore
  • ایندکس‌های Cloud Firestore

برای استقرار در یک پروژه Firebase، دستور زیر را از دایرکتوری پروژه خود اجرا کنید:

firebase deploy

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

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

هنگام استفاده از دستور firebase deploy ، موارد زیر را در نظر داشته باشید:

  • برای استقرار منابع از دایرکتوری پروژه، دایرکتوری پروژه باید دارای فایل firebase.json باشد. این فایل به طور خودکار توسط دستور firebase init برای شما ایجاد می‌شود.

  • به طور پیش‌فرض، firebase deploy برای همه منابع قابل استقرار در دایرکتوری پروژه شما یک نسخه منتشر می‌کند. برای استقرار سرویس‌ها یا ویژگی‌های خاص Firebase، از partial deployment استفاده کنید .

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

برای Firebase Realtime Database ، Cloud Storage for Firebase و Cloud Firestore ، می‌توانید قوانین امنیتی را یا در دایرکتوری پروژه محلی خود یا در کنسول Firebase تعریف کنید.

گزینه دیگر برای جلوگیری از تداخل در استقرار، استفاده از استقرار جزئی و تعریف قوانین فقط در کنسول Firebase است.

سهمیه‌های اعزام

این امکان وجود دارد (هرچند بعید است) که از سهمیه‌ای که نرخ یا حجم عملیات استقرار Firebase شما را محدود می‌کند، تجاوز کنید. برای مثال، هنگام استقرار تعداد بسیار زیادی از توابع، ممکن است پیام خطای HTTP 429 Quota دریافت کنید. برای حل چنین مشکلاتی، سعی کنید از استقرار جزئی استفاده کنید .

یک استقرار را به عقب برگردانید

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

در حال حاضر امکان بازگرداندن نسخه‌های قوانین امنیتی برای Firebase Realtime Database ، Cloud Storage for Firebase یا Cloud Firestore وجود ندارد.

سرویس‌های خاص Firebase را مستقر کنید

اگر فقط می‌خواهید سرویس‌ها یا ویژگی‌های خاصی از Firebase را مستقر کنید، می‌توانید از یک لیست جدا شده با کاما در یک پرچم در دستور firebase deploy استفاده کنید. به عنوان مثال، دستور زیر محتوای Firebase Hosting و قوانین امنیتی Cloud Storage را مستقر می‌کند.

firebase deploy --only hosting,storage

جدول زیر سرویس‌ها و ویژگی‌های موجود برای استقرار جزئی را فهرست می‌کند. نام‌های موجود در پرچم‌ها (flags) با کلیدهای موجود در فایل پیکربندی firebase.json شما مطابقت دارند.

نحو پرچم سرویس یا ویژگی مستقر شده
--only hosting محتوای Firebase Hosting
--only database قوانین Firebase Realtime Database
--only dataconnect طرحواره‌ها و کانکتورهای Firebase Data Connect
--only storage Cloud Storage for Firebase
--only firestore قوانین و شاخص‌های Cloud Firestore برای همه پایگاه‌های داده پیکربندی شده
--only functions Cloud Functions for Firebase ( نسخه‌های خاص‌تر این پرچم امکان‌پذیر است)

استقرار توابع خاص

هنگام استقرار توابع، می‌توانید توابع خاصی را هدف قرار دهید. برای مثال:

firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2

گزینه دیگر، گروه‌بندی توابع در گروه‌های export در فایل /functions/index.js است. گروه‌بندی توابع به شما امکان می‌دهد چندین تابع را با استفاده از یک دستور واحد مستقر کنید.

برای مثال، می‌توانید توابع زیر را برای تعریف groupA و groupB بنویسید:

var functions = require('firebase-functions/v1');

exports.groupA = {
  function1: functions.https.onRequest(...),
  function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');

در این مثال، یک فایل جداگانه functions/groupB.js شامل توابع اضافی است که به طور خاص توابع groupB را تعریف می‌کنند. برای مثال:

var functions = require('firebase-functions/v1');

exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);

در این مثال، می‌توانید تمام توابع groupA را با اجرای دستور زیر از دایرکتوری پروژه خود مستقر کنید:

firebase deploy --only functions:groupA

یا می‌توانید با اجرای دستور زیر، یک تابع خاص را در یک گروه هدف قرار دهید:

firebase deploy --only functions:groupA.function1,groupB.function4

حذف توابع

رابط خط فرمان Firebase از دستورات و گزینه‌های زیر برای حذف توابع قبلاً پیاده‌سازی شده پشتیبانی می‌کند:

  • تمام توابعی را که با نام مشخص شده در همه مناطق مطابقت دارند حذف می‌کند:

    firebase functions:delete FUNCTION-1_NAME

  • یک تابع مشخص شده که در یک ناحیه غیر پیش‌فرض اجرا می‌شود را حذف می‌کند:

    firebase functions:delete FUNCTION-1_NAME --region REGION_NAME

  • حذف بیش از یک تابع:

    firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME

  • یک گروه توابع مشخص شده را حذف می‌کند:

    firebase functions:delete GROUP_NAME

  • از اعلان تأیید عبور می‌کند:

    firebase functions:delete FUNCTION-1_NAME --force

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

شما می‌توانید اسکریپت‌های shell را به دستور firebase deploy متصل کنید تا وظایف predeploy یا postdeploy را انجام دهید. برای مثال، یک اسکریپت predeploy می‌تواند کد TypeScript را به جاوا اسکریپت transpile کند، و یک قلاب postdeploy می‌تواند مدیران را از محتوای جدید سایت که به Firebase Hosting ارسال می‌شود، مطلع کند.

برای تنظیم قلاب‌های predeploy یا postdeploy، اسکریپت‌های bash را به فایل پیکربندی firebase.json خود اضافه کنید. می‌توانید اسکریپت‌های مختصر را مستقیماً در فایل firebase.json تعریف کنید، یا می‌توانید به فایل‌های دیگری که در دایرکتوری پروژه شما هستند، ارجاع دهید.

برای مثال، اسکریپت زیر عبارت firebase.json برای یک وظیفه postdeploy است که پس از استقرار موفقیت‌آمیز به Firebase Hosting یک پیام Slack ارسال می‌کند.

"hosting": {
  // ...

  "postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
  "public": "public"
}

فایل اسکریپت messageSlack.sh در دایرکتوری پروژه قرار دارد و به شکل زیر است:

curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
     \https://SLACK_WEBHOOK_URL

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

هر دو قلاب predeploy و postdeploy خروجی استاندارد و جریان‌های خطای اسکریپت‌ها را در ترمینال چاپ می‌کنند. برای موارد خرابی، به موارد زیر توجه کنید:

  • اگر یک قلاب پیش از استقرار مطابق انتظار تکمیل نشود، استقرار لغو می‌شود.
  • اگر به هر دلیلی استقرار با شکست مواجه شود، قلاب‌های پس از استقرار فعال نمی‌شوند.

متغیرهای محیطی

در اسکریپت‌هایی که در قلاب‌های predeploy و postdeploy اجرا می‌شوند، متغیرهای محیطی زیر در دسترس هستند:

  • $GCLOUD_PROJECT : شناسه پروژه فعال
  • $PROJECT_DIR : دایرکتوری ریشه حاوی فایل firebase.json
  • $RESOURCE_DIR : (فقط برای اسکریپت‌های hosting و functions ) محل دایرکتوری که شامل منابع Hosting یا Cloud Functions است که باید مستقر شوند.

مدیریت چندین نمونه Realtime Database

یک پروژه Firebase می‌تواند چندین نمونه Firebase Realtime Database داشته باشد. به طور پیش‌فرض، دستورات CLI با نمونه پایگاه داده پیش‌فرض شما تعامل دارند.

با این حال، می‌توانید با استفاده از یک نمونه پایگاه داده غیر پیش‌فرض تعامل داشته باشید. پرچم --instance DATABASE_NAME . دستورات زیر از پرچم --instance پشتیبانی می‌کنند:

  • firebase database:get
  • firebase database:profile
  • firebase database:push
  • firebase database:remove
  • firebase database:set
  • firebase database:update

مرجع فرمان

دستورات مدیریتی CLI

فرمان توضیحات
کمک اطلاعات راهنما در مورد رابط خط فرمان (CLI) یا دستورات خاص را نمایش می‌دهد.
اولیه یک پروژه Firebase جدید را در دایرکتوری فعلی مرتبط و راه‌اندازی می‌کند. این دستور یک فایل پیکربندی firebase.json در دایرکتوری فعلی ایجاد می‌کند.
ورود رابط خط فرمان (CLI) را با حساب گوگل شما تأیید می‌کند. به دسترسی به یک مرورگر وب نیاز دارد.
برای ورود به رابط خط فرمان (CLI) در محیط‌های راه دور که اجازه دسترسی به localhost را نمی‌دهند، از دستور زیر استفاده کنید: --no-localhost .
ورود:ci یک توکن احراز هویت برای استفاده در محیط‌های غیر تعاملی تولید می‌کند.
خروج حساب گوگل شما را از رابط خط فرمان (CLI) خارج می‌کند.
باز یک مرورگر را برای دسترسی به منابع مرتبط با پروژه باز می‌کند.
پروژه‌ها: فهرست تمام پروژه‌های Firebase که به آنها دسترسی دارید را فهرست می‌کند.
استفاده پروژه فعال Firebase را برای CLI تنظیم می‌کند.
نام‌های مستعار پروژه را مدیریت می‌کند.

دستورات مدیریت پروژه

فرمان توضیحات
مدیریت پروژه‌های فایربیس
پروژه‌ها:افزودن‌فایربیس منابع Firebase را به یک پروژه Google Cloud موجود اضافه می‌کند.
پروژه‌ها:ایجاد یک پروژه جدید Google Cloud ایجاد می‌کند، سپس منابع Firebase را به پروژه جدید اضافه می‌کند.
پروژه‌ها: فهرست تمام پروژه‌های Firebase که به آنها دسترسی دارید را فهرست می‌کند.
مدیریت برنامه‌های Firebase (iOS، اندروید، وب)
برنامه‌ها: ایجاد یک برنامه Firebase جدید در پروژه فعال ایجاد می‌کند.
برنامه‌ها: فهرست برنامه‌های Firebase ثبت‌شده در پروژه فعال را فهرست می‌کند.
برنامه‌ها: پیکربندی sdk پیکربندی سرویس‌های گوگل یک برنامه Firebase را چاپ می‌کند.
تنظیمات: وب منسوخ شده. در عوض، apps:sdkconfig استفاده کنید و web به عنوان آرگومان platform مشخص کنید.
پیکربندی سرویس‌های گوگل یک برنامه وب Firebase را چاپ می‌کند.
مدیریت هش‌های گواهی SHA (فقط اندروید)
برنامه‌ها: اندروید: شا: ایجاد
شناسه برنامه SHA_HASH FIREBASE_APP_ID )
هش گواهی SHA مشخص شده را به برنامه اندروید Firebase مشخص شده اضافه می‌کند.
برنامه‌ها: اندروید: sha: حذف
شناسه برنامه SHA_HASH FIREBASE_APP_ID )
هش گواهی SHA مشخص شده را از برنامه اندروید Firebase مشخص شده حذف می‌کند.
برنامه‌ها: اندروید: sha: لیست \
FIREBASE_APP_ID
هش‌های گواهی SHA را برای برنامه اندروید Firebase مشخص شده لیست می‌کند.

استقرار و توسعه محلی

این دستورات به شما امکان می‌دهند سایت Firebase Hosting خود را مستقر کرده و با آن تعامل داشته باشید.

فرمان توضیحات
مستقر کردن کد و دارایی‌ها را از دایرکتوری پروژه شما به پروژه فعال منتقل می‌کند. برای Firebase Hosting ، یک فایل پیکربندی firebase.json مورد نیاز است.
خدمت کردن یک وب سرور محلی با پیکربندی Firebase Hosting شما راه‌اندازی می‌کند. برای Firebase Hosting ، یک فایل پیکربندی firebase.json مورد نیاز است.

دستورات App Distribution

فرمان توضیحات
توزیع برنامه: توزیع \
--برنامه FIREBASE_APP_ID
ساخت را در دسترس آزمایش‌کنندگان قرار می‌دهد.
appdistribution:آزمایش‌کنندگان:اضافه کردن آزمایش‌کنندگان را به پروژه اضافه می‌کند.
توزیع برنامه: آزمایش‌کنندگان: حذف آزمایش‌کنندگان را از پروژه حذف می‌کند.

دستورات App Hosting

فرمان توضیحات
apphosting:backends:create \
PROJECT_ID \
--مکان REGION --شناسه APP_ID
مجموعه‌ای از منابع مدیریت‌شده مرتبط با یک کدبیس واحد را ایجاد می‌کند که شامل یک بک‌اند App Hosting است. به صورت اختیاری، یک برنامه وب Firebase موجود را با شناسه برنامه Firebase آن مشخص کنید.
apphosting:backends:get \
BACKEND_ID \
PROJECT_ID \
--منطقه REGION
جزئیات خاص، از جمله URL عمومی، مربوط به یک backend را بازیابی می‌کند.
apphosting:backends:list \
PROJECT_ID پروژه
لیستی از تمام backend های فعال مرتبط با یک پروژه را بازیابی می‌کند.
فایربیس apphosting:backends:delete \
BACKEND_ID \
PROJECT_ID \
--منطقه REGION
یک backend را از پروژه حذف می‌کند.
فایربیس apphosting:config:export \
PROJECT_ID \
--رازها ENVIRONMENT_NAME
اسرار را برای استفاده در شبیه‌سازی برنامه صادر می‌کند.
پیش‌فرض روی secretهای ذخیره‌شده در apphosting.yaml است، یا برای مشخص کردن هر محیطی که فایل apphosting. ENVIRONMENT_NAME .yaml از --secrets استفاده می‌کند.
فایربیس apphosting:rollouts:create \
BACKEND_ID \
--git_branch BRANCH_NAME \
--git_commit COMMIT_ID
یک rollout با فعال‌سازی دستی ایجاد می‌کند.
در صورت تمایل، آخرین کامیت به یک شاخه یا یک کامیت خاص را مشخص کنید. اگر هیچ گزینه‌ای ارائه نشود، از لیست شاخه‌ها انتخاب را درخواست می‌کند.
apphosting:secrets:set KEY --project PROJECT_ID \
--منطقه REGION \
--فایل داده DATA_FILE_PATH
مطالب محرمانه را در Secret Manager ذخیره می‌کند.
به صورت اختیاری، مسیر فایلی را که قرار است داده‌های مخفی از آن خوانده شوند، مشخص کنید. برای خواندن داده‌های مخفی از ورودی استاندارد، آن را روی _ تنظیم کنید.
apphosting:secrets:grantaccess KEY BACKEND_ID \
PROJECT_ID \
--منطقه REGION
به حساب کاربری سرویس backend دسترسی به رمز ارائه شده را اعطا می‌کند تا App Hosting بتواند در زمان ساخت یا اجرا به آن دسترسی داشته باشد.
apphosting:secrets:describe KEY \
PROJECT_ID پروژه
فراداده‌های مربوط به یک راز و نسخه‌های آن را دریافت می‌کند.
فایربیس apphosting:secrets:access \
KEY[@version] \
PROJECT_ID پروژه
با دریافت رمز و نسخه آن، به یک مقدار مخفی دسترسی پیدا می‌کند. پیش‌فرض، دسترسی به آخرین نسخه است.

دستورات Authentication (مدیریت کاربر)

فرمان توضیحات
مجوز: صادرات حساب‌های کاربری فعال پروژه را به یک فایل JSON یا CSV صادر می‌کند. برای جزئیات بیشتر، به صفحه auth:import و auth:export مراجعه کنید.
مجوز: وارد کردن حساب‌های کاربری را از یک فایل JSON یا CSV به پروژه فعال وارد می‌کند. برای جزئیات بیشتر، به صفحه auth:import و auth:export مراجعه کنید.

دستورات Cloud Firestore

فرمان توضیحات
فروشگاه آتش‌نشانی: مکان‌ها

مکان‌های موجود برای پایگاه داده Cloud Firestore خود را فهرست کنید.

firestore:databases:ایجاد DATABASE_ID

یک نمونه پایگاه داده در حالت بومی در پروژه Firebase خود ایجاد کنید.

این دستور پرچم‌های زیر را دریافت می‌کند:

  • --location <region name> برای مشخص کردن محل استقرار پایگاه داده. توجه داشته باشید که می‌توانید firebase firestore:locations را برای فهرست کردن مکان‌های موجود اجرا کنید. الزامی است .
  • --delete-protection <deleteProtectionState> برای اجازه دادن یا جلوگیری از حذف پایگاه داده مشخص شده. مقادیر معتبر عبارتند از ENABLED یا DISABLED . مقدار پیش‌فرض DISABLED است.
  • --point-in-time-recovery <PITRState> برای تنظیم فعال بودن بازیابی در نقطه زمانی. مقادیر معتبر ENABLED یا DISABLED هستند. پیش‌فرض DISABLED است. اختیاری.
فایراستور:پایگاه‌های داده:لیست

پایگاه‌های داده را در پروژه Firebase خود فهرست کنید.

firestore:databases:دریافت DATABASE_ID

پیکربندی پایگاه داده را برای یک پایگاه داده مشخص شده در پروژه Firebase خود دریافت کنید.

firestore:databases:به‌روزرسانی DATABASE_ID

پیکربندی پایگاه داده یک پایگاه داده مشخص شده در پروژه Firebase خود را به‌روزرسانی کنید.

حداقل یک پرچم مورد نیاز است. این دستور پرچم‌های زیر را دریافت می‌کند:

  • --delete-protection <deleteProtectionState> برای اجازه دادن یا جلوگیری از حذف پایگاه داده مشخص شده. مقادیر معتبر عبارتند از ENABLED یا DISABLED . مقدار پیش‌فرض DISABLED است.
  • --point-in-time-recovery <PITRState> برای تنظیم فعال بودن بازیابی در نقطه زمانی. مقادیر معتبر ENABLED یا DISABLED هستند. پیش‌فرض DISABLED است. اختیاری.
firestore:databases:حذف DATABASE_ID

یک پایگاه داده را در پروژه Firebase خود حذف کنید.

فایراستور: ایندکس‌ها

فهرست کردن اندیس‌های یک پایگاه داده در پروژه Firebase شما.

این دستور، پرچم زیر را می‌گیرد:

  • --database DATABASE_ID برای مشخص کردن نام پایگاه داده‌ای که قرار است ایندکس‌ها در آن فهرست شوند. در صورت عدم ارائه، ایندکس‌ها برای پایگاه داده پیش‌فرض فهرست می‌شوند.
فروشگاه آتش: حذف

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

توجه داشته باشید که حذف داده‌های Cloud Firestore با رابط خط فرمان (CLI) هزینه‌های خواندن و حذف را به همراه دارد. برای اطلاعات بیشتر، به درک صورتحساب Cloud Firestore مراجعه کنید.

این دستور، پرچم زیر را می‌گیرد:

  • --database DATABASE_ID برای مشخص کردن نام پایگاه داده‌ای که اسناد از آن حذف می‌شوند. در صورت عدم تعیین، اسناد از پایگاه داده پیش‌فرض حذف می‌شوند. اختیاری.

Cloud Functions for Firebase

فرمان توضیحات
توابع: پیکربندی: کلون Clones another project's environment into the active Firebase project.
functions:config:get Retrieves existing configuration values of the active project's Cloud Functions .
functions:config:set Stores runtime configuration values of the active project's Cloud Functions .
functions:config:unset Removes values from the active project's runtime configuration.
functions:log Reads logs from deployed Cloud Functions .

For more information, refer to the environment configuration documentation .

Crashlytics commands

فرمان توضیحات
crashlytics:mappingfile:generateid \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML
Generates a unique mapping file ID in the specified Android resource (XML) file.
crashlytics:mappingfile:upload \
--app= FIREBASE_APP_ID \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
Uploads a Proguard-compatible mapping (TXT) file for this app, and associates it with the mapping file ID declared in the specified Android resource (XML) file.
crashlytics:symbols:upload \
--app= FIREBASE_APP_ID \
PATH/TO/SYMBOLS
Generates a Crashlytics -compatible symbol file for native library crashes on Android and uploads it to Firebase servers.

Data Connect commands

These commands and their use cases are covered in more detail in the Data Connect CLI reference guide .

فرمان توضیحات
اتصال داده: خدمات: لیست Lists all deployed Data Connect services in your Firebase project.
dataconnect:sql:diff \
SERVICE_ID
For the specified service, displays the differences between a local Data Connect schema and your Cloud SQL database schema.
dataconnect:sql:migrate \
--force \
SERVICE_ID
Migrates your Cloud SQL database's schema to match your local Data Connect schema.
dataconnect:sql:grant\
--role= ROLE \
--email= EMAIL \
SERVICE_ID
Grants the SQL role to the specified user or service account email.
For the --role flag, the SQL role to grant is one of: owner , writer , or reader .
For the --email flag, provide the email address of the user or service account to grant the role to.
اتصال داده: sdk: تولید Generates typed SDKs for your Data Connect connectors.

Extensions commands

فرمان توضیحات
خارجی Displays information on how to use Firebase Extensions commands.
Lists the extension instances installed in the active project.
ext:configure \
EXTENSION_INSTANCE_ID
Reconfigures the parameter values of an extension instance in your extension manifest .
ext:info \
PUBLISHER_ID/EXTENSION_ID
Prints detailed information about an extension.
ext:install \
PUBLISHER_ID/EXTENSION_ID
Adds a new instance of an extension into your extension manifest .
ext:list Lists all the extension instances installed in a Firebase project.
Prints the instance ID for each extension.
ext:uninstall \
EXTENSION_INSTANCE_ID
Removes an extension instance from your extension manifest .
ext:update \
EXTENSION_INSTANCE_ID
Updates an extension instance to the latest version in your extension manifest .
ext:export Exports all installed extension instances from your project to your extension manifest .

Extensions publisher commands

فرمان توضیحات
ext:dev:init Initializes a skeleton codebase for a new extension in the current directory.
ext:dev:list \
PUBLISHER_ID
Prints a list of all extensions uploaded by a publisher.
ext:dev:register Registers a Firebase project as an extensions publisher project .
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Deprecates extension versions that match the version predicate.
A version predicate can be a single version (such as 1.0.0 ), or a range of versions (such as >1.0.0 ).
If no version predicate is provided, deprecates all versions of that extension.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Undeprecates extension versions that match the version predicate.
A version predicate can be a single version (such as 1.0.0 ), or a range of versions (such as >1.0.0 ).
If no version predicate is provided, undeprecates all versions of that extension.
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
Uploads a new version of an extension.
ext:dev:usage \
PUBLISHER_ID
Displays install counts and usage metrics for extensions uploaded by a publisher.

Hosting commands

فرمان توضیحات
hosting:disable

Stops serving Firebase Hosting traffic for the active Firebase project.

Your project's Hosting URL will display a "Site Not Found" message after running this command.

Management of Hosting sites
firebase hosting:sites:create \
SITE_ID

Creates a new Hosting site in the active Firebase project using the specified SITE_ID

(Optional) Specify an existing Firebase Web App to associate with the new site by passing the following flag: --app FIREBASE_APP_ID

firebase hosting:sites:delete \
SITE_ID

Deletes the specified Hosting site

The CLI displays a confirmation prompt before deleting the site.

(Optional) Skip the confirmation prompt by passing the following flags: -f or --force

firebase hosting:sites:get \
SITE_ID

Retrieves information about the specified Hosting site

firebase hosting:sites:list

Lists all Hosting sites for the active Firebase project

Management of preview channels
firebase hosting:channel:create \
CHANNEL_ID

Creates a new preview channel in the default Hosting site using the specified CHANNEL_ID

This command does not deploy to the channel.

firebase hosting:channel:delete \
CHANNEL_ID

Deletes the specified preview channel

You cannot delete a site's live channel.

firebase hosting:channel:deploy \
CHANNEL_ID

Deploys your Hosting content and config to the specified preview channel

If the preview channel does not yet exist, this command creates the channel in the default Hosting site before deploying to the channel.

firebase hosting:channel:list Lists all channels (including the "live" channel) in the default Hosting site
firebase hosting:channel:open \
CHANNEL_ID
Opens a browser to the specified channel's URL or returns the URL if opening in a browser isn't possible
Version cloning
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Clones the most recently deployed version on the specified "source" channel to the specified "target" channel

This command also deploys to the specified "target" channel. If the "target" channel does not yet exist, this command creates a new preview channel in the "target" Hosting site before deploying to the channel.

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

Clones the specified version to the specified "target" channel

This command also deploys to the specified "target" channel. If the "target" channel does not yet exist, this command creates a new preview channel in the "target" Hosting site before deploying to the channel.

You can find the VERSION_ID in the Hosting dashboard of the Firebase console.

Realtime Database commands

Note that you can create your initial, default Realtime Database instance in the Firebase console or by using the general firebase init workflow or the specific firebase init database flow.

Once instances are created, you can manage them as discussed in Manage multiple Realtime Database instances .

فرمان توضیحات
database:get Fetches data from the active project's database and displays it as JSON. Supports querying on indexed data.
database:instances:create Creates a database instance with a specified instance name. Accepts the --location option for creating a database in a specified region. For region names to use with this option, see select locations for your project . If no database instance exists for the current project, you are prompted to run the firebase init flow to create an instance.
database:instances:list List all database instances for this project. Accepts the --location option for listing databases in a specified region. For region names to use with this option see select locations for your project .
database:profile Builds a profile of operations on the active project's database. For more details, refer to Realtime Database operation types .
database:push Pushes new data to a list at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument.
database:remove Deletes all data at a specified location in the active project's database.
database:set Replaces all data at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument.
database:update Performs a partial update at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument.

Remote Config commands

فرمان توضیحات
remoteconfig:versions:list \
--limit NUMBER_OF_VERSIONS
Lists the most recent ten versions of the template. Specify 0 to return all existing versions, or optionally pass the --limit option to limit the number of versions being returned.
remoteconfig:get \
--v, version_number VERSION_NUMBER
--o, output FILENAME
Gets the template by version (defaults to the latest version) and outputs the parameter groups, parameters, and condition names and version into a table. Optionally, you can write the output to a specified file with -o, FILENAME .
remoteconfig:rollback \
--v, version_number VERSION_NUMBER
--force
Rolls back Remote Config template to a specified previous version number or defaults to the immediate previous version (current version -1). Unless --force is passed, prompts Y/N before proceeding to rollback.
remoteconfig:experiments:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
Lists all Remote Config experiments for a project, with optional filtering, number of experiments to return per page (defaults to 10), and page token as the starting offset for the list.
remoteconfig:experiments:get \
EXPERIMENT_ID
Gets the details of the specified Remote Config experiment.
remoteconfig:experiments:delete \
EXPERIMENT_ID
Deletes the specified Remote Config experiment.
remoteconfig:rollouts:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
Lists all Remote Config rollouts for a project, with optional filtering, number of rollouts to return per page (defaults to 10), and page token as the starting offset for the list.
remoteconfig:rollouts:get \
ROLLOUT_ID
Gets the details of the specified Remote Config rollout.
remoteconfig:rollouts:delete \
ROLLOUT_ID
Deletes the specified Remote Config rollout.