مرجع Firebase CLI

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

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

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

نصب کردن Firebase CLI

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

Windows macOS Linux

Windows

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

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

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

دودویی مستقل

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

  1. فایل اجرایی Firebase CLI را برای Windows بارگیری کنید.

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

  3. برای ورود به سیستم و آزمایش کردن «میانای خط فرمان» ادامه دهید.

npm

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

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

  2. با اجرای فرمان زیر، Firebase CLI را ازطریق npm نصب کنید:

    npm install -g firebase-tools

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

  3. برای ورود به سیستم و آزمایش کردن «میانای خط فرمان» ادامه دهید.

macOS یا Linux

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

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

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

دستورگان نصب خودکار

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

  1. فرمان cURL زیر را اجرا کنید:

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

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

  2. برای ورود به سیستم و آزمایش کردن «میانای خط فرمان» ادامه دهید.

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

دودویی مستقل

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

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

  2. (اختیاری) فرمان firebase دردسترس جهانی را راه‌اندازی کنید.

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

npm

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

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

  2. با اجرای فرمان زیر، Firebase CLI را ازطریق npm نصب کنید:

    npm install -g firebase-tools

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

  3. برای ورود به سیستم و آزمایش کردن «میانای خط فرمان» ادامه دهید.

به سیستم وارد شوید و Firebase CLI را آزمایش کنید

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

  1. با اجرای فرمان زیر، بااستفاده از حساب Google خود به سیستم Firebase وارد شوید:

    firebase login

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

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

    firebase projects:list

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

به‌روزرسانی به جدیدترین نسخه CLI

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

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

پنجره

‫macOS

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

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

  • npm: اجرای npm install -g firebase-tools

Linux

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

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

  • npm: اجرای npm install -g firebase-tools

حذف نصب کردن Firebase CLI

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

پنجره

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

‫macOS

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

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

  • npm: اجرای npm uninstall -g firebase-tools

Linux

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

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

  • npm: اجرای npm uninstall -g firebase-tools

استفاده از CLI با سیستم‌های CI

توصیه می‌کنیم هنگام استفاده از «خط فرمان» با سیستم‌های CI، بااستفاده از «اعتبارنامه‌های پیش‌فرض برنامه» اصالت‌سنجی کنید.

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

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

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

یا می‌توانید بااستفاده از FIREBASE_TOKEN اصالت‌سنجی کنید. این روش نسبت به «اطلاعات اعتباری پیش‌فرض برنامه» امنیت کمتری دارد و دیگر توصیه نمی‌شود.

  1. در دستگاهی با مرورگر، «واسط خط فرمان Firebase» را نصب کنید.

  2. فرایند ورود به سیستم را با اجرای فرمان زیر شروع کنید:

    firebase login:ci
  3. به نشانی وب ارائه‌شده بروید، سپس بااستفاده از حساب Google به سیستم وارد شوید.

  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 CLI از شما می‌خواهد تکالیف زیر را تکمیل کنید:

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

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

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

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

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

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

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

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

فایل firebase.json

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

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

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

فایل firebase.json زیر نمونه جامعی است که گزینه‌های پیکربندی بسیاری از سرویس‌های Firebase را نشان می‌دهد. این راهنما همچنین ویژگی‌هایی مثل پایه‌های کد چندگانه Cloud Functions، راه‌اندازی Local Emulator Suite، و الگوی Remote Config را نشان می‌دهد. توجه داشته باشید که فایل firebase.json برای هر پروژه معینی فقط حاوی پیکربندی‌های سرویس‌های Firebase است که برای آن پروژه خاص راه‌اندازی شده است (برای مثال، فقط Firebase Hosting و Cloud Functions). افزودن کلید $schema امکان اعتبارسنجی و تکمیل خودکار را در بسیاری از ویرایشگرهای کد فراهم می‌کند.

    {
      "$schema": "https://raw.githubusercontent.com/firebase/firebase-tools/master/schema/firebase-config.json",
      "hosting": {
        "public": "public",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ],
        "cleanUrls": true,
        "trailingSlash": false
      },
      "apphosting": {
        "backendId": "my-app",
        "rootDir": "backend",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ]
      },
      "firestore": {
        "rules": "firestore.rules",
        "indexes": "firestore.indexes.json"
      },
      "storage": {
        "rules": "storage.rules"
      },
      "database": {
        "rules": "database.rules.json"
      },
      "dataconnect": {
        "source": "dataconnect",
        "location": "us-central1"
      },
      "functions": [
        {
          "source": "functions",
          "codebase": "default",
          "ignore": [
            "**/.*",
            "**/node_modules/**"
          ],
          "predeploy": [
            "npm --prefix \"$RESOURCE_DIR\" run lint",
            "npm --prefix \"$RESOURCE_DIR\" run build"
          ]
        }
      ],
      "emulators": {
        "auth": {
          "port": 9099
        },
        "functions": {
          "port": 5001
        },
        "firestore": {
          "port": 8080
        },
        "hosting": {
          "port": 5000
        },
        "storage": {
          "port": 9199
        },
        "ui": {
          "enabled": true,
          "port": 4000
        },
        "singleProjectMode": true
      },
      "extensions": {
        "my-storage-resizer": "firebase/storage-resize-images@^0.1.0"
      },
      "auth": {
        "providers": {
          "anonymous": true,
          "emailPassword": true,
          "googleSignIn": {
            "oAuthBrandDisplayName": "My App",
            "supportEmail": "support@myapp.com"
          }
        }
      },
      "remoteconfig": {
        "template": "remoteconfig.template.json"
      }
    }

درحالی‌که به‌طور پیش‌فرض از 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 فایل برای نادیده گرفتن در استقرار

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

فهرست فایل‌هایی که به‌طور پیش‌فرض نادیده گرفته می‌شوند، که در قالب 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 دیگری را انتخاب کنید و پروژه را به‌عنوان نام مستعار اختصاص دهید. تخصیص‌های نام مستعار در فایل .firebaserc در دایرکتوری پروژه شما نوشته می‌شود.

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

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

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

پیش‌از اجرای دستورات دیگر «خط فرمان»، 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 خود را در نشانی‌های وب میزبانی محلی قبل‌از استقرار در محیط تولید مشاهده و آزمایش کنید. اگر فقط می‌خواهید ویژگی‌های انتخابی را آزمایش کنید، می‌توانید از فهرست جداشده با کاما در پرچم فرمان firebase serve استفاده کنید.

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

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

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

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

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

    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 استقرار کد و دارایی‌ها را در پروژه Firebase شما مدیریت می‌کند، ازجمله:

  • نسخه‌های جدید Firebase Hosting سایت شما
  • ‫Cloud Functions for Firebase جدید، به‌روزشده، یا موجود
  • طرحواره‌ها و اتصال‌دهنده‌های جدید یا به‌روزشده برای Firebase SQL Connect
  • Security Rules برای Firebase Realtime Database
  • Security Rules برای Cloud Storage for Firebase
  • Security Rules برای Cloud Firestore
  • شاخص‌های Cloud Firestore
  • پیکربندی Authentication

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

firebase deploy

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

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

وقتی از فرمان firebase deploy استفاده می‌کنید، به موارد زیر توجه داشته باشید:

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

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

استقرار خدمات ویژه Firebase

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

firebase deploy --only hosting,storage

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

نحو پرچم سرویس یا ویژگی مستقر شد
--only auth پیکربندی ارائه‌دهنده Authentication
--only database Firebase Realtime Database Security Rules
--only dataconnect ‫Firebase SQL Connect طرحواره و رابط
--only firestore Cloud Firestore Security Rules و نمایه‌گذاری برای همه پایگاه‌های داده پیکربندی‌شده
--only functions Cloud Functions for Firebase
--only hosting محتوای Firebase Hosting
--only storage Cloud Storage for Firebase Security Rules

تداخل‌های استقرار برای Security Rules

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

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

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

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

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

برای مثال، دستورگان زیر عبارت firebase.json برای تکلیف پس‌از استقرار است که پس‌از استقرار موفقیت‌آمیز در 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 موجب راه‌اندازی همه تکالیف پیش‌از استقرار و پس‌از استقرار تعریف‌شده در فایل firebase.json شما می‌شود. برای اجرای فقط آن وظایفی که با سرویس Firebase خاصی مرتبط هستند، از فرمان‌های استقرار جزئی استفاده کنید.

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

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

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

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

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

سهمیه‌های استقرار

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

برگرداندن استقرار

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

بازگرداندن نسخه‌های پخش Security Rules برای Firebase Realtime Database، Cloud Storage for Firebase، یا Cloud Firestore امکان‌پذیر نیست.

مرجع فرمان

فرمان‌های سرپرستی خط فرمان

فرمان شرح
راهنما اطلاعات راهنمایی درباره «خط فرمان» یا فرمان‌های خاص را نمایش می‌دهد.
init پروژه Firebase جدیدی را در دایرکتوری کنونی مرتبط و راه‌اندازی می‌کند. این فرمان فایل پیکربندی را در firebase.json پوشه فعلی ایجاد می‌کند.
ورود به سیستم خط فرمان را با «حساب Google» شما اصالت‌سنجی می‌کند. به دسترسی به مرورگر وب نیاز دارد.
برای ورود به سیستم «خط فرمان» در محیط‌های دور که اجازه دسترسی به localhost را نمی‌دهند، از پرچم --no-localhost استفاده کنید.
login:ci نمودار اصالت‌سنجی برای استفاده در محیط‌های غیرتعاملی تولید می‌کند.
login:add به سیستم «حساب Google» دیگری وارد می‌شود.
login:list همه «حساب‌های Google» اصالت‌سنجی‌شده را فهرست می‌کند.
login:use «حساب Google» فعال را تنظیم می‌کند.
خروج از سیستم «حساب Google» شما در «خط فرمان» خارج می‌شود.
باز مرورگری را برای منابع پروژه مربوطه باز می‌کند.
projects:list همه پروژه‌های Firebase را که به آن‌ها دسترسی دارید فهرست می‌کند.
استفاده پروژه Firebase فعال را برای CLI تنظیم می‌کند.
نام‌های مستعار پروژه را مدیریت می‌کند.

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

فرمان شرح
مدیریت پروژه‌های Firebase
projects:addfirebase منابع Firebase را اضافه می‌کند و خدمات Firebase را در یک پروژه موجود Google Cloud فعال می‌کند.
projects:create پروژه Google Cloud جدیدی ایجاد می‌کند، سپس منابع Firebase را به پروژه جدید اضافه می‌کند.
projects:list همه پروژه‌های Firebase را که به آن‌ها دسترسی دارید فهرست می‌کند.
مدیریت برنامه‌های Firebase (‏iOS،‏ Android،‏ Web)
apps:create «برنامه Firebase» جدیدی در پروژه فعال ایجاد می‌کند.
apps:list «برنامه‌های Firebase» ثبت‌شده را در پروژه فعال فهرست می‌کند.
apps:sdkconfig پیکربندی Firebase یک برنامه Firebase را چاپ می‌کند.
setup:web منسوخ. به‌جای آن، از apps:sdkconfig استفاده کنید و web را به‌عنوان آرگومان پلاتفرم مشخص کنید.
پیکربندی Firebase «برنامه وب Firebase» را چاپ می‌کند.
مدیریت درهم‌سازی گواهینامه SHA (فقط Android)
apps:android:sha:create \
FIREBASE_APP_ID SHA_HASH
درهم‌سازی گواهینامه SHA مشخص‌شده را به برنامه Android Firebase مشخص‌شده اضافه می‌کند.
apps:android:sha:delete \
FIREBASE_APP_ID SHA_HASH
درهم‌سازی گواهینامه SHA مشخص‌شده را از برنامه Android Firebase مشخص‌شده حذف می‌کند.
apps:android:sha:list \
FIREBASE_APP_ID
فهرست درهم‌سازی‌های گواهینامه SHA را برای «برنامه Android Firebase» مشخص‌شده ارائه می‌دهد.

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

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

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

‫App Distribution فرمان

فرمان شرح
appdistribution:distribute \
--app FIREBASE_APP_ID
ساخت را برای آزمایش‌گران دردسترس قرار می‌دهد.
appdistribution:testers:add آزمایش‌گرها را به پروژه اضافه می‌کند.
appdistribution:testers:remove آزمونگران را از پروژه برمی‌دارد.
appdistribution:testers:list آزمونگران را در پروژه فهرست می‌کند.
appdistribution:groups:create گروه آزمایش‌گر ایجاد می‌کند.
appdistribution:groups:delete گروه آزمایش‌گر را حذف می‌کند.
appdistribution:groups:list گروه‌های آزمایش‌گر را در پروژه فهرست می‌کند.

‫App Hosting فرمان

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

‫Authentication فرمان (مدیریت کاربر)

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

‫Cloud Firestore فرمان

فرمان شرح
firestore:locations

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

firestore:databases:create DATABASE_ID

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

این فرمان پرچم‌های زیر را می‌گیرد:

  • --location <region name> برای مشخص کردن مکان استقرار پایگاه داده. توجه داشته باشید که می‌توانید firebase firestore:locations را اجرا کنید تا مکان‌های دردسترس را فهرست کنید. الزامی.
  • --delete-protection <deleteProtectionState> برای مجاز کردن یا جلوگیری از حذف پایگاه داده مشخص‌شده. مقادیر معتبر عبارت‌اند از ENABLED یا DISABLED. به‌طور پیش‌فرض DISABLED است.
  • --point-in-time-recovery <PITRState> برای تنظیم اینکه آیا بازیابی در زمان معین فعال است یا نه. مقادیر معتبر عبارت‌اند از ENABLED یا DISABLED. به‌طور پیش‌فرض DISABLED است. اختیاری.
  • برای مشخص کردن سطح پایگاه داده، از --edition <edition> استفاده کنید. برای ویژگی‌های «سازمانی»، روی enterprise تنظیم کنید.
  • --firestore-data-access <ENABLED|DISABLED> (فقط سازمانی) برای کنترل دردسترس بودن «میانای برنامه‌سازی کاربردی Firestore». به‌طور پیش‌فرض ENABLED است.
  • --mongodb-compatible-data-access <ENABLED|DISABLED> (فقط سازمانی) برای کنترل دردسترس بودن API سازگار با MongoDB. پیش‌فرض DISABLED است.
  • --realtime-updates <ENABLED|DISABLED> (فقط سازمانی) برای فعال یا غیرفعال کردن ویژگی «تماشا» (هم‌زمان). برای اینکه --firestore-data-access ENABLED باشد لازم است. پیش‌فرض ENABLED است.
firestore:databases:list

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

firestore:databases:get DATABASE_ID

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

برای پایگاه‌های داده سازمانی، برونداد شامل Edition، Firestore Data Access، MongoDB Compatible Data Access، و وضعیت Realtime Updates است.

firestore:databases:update DATABASE_ID

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

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

  • --delete-protection <deleteProtectionState> برای مجاز کردن یا جلوگیری از حذف پایگاه داده مشخص‌شده. مقادیر معتبر عبارت‌اند از ENABLED یا DISABLED. به‌طور پیش‌فرض DISABLED است.
  • --point-in-time-recovery <PITRState> برای تنظیم اینکه آیا بازیابی در زمان معین فعال است یا نه. مقادیر معتبر عبارت‌اند از ENABLED یا DISABLED. به‌طور پیش‌فرض DISABLED است. اختیاری.
  • --firestore-data-access <ENABLED|DISABLED> (فقط سازمانی) برای کنترل دردسترس بودن «میانای برنامه‌سازی کاربردی Firestore».
  • --mongodb-compatible-data-access <ENABLED|DISABLED> (فقط سازمانی) برای کنترل دردسترس بودن API سازگار با MongoDB.
  • --realtime-updates <ENABLED|DISABLED> (فقط سازمانی) برای فعال یا غیرفعال کردن ویژگی «تماشا» (هم‌زمان). برای --firestore-data-access، باید ENABLED باشد.
firestore:databases:delete DATABASE_ID

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

firestore:indexes

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

این فرمان پرچم زیر را می‌گیرد:

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

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

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

این فرمان پرچم زیر را می‌گیرد:

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

‫Cloud Functions for Firebase فرمان

فرمان شرح
functions:config:clone منسوخ شده است.
محیط پروژه دیگری را در پروژه Firebase فعال شبیه‌سازی می‌کند.
functions:config:export پیکربندی زمان اجرای پروژه فعال را به Google Cloud صادر می‌کند Secret Manager.
functions:config:get منسوخ شده است.
مقادیر پیکربندی موجود Cloud Functions پروژه فعال را بازیابی می‌کند.
functions:config:set منسوخ شده است.
مقادیر پیکربندی زمان اجرای پروژه فعال Cloud Functions را ذخیره می‌کند.
functions:config:unset منسوخ شده است.
مقادیر را از پیکربندی زمان اجرای پروژه فعال برمی‌دارد.
کارکردها:حذف \
FUNCTION_NAME
تابع مشخص‌شده را حذف می‌کند.
functions:list فهرست توابع مستقرشده.
functions:log گزارش‌های Cloud Functions مستقر را می‌خواند.
توابع:اسرار:دسترسی \
SECRET_NAME
بااستفاده از رمز و نسخه آن، به مقدار رمز دسترسی پیدا می‌کند.
توابع:اسرار:ازبین بردن \
SECRET_NAME
رمزی را ازبین می‌برد.
functions:secrets:get \
SECRET_NAME
فراداده‌های یک راز و نسخه‌های آن را دریافت می‌کند.
functions:secrets:prune رمزهای بلااستفاده را ازبین می‌برد.
توابع:اسرار:تنظیم \
SECRET_NAME
رمز را ایجاد یا به‌روز می‌کند.
functions:shell پوسته تعاملی محلی را برای آزمایش کارکردها شروع می‌کند.

برای کسب اطلاعات بیشتر، به مستندات پیکربندی محیط مراجعه کنید.

‫Crashlytics فرمان

فرمان شرح
crashlytics:mappingfile:generateid \
--resource-file=PATH/TO/ANDROID_RESOURCE.XML
شناسه فایل تخصیص منحصربه‌فردی در فایل منبع Android مشخص‌شده (XML) تولید می‌کند.
crashlytics:mappingfile:upload \
--app=FIREBASE_APP_ID \
--resource-file=PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
فایل نگاشت سازگار با Proguard (‏TXT) را برای این برنامه بارگذاری می‌کند، و آن را با شناسه فایل نگاشت اعلام‌شده در فایل منبع Android (‏XML) مشخص‌شده مرتبط می‌کند.
crashlytics:symbols:upload \
--app=FIREBASE_APP_ID \
PATH/TO/SYMBOLS
یک فایل نماد سازگار با Crashlytics برای خرابی‌های کتابخانه بومی در Android تولید می‌کند و آن را در سرورهای Firebase بارگذاری می‌کند.

‫SQL Connect فرمان

این فرمان‌ها و موارد استفاده آن‌ها در SQL Connect راهنمای مرجع CLI با جزئیات بیشتری پوشش داده شده است.

فرمان شرح
dataconnect:services:list همه سرویس‌های SQL Connect مستقرشده در پروژه Firebase شما را فهرست می‌کند.
dataconnect:sql:diff \
SERVICE_ID
برای سرویس مشخص‌شده، تفاوت‌های بین طرحواره محلی SQL Connect و طرحواره پایگاه داده Cloud SQL شما را نمایش می‌دهد.
dataconnect:sql:migrate \
--force \
SERVICE_ID
طرحواره پایگاه داده Cloud SQL شما را انتقال می‌دهد تا با طرحواره محلی SQL Connect مطابقت داشته باشد.
dataconnect:sql:grant\
--role=ROLE \
--email=EMAIL \
SERVICE_ID
نقش SQL را به کاربر مشخص‌شده یا ایمیل حساب سرویس اعطا می‌کند.
برای پرچم --role، نقش SQL برای اعطا کردن یکی از این موارد است: owner،‏ writer، یا reader.
برای پرچم --email، نشانی ایمیل کاربر یا حساب سرویس را برای اعطای نقش ارائه دهید.
dataconnect:sdk:generate کیت‌های توسعه نرم‌افزار تایپ‌شده‌ای برای SQL Connect اتصال‌دهنده شما تولید می‌کند.

‫Extensions فرمان

فرمان شرح
ext اطلاعاتی درباره نحوه استفاده از فرمان‌های Firebase Extensions نمایش می‌دهد.
فهرست نمونه‌های افزونه نصب‌شده در پروژه فعال را نشان می‌دهد.
ext:configure \
EXTENSION_INSTANCE_ID
مقادیر پارامتر نمونه افزونه را در مانیفست افزونه شما پیکربندی مجدد می‌کند.
ext:info \
PUBLISHER_ID/EXTENSION_ID
اطلاعات مفصلی درباره افزونه‌ای چاپ می‌کند.
ext:install \
PUBLISHER_ID/EXTENSION_ID
نمونه جدیدی از افزونه را به مانیفست افزونه اضافه می‌کند.
ext:sdk:install «کیت توسعه نرم‌افزار» را برای تعریف افزونه‌ها در توابع نصب می‌کند.
ext:list همه نمونه‌های افزونه نصب‌شده در پروژه Firebase را فهرست می‌کند.
شناسه نمونه را برای هر افزونه چاپ می‌کند.
ext:uninstall \
EXTENSION_INSTANCE_ID
نمونه افزونه‌ای را از مانیفست افزونه شما برمی‌دارد.
ext:update \
EXTENSION_INSTANCE_ID
نمونه افزونه را در مانیفست افزونه به جدیدترین نسخه به‌روزرسانی می‌کند.
ext:export همه نمونه‌های افزونه نصب‌شده را از پروژه شما به مانیفست افزونه شما صادر می‌کند.

‫Extensions دستور ناشر

فرمان شرح
ext:dev:init پایه کد اسکلتی را برای افزونه جدید در دایرکتوری کنونی مقداردهی اولیه می‌کند.
ext:dev:list \
PUBLISHER_ID
فهرستی از همه افزونه‌های بارگذاری‌شده توسط ناشر را چاپ می‌کند.
ext:dev:register پروژه Firebase را به‌عنوان پروژه ناشر افزونه‌ها ثبت می‌کند.
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
نسخه‌های افزونه‌ای را که با گزاره نسخه مطابقت دارند منسوخ می‌کند.
گزاره نسخه می‌تواند یک نسخه واحد (مثل 1.0.0)، یا محدوده نسخه‌ها (مثل >1.0.0) باشد.
اگر گزاره نسخه‌ای ارائه نشود، همه نسخه‌های آن افزونه منسوخ می‌شود.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
نسخه‌های افزونه‌ای را که با گزاره نسخه مطابقت دارند لغو منسوخ می‌کند.
گزاره نسخه می‌تواند یک نسخه واحد (مثل 1.0.0)، یا یک محدوده نسخه (مثل >1.0.0) باشد.
اگر گزاره نسخه‌ای ارائه نشود، همه نسخه‌های آن افزونه را لغو منسوخ می‌کند.
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
نسخه جدیدی از افزونه را بارگذاری می‌کند.
ext:dev:usage \
PUBLISHER_ID
تعداد نصب‌ها و سنجه‌های استفاده را برای افزونه‌های بارگذاری‌شده توسط ناشر نمایش می‌دهد.

‫Hosting فرمان

فرمان شرح
میزبانی:غیرفعال کردن

ارائه ترافیک Firebase Hosting را برای پروژه فعال Firebase متوقف می‌کند.

پس‌از اجرای این فرمان، Hosting نشانی وب پروژه شما پیام «سایت پیدا نشد» را نمایش خواهد داد.

مدیریت Hosting سایت
firebase hosting:sites:create \
SITE_ID

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

(اختیاری) با ارسال پرچم زیر، «برنامه وب Firebase» موجودی را برای قرینه‌سازی با سایت جدید مشخص کنید: --app FIREBASE_APP_ID

firebase hosting:sites:delete \
SITE_ID

سایت Hosting مشخص‌شده را حذف می‌کند

«خط فرمان» قبل‌از حذف سایت، پیام‌واره تأییدی نمایش می‌دهد.

(اختیاری) با گذراندن پرچم‌های زیر، از پیام‌واره تأیید رد شوید: -f یا --force

firebase hosting:sites:get \
SITE_ID

اطلاعات مربوط به سایت Hosting مشخص‌شده را بازیابی می‌کند

firebase hosting:sites:list

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

مدیریت کانال‌های پیش‌نمایش
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
مرورگری را به نشانی وب کانال مشخص‌شده باز می‌کند یا اگر باز کردن در مرورگر امکان‌پذیر نباشد، نشانی وب را برمی‌گرداند
نسخه شبیه‌سازی
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 پیدا کنید.

‫Realtime Database فرمان

توجه داشته باشید که می‌توانید نمونه Realtime Database اولیه و پیش‌فرض خود را در کنسول Firebase یا بااستفاده از گردش کار عمومی firebase init یا جریان firebase init database خاص ایجاد کنید.

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

فرمان شرح
database:get داده‌ها را از پایگاه داده پروژه فعال واکشی می‌کند و آن‌ها را به‌صورت JSON نمایش می‌دهد. از پُرسمان داده‌های نمایه‌گذاری‌شده پشتیبانی می‌کند.
database:instances:create مورد پایگاه داده‌ای با نام مورد مشخص ایجاد می‌کند. گزینه --location را برای ایجاد پایگاه داده در منطقه مشخصی می‌پذیرد. برای نام‌های منطقه‌ای که با این گزینه استفاده می‌شود، به انتخاب مکان‌ها برای پروژه مراجعه کنید. اگر نمونه پایگاه داده‌ای برای پروژه فعلی وجود نداشته باشد، از شما خواسته می‌شود جریان firebase init را برای ایجاد نمونه اجرا کنید.
database:instances:list همه نمونه‌های پایگاه داده را برای این پروژه فهرست کنید. گزینه --location را برای فهرست کردن پایگاه‌های داده در منطقه‌ای مشخص می‌پذیرد. برای دیدن نام‌های منطقه‌ای که با این گزینه استفاده می‌شود، انتخاب مکان‌ها برای پروژه را ببینید.
database:profile نمایه‌ای از عملیات در پایگاه داده پروژه فعال می‌سازد. برای جزئیات بیشتر، به انواع عملیات Realtime Database مراجعه کنید.
database:push داده‌های جدید را به فهرست در مکان مشخصی در پایگاه داده پروژه فعال فشار می‌دهد. ورودی را از فایل، STDIN، یا آرگومان خط فرمان می‌گیرد.
database:remove همه داده‌ها را در مکان مشخصی در پایگاه داده پروژه فعال حذف می‌کند.
database:set همه داده‌های مکان مشخص‌شده در پایگاه داده پروژه فعال را جایگزین می‌کند. ورودی را از فایل، STDIN، یا آرگومان خط فرمان می‌گیرد.
database:update به‌روزرسانی جزئی را در مکان مشخصی در پایگاه داده پروژه فعال انجام می‌دهد. ورودی را از فایل، STDIN، یا آرگومان خط فرمان می‌گیرد.

‫Remote Config فرمان

این فرمان‌ها و موارد استفاده آن‌ها در اصلاح Remote Config به‌صورت برنامه‌ریزی‌شده با جزئیات بیشتری پوشش داده شده است.

فرمان شرح
remoteconfig:versions:list \
--limit NUMBER_OF_VERSIONS
ده نسخه اخیر الگو را فهرست می‌کند. برای برگرداندن همه نسخه‌های موجود، 0 را مشخص کنید، یا به‌صورت اختیاری گزینه --limit را برای محدود کردن تعداد نسخه‌های برگردانده‌شده ارسال کنید.
remoteconfig:get \
--v, version_number VERSION_NUMBER
--o, output FILENAME
الگو را براساس نسخه دریافت می‌کند (به‌طور پیش‌فرض جدیدترین نسخه است) و گروه‌های پارامتر، پارامترها، و نام‌های شرط و نسخه را در جدولی برونداد می‌کند. به‌صورت اختیاری، می‌توانید برونداد را در فایل مشخص‌شده‌ای با -o, FILENAME بنویسید.
remoteconfig:rollback \
--v, version_number VERSION_NUMBER
--force
قالب Remote Config را به نسخه قبلی مشخص‌شده برمی‌گرداند یا به‌طور پیش‌فرض به نسخه قبلی بلافاصله (نسخه فعلی -۱) برمی‌گرداند. تا زمانی که --force منتقل نشده است، پیام‌واره‌ها بله/نه قبل‌از ادامه دادن به برگرداندن نمایش داده می‌شود.
remoteconfig:experiments:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
همه آزمایش‌های Remote Config را برای یک پروژه فهرست می‌کند، با فیلتر اختیاری، تعداد آزمایش‌هایی که در هر صفحه برگردانده می‌شود (پیش‌فرض ۱۰)، و نشانه صفحه به‌عنوان انحراف شروع برای فهرست.
remoteconfig:experiments:get \
EXPERIMENT_ID
جزئیات آزمایش Remote Config مشخص‌شده را دریافت می‌کند.
remoteconfig:experiments:delete \
EXPERIMENT_ID
آزمایش Remote Config مشخص‌شده را حذف می‌کند.
remoteconfig:rollouts:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
همه Remote Config عرضه محصول برای یک پروژه را با فیلتر اختیاری، تعداد عرضه محصول برای برگشت در هر صفحه (پیش‌فرض ۱۰)، و نشانه صفحه به‌عنوان انحراف شروع برای فهرست فهرست می‌کند.
remoteconfig:rollouts:get \
ROLLOUT_ID
جزئیات عرضه Remote Config مشخص‌شده را دریافت می‌کند.
remoteconfig:rollouts:delete \
ROLLOUT_ID
عرضه Remote Config مشخص‌شده را حذف می‌کند.