مرجع Firebase CLI

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

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

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

نصب Firebase CLI

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

Windows macOS Linux

Windows

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

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

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

دودویی مستقل

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

  1. Firebase CLI دودویی را برای Windows بارگیری کنید.

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

  3. برای ورود به سیستم و آزمایش CLI ادامه دهید.

npm

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

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

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

    npm install -g firebase-tools

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

  3. برای ورود به سیستم و آزمایش CLI ادامه دهید.

macOS یا Linux

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

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

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

استقرارهای خودکارسازی‌شده در محیط CI/CD
دودویی مستقل باینری مستقل را برای CLI بارگیری کنید. سپس می‌توانید باینری را پیکربندی و اجرا کنید تا با گردش کارتان مطابقت داشته باشد. گردش‌های کار کاملاً قابل‌سفارشی‌سازی بااستفاده از CLI
npm از npm (مدیر بسته Node) برای نصب میانای خط فرمان و فعال کردن فرمان 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

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

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

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

    npm install -g firebase-tools

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

  3. برای ورود به سیستم و آزمایش CLI ادامه دهید.

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

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

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

    firebase login

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

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

    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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

firebase use PROJECT_ID|ALIAS را اجرا کنید تا قبل‌از اجرای سایر فرمان‌های CLI، پروژه فعال جدیدی تنظیم کنید.

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 CLI استقرار کد و دارایی‌ها را در پروژه 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 تعریف کنید.

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

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

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

برای راه‌اندازی کردن قلاب‌های پیش‌از استقرار یا پس‌از استقرار، اسکریپت‌های bash را به فایل پیکربندی firebase.json اضافه کنید. می‌توانید اسکریپت‌های کوتاه را مستقیماً در فایل 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 وجود ندارد.

مرجع فرمان

این بخش فرمان‌های دردسترس را برای موارد استفاده و محصولات زیر شرح می‌دهد:

فرمان‌های مدیریتی CLI

Command شرح
help نمایش اطلاعات راهنمایی درباره CLI یا فرمان‌های خاص.
init مرتبط کردن و راه‌اندازی پروژه Firebase جدید در فهرست راهنمای فعلی.
این فرمان یک فایل پیکربندی firebase.json در دایرکتوری فعلی ایجاد می‌کند.
login

CLI را با «حساب Google» خود اصالت‌سنجی کنید. به دسترسی به مرورگر وب نیاز دارد.

برای ورود به سیستم CLI در محیط‌های ازراه‌دور که اجازه دسترسی به localhost را نمی‌دهند، از پرچم --no-localhost استفاده کنید.

login:ci منسوخ‌شده. درعوض، از «اطلاعات اعتباری پیش‌فرض برنامه» با حساب سرویس Google Cloud (GOOGLE_APPLICATION_CREDENTIALS) استفاده کنید.
یک توکن اصالت‌سنجی برای استفاده در محیط‌های غیرتعاملی ایجاد کنید.
login:add به سیستم «حساب Google» دیگری وارد شوید.
login:list فهرست کردن همه «حساب‌های Google» اصالت‌سنجی‌شده.
login:use \
EMAIL_ADDRESS
«حساب Google» فعال را تنظیم کنید.
logout از «حساب Google» خود در CLI خارج شوید.
open مرورگری را برای منابع پروژه مربوطه باز کنید.
projects:list همه پروژه‌های Firebase را که به آن‌ها دسترسی دارید فهرست کنید.
use

پروژه Firebase فعال را برای CLI تنظیم کنید.

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

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

Command شرح
مدیریت پروژه‌های Firebase
projects:addfirebase پیکربندی‌های مختص Firebase را اضافه کنید و سرویس‌های مختص Firebase را در پروژه Google Cloud موجود فعال کنید.
projects:create پروژه Google Cloud جدیدی ایجاد کنید، سپس پیکربندی‌های مختص Firebase را اضافه کنید و سرویس‌های مختص Firebase را در پروژه جدید فعال کنید.
projects:list همه پروژه‌های Firebase را که به آن‌ها دسترسی دارید فهرست کنید.
مدیریت برنامه‌های Firebase (iOS،‏ Android، وب)
apps:create برنامه Firebase جدیدی ایجاد کنید.
apps:list همه «برنامه‌های Firebase» ثبت‌شده در پروژه Firebase فعال را فهرست می‌کند.
apps:sdkconfig \
[PLATFORM] \
[FIREBASE_APP_ID]

پیکربندی Firebase مربوط به Firebase App مشخص‌شده را چاپ می‌کند.

  • ‫PLATFORM می‌تواند IOS، ANDROID، یا WEB باشد (به حروف بزرگ و کوچک حساس نیست). اگر حذف شود، «واسط خط فرمان» از شما می‌خواهد برنامه‌ای را از فهرست نمایش‌داده‌شده همه «برنامه‌های Firebase» در پروژه Firebase فعال انتخاب کنید. اگر پروژه Firebase فعال فقط یک «برنامه Firebase» داشته باشد، «واسط خط فرمان» به‌طور خودکار آن برنامه را انتخاب می‌کند.
  • FIREBASE_APP_ID شناسه برنامه Firebase App است (لازم است ابتدا PLATFORM مشخص شود). اگر حذف شود، CLI به‌طور خودکار برنامه را انتخاب می‌کند اگر فقط یک برنامه مطابقت داشته باشد، یا از شما می‌خواهد برنامه‌ای را انتخاب کنید اگر چند برنامه مطابقت داشته باشد.

اگر CLI در حالت غیرتعاملی اجرا می‌شود:

  • اگر پروژه Firebase فعال فقط یک «برنامه Firebase» داشته باشد، می‌توانید PLATFORM و FIREBASE_APP_ID را حذف کنید.
  • اگر پروژه Firebase فعال چند «برنامه Firebase» دارد، باید PLATFORM را مشخص کنید (و اگر پروژه بیش‌از یک «برنامه Firebase» از آن نوع پلاتفرم دارد، FIREBASE_APP_ID را نیز مشخص کنید).

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • -o یا --out [FILENAME]
    برونداد پیکربندی را به‌جای چاپ کردن در برونداد استاندارد، در فایل بنویسید. اگر FILENAME حذف شود، به‌طور پیش‌فرض به نام فایل مختص پلاتفرم (GoogleService-Info.plist برای iOS،‏ google-services.json برای Android، یا firebase-js-config.json برای وب) تبدیل می‌شود. اگر فایل هدف ازقبل وجود داشته باشد، CLI از شما می‌خواهد رونویسی را تأیید کنید (یا در حالت غیرتعاملی ناموفق می‌شود).
مدیریت درهم‌سازی‌های گواهی SHA (فقط Android)
apps:android:sha:create \
FIREBASE_ANDROID_APP_ID \
SHA_HASH
درهم‌سازی گواهی SHA مشخص‌شده را به برنامه Android Firebase مشخص‌شده اضافه کنید.
apps:android:sha:delete \
FIREBASE_ANDROID_APP_ID \
SHA_ID
گواهینامه SHA مشخص‌شده (که با SHA_ID از apps:android:sha:list شناسایی می‌شود) را از «برنامه Android» Firebase مشخص‌شده حذف کنید.
apps:android:sha:list \
FIREBASE_ANDROID_APP_ID
همه درهم‌سازی‌های گواهی SHA را برای «برنامه Android در Firebase» مشخص‌شده فهرست می‌کند.

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

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

Command شرح
deploy

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

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

درباره استقرار در پروژه Firebase بیشتر بدانید.

serve

سرور محلی را برای آزمایش پیکربندی Firebase Hosting و/یا HTTP محلی Cloud Functions (مثلاً بااستفاده از --only hosting یا --only functions) راه‌اندازی کنید.

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

درباره ارائه و آزمایش محلی بیشتر بدانید.

‫App Distribution فرمان

Command شرح
appdistribution:distribute \
RELEASE_BINARY_FILE \
--app FIREBASE_APP_ID
فایل دودویی نسخه پخش مشخص‌شده (.apk، .aab، یا .ipa) را بارگذاری کنید و آن را برای «برنامه Firebase» مشخص‌شده دردسترس آزمایش‌کنندگان قرار دهید.
appdistribution:testers:add \
[EMAILS...]

یک یا چند آزمایش‌گر (که با فاصله از هم جدا شده‌اند EMAILS) به پروژه Firebase فعال اضافه کنید. اگر EMAILS حذف شده است، باید --file FILE را رد کنید.

این فرمان فقط آزمایش‌کنندگانی را اضافه می‌کند که قبلاً در پروژه نبوده‌اند؛ آزمایش‌کنندگان موجود را حذف یا رونویسی نمی‌کند.

این فرمان از پرچم‌های اختیاری زیر پشتیبانی می‌کند:

  • --file FILE
    مسیر فایل غیرخالی جداشده با کاما یا خط جدید را که حاوی نشانی‌های ایمیل آزمایش‌کنندگان است مشخص کنید تا اضافه شود. اگر هر دو EMAILS و --file ارسال شوند، EMAILS اولویت دارد.
  • --group-alias GROUP_ALIAS
    همچنین آزمایش‌کنندگان مشخص‌شده را به گروه آزمایش‌کننده شناسایی‌شده با GROUP_ALIAS اضافه کنید.
appdistribution:testers:remove \
[EMAILS...]

آزمایش‌کنندگان (مشخص‌شده با EMAILS جداشده با فاصله) را از پروژه فعال Firebase بردارید. اگر EMAILS حذف شده باشد، باید --file FILE را ارسال کنید.

این فرمان از پرچم‌های اختیاری زیر پشتیبانی می‌کند:

  • --file FILE
    مسیر فایل جداشده با کاما یا خط جدید را که حاوی نشانی‌های ایمیل آزمایش‌کننده برای برداشتن است مشخص کنید. (اگر هر دو EMAILS و --file ارسال شوند، EMAILS اولویت دارد.)
  • --group-alias GROUP_ALIAS
    آزمونگران مشخص‌شده را فقط از گروه آزمونگر شناسایی‌شده با GROUP_ALIAS بردارید، نه اینکه آن‌ها را از پروژه Firebase فعال بردارید.
appdistribution:testers:list فهرست آزمایش‌کنندگان در پروژه Firebase فعال.
appdistribution:groups:create \
DISPLAY_NAME \
[GROUP_ALIAS]
گروه آزمایش‌کننده با DISPLAY_NAME مشخص‌شده و GROUP_ALIAS اختیاری ایجاد کنید.
اگر GROUP_ALIAS حذف شود، نام مستعار به‌طور خودکار از DISPLAY_NAME تولید می‌شود.
appdistribution:groups:delete \
GROUP_ALIAS
گروه آزمایش‌کننده را با نام مستعار مشخص‌شده حذف کنید.
appdistribution:groups:list فهرست کردن همه گروه‌های آزمایش‌گر در پروژه Firebase فعال.

‫App Hosting فرمان

Command شرح
apphosting:backends:create \
--backend BACKEND_ID \
--primary-region REGION_NAME \
--app FIREBASE_WEB_APP_ID

مجموعه منابع مدیریت‌شده‌ای را که به یک پایگاه کد واحد پیوند داده شده است ایجاد کنید که شامل یک پسای App Hosting است.

این فرمان از پرچم‌های اختیاری (اما توصیه‌شده) زیر پشتیبانی می‌کند:

  • --backend BACKEND_ID
    شناسه را برای پسای جدید App Hosting مشخص کنید. اگر در حالت تعاملی حذف شود، CLI از شما می‌خواهد شناسه پس‌زمین را وارد کنید.
  • --primary-region REGION_NAME
    منطقه اصلی را که می‌خواهید باطن App Hosting در آن ایجاد شود مشخص کنید. اگر در حالت تعاملی حذف شود، CLI از شما می‌خواهد مکانی را انتخاب کنید. با مکان‌های پشتیبانی‌شده برای App Hosting آشنا شوید.
  • -a یا --app FIREBASE_WEB_APP_ID
    شناسه برنامه «برنامه وب Firebase» موجود را مشخص کنید. اگر حذف شود، «واسط خط فرمان» به‌طور خودکار یک «برنامه وب Firebase» جدید به‌نام BACKEND_ID ایجاد و مرتبط می‌کند (مگر اینکه پروژه به سهمیه «برنامه Firebase» خود رسیده باشد).

این فرمان از پرچم‌های اختیاری زیر نیز پشتیبانی می‌کند:

  • --root-dir ROOT_DIR
    دایرکتوری ریشه برنامه‌تان را نسبت به مخزن خود مشخص کنید. اگر در حالت تعاملی حذف شود، CLI از شما می‌خواهد دایرکتوری را وارد کنید (به‌طور پیش‌فرض /).
  • -s یا --service-account SERVICE_ACCOUNT
    حساب سرویس مورداستفاده برای اجرای سرور را مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به حساب سرویس محاسباتی پیش‌فرض App Hosting تبدیل می‌شود.

اگر CLI در حالت غیرتعاملی اجرا می‌شود، هر دو --backend و --primary-region الزامی است.

apphosting:backends:get \
BACKEND_ID

جزئیات، ازجمله نشانی وب عمومی، App Hosting باطن مشخص‌شده را بازیابی کنید.

اگر چند منطقه حاوی یک پسای با BACKEND_ID مشخص‌شده باشند، CLI هشداری را ثبت می‌کند و اولین پسای منطبق را چاپ می‌کند (توجه داشته باشید که این فرمان از پرچم --location پشتیبانی نمی‌کند).

apphosting:backends:list همه باکت‌های فعال App Hosting را در پروژه فعال Firebase فهرست کنید.
apphosting:backends:delete \
BACKEND_ID

‫App Hosting مشخص‌شده را حذف کنید.

رابط خط فرمان قبل‌از انجام اقدام، پیام‌واره تأییدی را نمایش می‌دهد. برای رد شدن از پیام‌واره تأیید (در حالت غیرتعاملی الزامی است)، پرچم‌های زیر را ارسال کنید: -f یا --force.

اگر چند منطقه حاوی یک پسای با BACKEND_ID مشخص‌شده باشند، CLI در حالت تعاملی از شما می‌خواهد انتخاب کنید کدام پسای(ها) حذف شود، و اگر -f یا --force ارسال شود، ناموفق خواهد بود (توجه داشته باشید که این فرمان از پرچم --location پشتیبانی نمی‌کند).

apphosting:rollouts:create \
BACKEND_ID

عرضه گام‌به‌گام راه‌اندازی‌شده به‌صورت دستی برای App Hosting باطن مشخص‌شده ایجاد کنید.

این فرمان از پرچم‌های اختیاری و متقابلاً انحصاری زیر پشتیبانی می‌کند. اگر هیچ‌کدام ارائه نشود، CLI از شما می‌خواهد از فهرست شاخه‌ها انتخاب کنید؛ در حالت غیرتعاملی، ارائه یکی از این پرچم‌ها الزامی است.

  • -b یا --git-branch BRANCH_NAME
    جدیدترین تغییرات ثبت‌شده را در شاخه Git مشخص‌شده مستقر کنید.
  • -g یا --git-commit COMMIT_ID
    استقرار Git commit مشخص‌شده.

اگر چندین منطقه حاوی پس‌زمینه‌ای با BACKEND_ID مشخص‌شده باشند، این فرمان هم در حالت تعاملی و هم در حالت غیرتعاملی ناموفق می‌شود (توجه داشته باشید که این فرمان از پرچم --location پشتیبانی نمی‌کند).

apphosting:secrets:set \
SECRET_NAME \
--data-file DATA_FILE_PATH

ایجاد یا به‌روزرسانی رمز در Google Cloud Secret Manager با SECRET_NAME مشخص‌شده.

این فرمان از پرچم اختیاری (اما توصیه‌شده) زیر پشتیبانی می‌کند:

  • --data-file DATA_FILE_PATH
    مسیری را برای خواندن داده‌های محرمانه مشخص کنید، یا آن را روی - تنظیم کنید تا داده‌های محرمانه از ورودی استاندارد خوانده شود. اگر حذف شود، CLI از شما می‌خواهد مقدار مخفی را وارد کنید (با ورودی ماسک‌شده)، یا اگر ورودی استاندارد لوله‌کشی شده باشد، از ورودی استاندارد می‌خواند.

این فرمان از پرچم اختیاری زیر نیز پشتیبانی می‌کند:

  • -l یا --location REGION_NAME
    هنگام ایجاد کردن رمز جدید، تکرار آن را به منطقه Google Cloud Secret Manager مشخص‌شده محدود کنید. اگر حذف شود، Google Cloud Secret Manager از تکرار سراسری خودکار استفاده می‌کند. (خط‌مشی‌های تکرار را نمی‌توان برای رمزهای موجود تغییر داد.)

اگر CLI در حالت غیرتعاملی اجرا می‌شود، --data-file DATA_FILE_PATH را ارسال کنید (یا مقدار محرمانه را به ورودی استاندارد لوله‌کشی کنید).

apphosting:secrets:grantaccess \
SECRET_NAME

اجازه‌های مربوط به رمز(های) مشخص‌شده را به مجموعه‌ای از ایمیل‌های کاربر یا گروه یا به حساب سرویس پس‌بخش اعطا کنید. سپس App Hosting می‌تواند در زمان ساخت یا اجرا به این اطلاعات محرمانه دسترسی پیدا کند.

می‌توانید یک یا چند مقدار SECRET_NAME را که با کاما ازهم جدا شده‌اند ارسال کنید. باید --emails یا --backend را مشخص کنید (این دو پرچم به‌صورت متقابل انحصاری‌اند).

اعطای دسترسی به مجموعه‌ای از ایمیل‌های کاربر یا گروه:

  • -e یا --emails EMAILS
    فهرستی از ایمیل‌های کاربر یا گروه را که با کاما از هم جدا شده‌اند مشخص کنید تا به رمز(های) مشخص‌شده دسترسی پیدا کنند.

اعطای دسترسی به حساب سرویس باطن:

  • -b یا --backend BACKEND_ID
    بخش باطنی App Hosting را که حساب سرویس آن باید به رمز(های) مشخص‌شده دسترسی داشته باشد مشخص کنید.
  • -l یا --location REGION_NAME
    منطقه را برای پسای App Hosting مشخص کنید. اگر حذف شود، CLI در همه مناطق برای BACKEND_ID منطبق جستجو می‌کند؛ اگر چندین منطقه حاوی پس‌زمینه‌ای با آن شناسه باشند، CLI از شما می‌خواهد یکی را در حالت تعاملی انتخاب کنید (در حالت غیرتعاملی، --location الزامی است).
apphosting:secrets:revokeaccess \
SECRET_NAME

اجازه‌های مربوط به رمز(های) مشخص‌شده را از مجموعه‌ای از ایمیل‌های کاربر یا گروه یا از حساب سرویس پس‌بخش لغو کنید.

می‌توانید یک یا چند مقدار SECRET_NAME را که با کاما ازهم جدا شده‌اند ارسال کنید. باید --emails یا --backend را مشخص کنید (این دو پرچم به‌صورت متقابل انحصاری‌اند).

لغو دسترسی از مجموعه‌ای از ایمیل‌های کاربر یا گروه:

  • -e یا --emails EMAILS
    فهرستی از ایمیل‌های کاربر یا گروه را که با کاما از هم جدا شده‌اند مشخص کنید تا دسترسی به رمز(های) مشخص‌شده از آن‌ها لغو شود.

لغو دسترسی از حساب سرویس پس‌بک:

  • -b یا --backend BACKEND_ID
    App Hosting باطن را که حساب سرویس آن باید دسترسی‌اش به رمز(های) مشخص‌شده لغو شود مشخص کنید.
  • -l یا --location REGION_NAME
    منطقه را برای پسای App Hosting مشخص کنید. اگر حذف شود، CLI در همه مناطق برای BACKEND_ID منطبق جستجو می‌کند؛ اگر چندین منطقه حاوی پس‌زمینه‌ای با آن شناسه باشند، CLI از شما می‌خواهد یکی را در حالت تعاملی انتخاب کنید (در حالت غیرتعاملی، --location الزامی است).
apphosting:secrets:describe \
SECRET_NAME
فراداده و نسخه‌های مربوط به نام رمز مشخص‌شده را بازیابی کنید.
apphosting:secrets:access \
SECRET_NAME[@VERSION]
به مقدار رمز برای نام رمز مشخص‌شده در نسخه مشخص‌شده دسترسی پیدا کنید.
اگر [@VERSION] حذف شود، به‌طور پیش‌فرض به جدیدترین نسخه دسترسی پیدا می‌کند.

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

Command شرح
auth:export \
DATA_FILE

حساب‌های کاربری پروژه Firebase فعال را به فایل JSON یا CSV صادر کنید.

برای جزئیات بیشتر، صفحه «auth:import and auth:export» را ببینید.

auth:import \
DATA_FILE

حساب‌های کاربری را از فایل JSON یا CSV به پروژه Firebase فعال وارد کنید.

برای جزئیات بیشتر، صفحه «auth:import and auth:export» را ببینید.

‫Cloud Firestore فرمان

Command شرح
firestore:locations

مکان‌های دردسترس برای نمونه‌های پایگاه داده Cloud Firestore را در پروژه فعال Firebase فهرست کنید.

با مکان‌های دردسترس برای ویرایش Standard، ویرایش Enterprise، و سازگاری MongoDB آشنا شوید.

firestore:databases:create \
DATABASE_ID \
--location REGION_NAME

نمونه پایگاه داده Cloud Firestore مشخص‌شده را (در حالت بومی) در مکان مشخص‌شده ایجاد می‌کند.
firebase firestore:locations را اجرا کنید تا مکان‌های دردسترس برای REGION_NAME فهرست شود.

این فرمان از پرچم‌های اختیاری زیر پشتیبانی می‌کند:

  • --delete-protection DELETION_PROTECTION_STATE
    مجاز کردن یا جلوگیری از حذف نمونه پایگاه داده Cloud Firestore مشخص‌شده. مقادیر معتبر ENABLED یا DISABLED است. اگر حذف شود، به‌طور پیش‌فرض DISABLED خواهد بود.
  • --point-in-time-recovery PITR_STATE
    تنظیم کنید که آیا بازیابی نقطه‌زمانی برای نمونه پایگاه داده Cloud Firestore مشخص‌شده فعال است یا نه. مقادیر معتبر ENABLED یا DISABLED است. اگر حذف شود، به‌طور پیش‌فرض DISABLED خواهد بود.
  • --edition EDITION
    ویرایش را برای نمونه پایگاه داده Cloud Firestore مشخص‌شده تنظیم کنید.
    مقادیر معتبر standard یا enterprise است. اگر حذف شود، به‌طور پیش‌فرض standard خواهد بود.
  • --firestore-data-access ENABLEMENT_STATE
    (فقط نسخه Enterprise) کنترل دردسترس بودن میانای برنامه‌سازی کاربردی Cloud Firestore. مقادیر معتبر ENABLED یا DISABLED است. اگر حذف شود، به‌طور پیش‌فرض ENABLED است (اما وقتی --mongodb-compatible-data-access ENABLED باشد، به‌طور پیش‌فرض DISABLED است).
  • --mongodb-compatible-data-access ENABLEMENT_STATE
    (فقط نسخه Enterprise) کنترل دردسترس بودن میانای برنامه‌سازی کاربردی سازگار با MongoDB. مقادیر معتبر ENABLED یا DISABLED است. اگر حذف شود، به‌طور پیش‌فرض DISABLED خواهد بود.
  • --realtime-updates ENABLEMENT_STATE
    (فقط نسخه Enterprise) ویژگی «تماشا» (بی‌درنگ) را فعال یا غیرفعال کنید. مقادیر معتبر ENABLED یا DISABLED است. اگر حذف شود، وقتی --firestore-data-access برابر با ENABLED باشد، به‌طور پیش‌فرض روی ENABLED تنظیم می‌شود (درغیراین‌صورت، از پیش‌فرض سرور استفاده می‌شود).
    تنظیم این پرچم مستلزم این است که --firestore-data-access ENABLED باشد.
firestore:databases:list

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

firestore:databases:get \
[DATABASE_ID]

پیکربندی پایگاه داده را برای نمونه پایگاه داده Cloud Firestore مشخص‌شده بازیابی کنید.
اگر DATABASE_ID حذف شود، به‌طور پیش‌فرض به نمونه پایگاه داده پیش‌فرض Cloud Firestore پروژه Firebase فعال می‌رود.

برونداد جدول شامل Edition پایگاه داده برای همه پایگاه‌های داده است. فیلدهای وضعیت به‌روزرسانی‌های هم‌زمان و دسترسی به داده‌های سازمانی فقط زمانی در خروجی JSON خام گنجانده می‌شوند که --json ارسال شده باشد.

firestore:databases:update \
DATABASE_ID

پیکربندی پایگاه داده نمونه پایگاه داده Cloud Firestore مشخص‌شده را به‌روز کنید.

حداقل یک پرچم لازم است (پرچم‌های حذف‌شده تنظیمات فعلی‌شان را حفظ می‌کنند). این فرمان از پرچم‌های زیر پشتیبانی می‌کند:

  • --delete-protection DELETION_PROTECTION_STATE
    مجاز کردن یا جلوگیری از حذف نمونه پایگاه داده Cloud Firestore مشخص‌شده. مقادیر معتبر ENABLED یا DISABLED است.
  • --point-in-time-recovery PITR_STATE
    تنظیم کنید که آیا بازیابی نقطه‌زمانی برای نمونه پایگاه داده Cloud Firestore مشخص‌شده فعال است یا نه. مقادیر معتبر ENABLED یا DISABLED است.
firestore:databases:delete \
DATABASE_ID

نمونه پایگاه داده Cloud Firestore مشخص‌شده را حذف کنید.

رابط خط فرمان قبل‌از اقدام کردن، پیام‌واره تأییدی نشان می‌دهد. برای رد شدن از پیام‌واره تأیید (که در حالت غیرتعاملی لازم است)، پرچم --force را رد کنید. (برخلاف فرمان‌های دیگر، firestore:databases:delete از -f خلاصه پشتیبانی نمی‌کند.)

firestore:indexes

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

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --database DATABASE_ID
    نمونه پایگاه داده Cloud Firestore را که می‌خواهید نمایه‌های آن فهرست شود مشخص کنید. اگر حذف شود، نمایه‌ها برای نمونه پایگاه داده پیش‌فرض Cloud Firestore پروژه Firebase فعال فهرست می‌شوند.
firestore:delete \
[PATH]

اسناد را در مسیر پایگاه داده مشخص‌شده (PATH) از نمونه پایگاه داده Cloud Firestore حذف کنید.

PATH الزامی است، مگراینکه --all-collections ارائه شده باشد. حذف مجموعه یا سندی که زیرمجموعه دارد ناموفق است، مگراینکه -r/--recursive یا --shallow ارسال شود.

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

این فرمان از پرچم‌های اختیاری زیر پشتیبانی می‌کند:

  • --database DATABASE_ID
    پایگاه داده Cloud Firestore را که اسناد باید از آن حذف شوند مشخص کنید. اگر حذف شود، اسناد از نمونه پایگاه داده پیش‌فرض Cloud Firestore پروژه Firebase فعال حذف می‌شوند.
  • --all-collections
    همه مجموعه‌ها را در پایگاه داده حذف کنید. (هنگام استفاده از این پرچم، PATH را رد نکنید.)
  • -r یا --recursive
    همه اسناد و زیرمجموعه‌ها را در مسیر مشخص‌شده به‌صورت بازگشتی حذف می‌کند. (با --shallow نمی‌توان از آن عبور کرد.)
  • --shallow
    فقط اسناد موجود در سطح مشخص‌شده را حذف کنید و اسناد موجود در زیرمجموعه‌ها را نادیده بگیرید. توجه داشته باشید که این کار می‌تواند اسناد تودرتو را بدون والد کند. (نمی‌تواند با -r یا --recursive ارسال شود.)

رابط خط فرمان قبل‌از اقدام کردن، پیام‌واره تأییدی نشان می‌دهد. برای رد شدن از پیام‌واره تأیید (در حالت غیرتعاملی الزامی است)، پرچم‌های زیر را ارسال کنید: -f یا --force.

‫Cloud Functions for Firebase فرمان

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

Command شرح
functions:config:export

صادر کردن پیکربندی زمان اجرای قدیمی functions.config() پروژه Firebase فعال به‌عنوان یک رمز JSON واحد در Google Cloud Secret Manager (برای استفاده با defineJsonSecret).

این فرمان از پرچم‌های اختیاری زیر پشتیبانی می‌کند:

  • --secret SECRET_NAME
    نام رمز را برای ایجاد یا به‌روزرسانی در Google Cloud Secret Manager مشخص کنید. اگر حذف شود، CLI از شما می‌خواهد نامی وارد کنید (به‌طور پیش‌فرض FUNCTIONS_CONFIG_EXPORT).
  • -f یا --force
    از نام رمز پیش‌فرض (FUNCTIONS_CONFIG_EXPORT) بدون درخواست استفاده کنید و اگر رمز ازقبل وجود دارد، نسخه رمز جدیدی را بدون تأیید اضافه کنید. (برای افزودن نسخه جدید به رمز موجود در حالت غیرتعاملی لازم است.)
functions:delete \
FUNCTION_NAME...

یک یا چند تابع مشخص‌شده را از پروژه Firebase فعال حذف کنید.

رابط خط فرمان قبل‌از اقدام کردن، پیام‌واره تأییدی نشان می‌دهد. برای رد شدن از پیام‌واره تأیید (در حالت غیرتعاملی الزامی است)، پرچم‌های زیر را ارسال کنید: -f یا --force.

functions:list فهرست کردن همه توابع مستقرشده در پروژه فعال Firebase.
functions:log گزارش‌های همه Cloud Functions مستقرشده در پروژه Firebase فعال را بخوانید.
functions:secrets:access \
SECRET_NAME[@VERSION]
به مقدار رمز برای نام رمز مشخص‌شده در نسخه مشخص‌شده دسترسی پیدا کنید.
اگر [@VERSION] حذف شود، به‌طور پیش‌فرض به جدیدترین نسخه دسترسی پیدا می‌کند.
functions:secrets:destroy \
SECRET_NAME[@VERSION]

رمز مشخص‌شده را در نسخه مشخص‌شده ازبین می‌برد.
اگر [@VERSION] حذف شود، به‌طور پیش‌فرض جدیدترین نسخه نابود می‌شود.

رابط خط فرمان قبل‌از اقدام کردن، پیام‌واره تأییدی را نمایش می‌دهد که به‌طور خودکار در حالت غیرتعاملی بدون -f یا --force تأیید می‌شود. بااین‌حال، اگر رمز همچنان به نقاط پایانی تابع فعال محدود است، باید -f یا --force را برای ازبین بردن آن ارسال کنید.

functions:secrets:get \
SECRET_NAME
فراداده و نسخه‌های مربوط به نام رمز مشخص‌شده را بازیابی کنید.
functions:secrets:prune همه رازهای استفاده‌نشده در پروژه Firebase فعال را ازبین ببرید.
functions:secrets:set \
SECRET_NAME
رمز مشخص‌شده را ایجاد یا به‌روز می‌کند.
functions:shell پوسته تعاملی محلی را برای آزمایش کردن توابع شروع کنید.
functions:config:clone \
--from PROJECT_ID

منسوخ‌شده.
محیط پروژه دیگری را در پروژه Firebase فعال همانندسازی کنید.

به‌طور پیش‌فرض غیرفعال است. برای استفاده از این فرمان، ابتدا firebase experiments:enable legacyRuntimeConfigCommands را اجرا کنید.

functions:config:get منسوخ‌شده.
مقادیر پیکربندی موجود Cloud Functions پروژه Firebase فعال را بازیابی کنید.
functions:config:set \
KEY=VALUE...

منسوخ‌شده.
مقادیر پیکربندی زمان اجرای Cloud Functions پروژه Firebase فعال را ذخیره کنید.

به‌طور پیش‌فرض غیرفعال است. برای استفاده از این فرمان، ابتدا firebase experiments:enable legacyRuntimeConfigCommands را اجرا کنید.

functions:config:unset \
KEY...

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

به‌طور پیش‌فرض غیرفعال است. برای استفاده از این فرمان، ابتدا firebase experiments:enable legacyRuntimeConfigCommands را اجرا کنید.

‫Crashlytics فرمان

Command شرح
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
فایل نگاشت (TXT) سازگار با Proguard را برای «برنامه Firebase» مشخص‌شده بارگذاری کنید و آن را با شناسه فایل نگاشت اعلام‌شده در فایل منبع Android‏ (XML) مشخص‌شده مرتبط کنید.
crashlytics:symbols:upload \
--app FIREBASE_APP_ID \
PATH/TO/SYMBOLS...

یک فایل نماد سازگار با Crashlytics برای خرابی‌های کتابخانه بومی Android (برای مثال، Android NDK، یا نسخه‌های Android از Unity یا Flutter) تولید کنید و آن را به سرورهای Firebase بارگذاری کنید.

این فرمان فقط از Android پشتیبانی می‌کند. برای dSYMهای iOS، از اسکریپت upload-symbols کیت توسعه نرم‌افزار Apple استفاده کنید.

‫Extensions فرمان

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

نمونه افزونه را به جدیدترین نسخه (یا به نسخه منتشرشده مشخص‌شده UPDATE_SOURCE) در مانیفست افزونه به‌روز کنید. توجه داشته باشید که برای UPDATE_SOURCE، از نشانی‌های وب و مسیرهای محلی پشتیبانی نمی‌شود.

رابط خط فرمان قبل‌از اقدام کردن، پیام‌واره تأییدی نشان می‌دهد. می‌توانید -f یا --force را ارسال کنید تا از این پیام‌واره در حالت تعاملی رد شوید؛ بااین‌حال، ext:update فرمانی فقط تعاملی است و در حالت غیرتعاملی پشتیبانی نمی‌شود حتی با -f یا --force.

ext:export همه نمونه‌های افزونه نصب‌شده را از پروژه‌تان به مانیفست افزونه صادر کنید.

Extensions فرمان ناشر

Command شرح
ext:dev:init پایگاه کد اسکلتی را برای افزونه جدید در دایرکتوری کنونی مقداردهی اولیه کنید.
ext:dev:list \
PUBLISHER_ID
فهرست همه افزونه‌های بارگذاری‌شده توسط ناشر را چاپ کنید.
ext:dev:register غیرفعال است.
ثبت شناسه‌های نمایه ناشر جدید دیگر پشتیبانی نمی‌شود.
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 فرمان

Command شرح
hosting:disable

توقف ارائه ترافیک Firebase Hosting برای سایت Hosting.

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

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --site SITE_ID
    سایت Hosting را برای غیرفعال کردن مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به سایت پیش‌فرض Hosting پروژه Firebase فعال تبدیل می‌شود.

رابط خط فرمان قبل‌از انجام اقدام، پیام‌واره تأییدی را نمایش می‌دهد. برای رد شدن از پیام‌واره تأیید (در حالت غیرتعاملی الزامی است)، پرچم‌های زیر را ارسال کنید: -f یا --force.

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

ایجاد سایت Hosting جدید بااستفاده از SITE_ID مشخص‌شده.

اگر CLI در حالت غیرتعاملی اجرا می‌شود، SITE_ID الزامی است.

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --app FIREBASE_APP_ID
    یک «برنامه وب Firebase» موجود را برای مرتبط کردن با سایت جدید Hosting مشخص کنید.
hosting:sites:delete \
SITE_ID

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

رابط خط فرمان قبل‌از اقدام کردن، پیام‌واره تأییدی نشان می‌دهد. برای رد شدن از پیام‌واره تأیید (در حالت غیرتعاملی الزامی است)، پرچم‌های زیر را ارسال کنید: -f یا --force.

hosting:sites:get \
SITE_ID

جزئیات مربوط به سایت Hosting مشخص‌شده را بازیابی کنید.

خروجی جدول شامل شناسه سایت، نشانی وب پیش‌فرض، و شناسه برنامه وب Firebase (درصورت پیوند شدن) است. فراداده‌های اضافی (مانند اینکه آیا سایت DEFAULT_SITE است یا USER_SITE) فقط زمانی در خروجی JSON خام گنجانده می‌شود که --json ارسال شده باشد.

hosting:sites:list فهرست کردن همه سایت‌های Hosting در پروژه Firebase فعال.
مدیریت کانال‌های پیش‌نمایش
hosting:channel:create \
[CHANNEL_ID]

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

اگر CLI در حالت غیرتعاملی اجرا می‌شود، CHANNEL_ID الزامی است.

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --site SITE_ID
    سایت Hosting را که می‌خواهید کانال پیش‌نمایش در آن ایجاد شود مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به سایت پیش‌فرض Hosting پروژه Firebase فعال تبدیل می‌شود.
hosting:channel:delete \
CHANNEL_ID

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

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --site SITE_ID
    سایت Hosting را که می‌خواهید کانال پیش‌نمایش از آن حذف شود مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به سایت پیش‌فرض Hosting پروژه Firebase فعال تبدیل می‌شود.

رابط خط فرمان قبل‌از اقدام کردن، پیام‌واره تأییدی نشان می‌دهد. برای رد شدن از پیام‌واره تأیید (در حالت غیرتعاملی الزامی است)، پرچم‌های زیر را ارسال کنید: -f یا --force.

hosting:channel:deploy \
CHANNEL_ID

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

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --only TARGETS
    فهرستی از هدف‌های Hosting جداشده با کاما را که در firebase.json پیکربندی شده‌اند برای استقرار در کانال پیش‌نمایش مشخص کنید. اگر حذف شود، در همه سایت‌های Hosting پیکربندی‌شده در firebase.json مستقر می‌شود.
hosting:channel:list

فهرست کردن همه کانال‌ها (ازجمله کانال «زنده») برای سایت Hosting.

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --site SITE_ID
    سایت Hosting را که می‌خواهید کانال‌های آن فهرست شود مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به سایت پیش‌فرض Hosting پروژه Firebase فعال تبدیل می‌شود.
hosting:channel:open \
[CHANNEL_ID]

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

اگر CLI در حالت غیرتعاملی اجرا می‌شود، CHANNEL_ID الزامی است.

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --site SITE_ID
    سایت Hosting را برای کانال پیش‌نمایش مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به سایت پیش‌فرض Hosting پروژه Firebase فعال تبدیل می‌شود.
کلون کردن نسخه
hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

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

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

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 مدیریت کنید.

Command شرح
database:get \
PATH

بازیابی داده‌ها در مکان پایگاه داده مشخص‌شده (PATH) برای نمونه Realtime Database و نمایش داده‌ها به‌صورت JSON. از پُرسمان در داده‌های نمایه‌شده پشتیبانی می‌کند.

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --instance DATABASE_NAME
    نمونه Realtime Database را برای کنش مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به نمونه پیش‌فرض Realtime Database پروژه Firebase فعال تبدیل می‌شود.
database:instances:create \
DATABASE_NAME \
--location REGION_NAME

نمونه Realtime Database را با DATABASE_NAME مشخص‌شده در مکان مشخص‌شده ایجاد کنید.

این فرمان از پرچم اختیاری (اما توصیه‌شده) زیر پشتیبانی می‌کند:

نمی‌توانید از این فرمان برای ایجاد نمونه پیش‌فرض Realtime Database برای پروژه Firebase فعال استفاده کنید. اگر پروژه حاوی هیچ نمونه Realtime Database موجودی نباشد، از شما خواسته می‌شود جریان firebase init را برای ایجاد اولین نمونه Realtime Database پروژه (نمونه پیش‌فرض) اجرا کنید.

database:instances:list

فهرست کردن همه نمونه‌های Realtime Database در پروژه Firebase فعال.

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --location REGION_NAME
    مکان خاصی را برای فهرست کردن نمونه‌های Realtime Database مشخص کنید. برای نام‌های منطقه دردسترس، مکان‌های Realtime Database را ببینید.
database:profile

نمایه عملیات را برای نمونه Realtime Database بسازید.
برای جزئیات بیشتر، انواع عملیات Realtime Database را ببینید.

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --instance DATABASE_NAME
    نمونه Realtime Database را برای کنش مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به نمونه پیش‌فرض Realtime Database پروژه Firebase فعال تبدیل می‌شود.
database:push \
PATH \
[INFILE]

داده‌های جدید را به فهرستی در مکان پایگاه داده مشخص‌شده (PATH) در نمونه Realtime Database ارسال کنید.

ورودی را از فایل (INFILE)، STDIN، یا پرچم -d (--data) می‌گیرد.

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --instance DATABASE_NAME
    نمونه Realtime Database را برای کنش مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به نمونه پیش‌فرض Realtime Database پروژه Firebase فعال تبدیل می‌شود.
database:remove \
PATH

حذف همه داده‌ها در مکان پایگاه داده مشخص‌شده (PATH) در نمونه Realtime Database.

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --instance DATABASE_NAME
    نمونه Realtime Database را برای کنش مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به نمونه پیش‌فرض Realtime Database پروژه Firebase فعال تبدیل می‌شود.

رابط خط فرمان قبل‌از اقدام کردن، پیام‌واره تأییدی نشان می‌دهد. برای رد شدن از پیام‌واره تأیید (در حالت غیرتعاملی الزامی است)، پرچم‌های زیر را ارسال کنید: -f یا --force.

database:set \
PATH \
[INFILE]

همه داده‌ها را در مکان پایگاه داده مشخص‌شده (PATH) در نمونه Realtime Database جایگزین کنید.

ورودی را از فایل (INFILE)، STDIN، یا پرچم -d (--data) می‌گیرد.

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --instance DATABASE_NAME
    نمونه Realtime Database را برای کنش مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به نمونه پیش‌فرض Realtime Database پروژه Firebase فعال تبدیل می‌شود.

رابط خط فرمان قبل‌از اقدام کردن، پیام‌واره تأییدی نشان می‌دهد. برای رد شدن از پیام‌واره تأیید (در حالت غیرتعاملی الزامی است)، پرچم‌های زیر را ارسال کنید: -f یا --force.

database:update \
PATH \
[INFILE]

به‌روزرسانی جزئی را در مکان پایگاه داده مشخص‌شده (PATH) در نمونه Realtime Database انجام دهید.

ورودی را از فایل (INFILE)، STDIN، یا پرچم -d (--data) می‌گیرد.

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --instance DATABASE_NAME
    نمونه Realtime Database را برای کنش مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به نمونه پیش‌فرض Realtime Database پروژه Firebase فعال تبدیل می‌شود.

رابط خط فرمان قبل‌از اقدام کردن، پیام‌واره تأییدی نشان می‌دهد. برای رد شدن از پیام‌واره تأیید (در حالت غیرتعاملی الزامی است)، پرچم‌های زیر را ارسال کنید: -f یا --force.

‫Remote Config فرمان

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

Command شرح
remoteconfig:versions:list

همه نسخه‌های الگوی Remote Config را فهرست کنید.

این فرمان از پرچم اختیاری زیر پشتیبانی می‌کند:

  • --limit NUMBER_OF_VERSIONS
    حداکثر تعداد نسخه‌ها را برای برگرداندن مشخص کنید. 0 را مشخص کنید تا همه نسخه‌های موجود برگردانده شود. اگر حذف شود، به‌طور پیش‌فرض 10 خواهد بود.
remoteconfig:get \
--version-number VERSION_NUMBER

جزئیات الگوی Remote Config را در نسخه مشخص‌شده بازیابی کنید.

این فرمان از پرچم‌های اختیاری (اما توصیه‌شده) زیر پشتیبانی می‌کند:

  • -v یا --version-number VERSION_NUMBER
    نسخه الگوی Remote Config را برای بازیابی مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به جدیدترین نسخه می‌رود.
  • -o یا --output FILENAME
    خروجی را به‌جای چاپ کردن به‌صورت جدول، در فایل JSON با نام فایل مشخص‌شده بنویسید.
remoteconfig:rollback \
--version-number VERSION_NUMBER

الگوی Remote Config را به نسخه قبلی مشخص‌شده برگردانید.

این فرمان از پرچم اختیاری (اما توصیه‌شده) زیر پشتیبانی می‌کند:

  • -v یا --version-number VERSION_NUMBER
    نسخه الگوی Remote Config را برای بازگشت به آن مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض به نسخه قبلی فوری (نسخه فعلی - ۱) برمی‌گردد.

رابط خط فرمان قبل‌از اقدام کردن، پیام‌واره تأییدی نشان می‌دهد. برای رد شدن از پیام‌واره تأیید (در حالت غیرتعاملی الزامی است)، پرچم‌های زیر را ارسال کنید: -f یا --force.

remoteconfig:experiments:list

فهرست کردن همه آزمایش‌های Remote Config در پروژه Firebase فعال.

این فرمان از پرچم‌های اختیاری زیر پشتیبانی می‌کند:

  • --filter EXPRESSION
    عبارت را برای فیلتر کردن آزمایش‌ها مشخص کنید.
  • --pageSize NUMBER
    تعداد آزمایش‌هایی را که می‌خواهید در هر صفحه برگردانده شود مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض 10 خواهد بود.
  • --pageToken TOKEN
    انحراف شروع را برای فهرست مشخص کنید.
remoteconfig:experiments:get \
EXPERIMENT_ID

جزئیات آزمایش Remote Config مشخص‌شده را بازیابی کنید.

خروجی جدول شامل نام منبع آزمایش، نام نمایشی، وضعیت (PENDING، RUNNING، DONE، یا EXPIRED)، زمان شروع و پایان، متغیرها (نام‌ها و وزن‌های تخصیص ترافیک)، و اهداف/سنجه‌های پیکربندی‌شده است. شرح آزمایش فقط در برونداد JSON خام گنجانده می‌شود وقتی --json ارسال شود.

remoteconfig:experiments:delete \
EXPERIMENT_ID

آزمایش Remote Config مشخص‌شده را حذف کنید.

رابط خط فرمان قبل‌از اقدام کردن، پیام‌واره تأییدی را نمایش می‌دهد و از پرچم -f یا --force پشتیبانی نمی‌کند. در حالت غیرتعاملی، تأیید به‌طور پیش‌فرض روی «نه» است و فرمان بدون حذف کردن آزمایش خارج می‌شود.

remoteconfig:rollouts:list

همه عرضه Remote Config در پروژه Firebase فعال را فهرست می‌کند.

این فرمان از پرچم‌های اختیاری زیر پشتیبانی می‌کند:

  • --filter EXPRESSION
    عبارت را برای فیلتر کردن عرضه گام‌به‌گام مشخص کنید.
  • --pageSize NUMBER
    تعداد عرضه برای برگرداندن در هر صفحه را مشخص کنید. اگر حذف شود، به‌طور پیش‌فرض 10 خواهد بود.
  • --pageToken TOKEN
    انحراف شروع را برای فهرست مشخص کنید.
remoteconfig:rollouts:get \
ROLLOUT_ID
جزئیات عرضه Remote Config مشخص‌شده را بازیابی کنید.
remoteconfig:rollouts:delete \
ROLLOUT_ID

عرضه Remote Config مشخص‌شده را حذف کنید.

رابط خط فرمان قبل‌از اقدام کردن، پیام‌واره تأییدی را نمایش می‌دهد و از پرچم -f یا --force پشتیبانی نمی‌کند. (در حالت غیرتعاملی، تأیید به‌طور پیش‌فرض روی «نه» است و فرمان بدون حذف عرضه بسته می‌شود.)

‫SQL Connect فرمان

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

Command شرح
dataconnect:services:list همه سرویس‌های SQL Connect مستقرشده در پروژه Firebase فعال را فهرست کنید.
dataconnect:sql:diff

تفاوت‌های بین طرح‌واره محلی SQL Connect و طرح‌واره پایگاه داده Cloud SQL را نمایش دهید.

این فرمان از پرچم‌های اختیاری زیر پشتیبانی می‌کند:

  • --service SERVICE_ID
    شناسه سرویس SQL Connect را مشخص کنید. اگر حذف شود، از سرویس تکی پیکربندی‌شده در firebase.json استفاده می‌کند. اگر چند سرویس پیکربندی شده باشد، فرمان ناموفق خواهد بود مگراینکه --service و، درصورت نیاز، --location را مشخص کنید.
  • --location LOCATION
    مکان سرویس SQL Connect را مشخص کنید. فقط درصورتی لازم است که شناسه سرویس در چند مکان استفاده شود.
dataconnect:sql:migrate

طرح پایگاه داده Cloud SQL را انتقال دهید تا با طرح محلی SQL Connect مطابقت داشته باشد.

این فرمان از پرچم‌های اختیاری زیر پشتیبانی می‌کند:

  • --service SERVICE_ID
    شناسه سرویس SQL Connect را مشخص کنید. اگر حذف شود، از سرویس تکی پیکربندی‌شده در firebase.json استفاده می‌کند (اگر چند سرویس پیکربندی شده باشد، فرمان ناموفق می‌شود مگراینکه --service و درصورت نیاز، --location را مشخص کنید).
  • --location LOCATION
    مکان سرویس SQL Connect را مشخص کنید. فقط درصورتی لازم است که شناسه سرویس در چند مکان استفاده شود.

در حالت تعاملی، CLI قبل‌از انجام کنش، پیام‌واره تأیید را نمایش می‌دهد. در حالت غیرتعاملی، انتقال‌های غیرمخرب به‌طور خودکار اجرا می‌شوند، درحالی‌که تغییرات مخرب لغو می‌شوند مگراینکه -f یا --force را ارسال کنید (که همچنین پیام‌واره‌های تأیید را در حالت تعاملی رد می‌کند).

dataconnect:sql:grant \
--role SQL_ROLE \
--email EMAIL_ADDRESS

SQL_ROLE مشخص‌شده (یکی از: owner، writer، یا reader) را به EMAIL_ADDRESS مشخص‌شده کاربر یا حساب سرویس اعطا کنید.

این فرمان از پرچم‌های اختیاری زیر پشتیبانی می‌کند:

  • --service SERVICE_ID
    شناسه سرویس SQL Connect را مشخص کنید. اگر حذف شود، از سرویس تکی پیکربندی‌شده در firebase.json استفاده می‌کند (اگر چند سرویس پیکربندی شده باشد، فرمان ناموفق می‌شود مگراینکه --service و درصورت نیاز، --location را مشخص کنید).
  • --location LOCATION
    مکان سرویس SQL Connect را مشخص کنید. فقط درصورتی لازم است که شناسه سرویس در چند مکان استفاده شود.
dataconnect:sdk:generate

کیت‌های توسعه نرم‌افزار تایپ‌شده برای رابط‌های SQL Connect خود تولید کنید.

این فرمان از پرچم‌های اختیاری زیر پشتیبانی می‌کند:

  • --service SERVICE_ID
    شناسه سرویس SQL Connect را مشخص کنید. اگر حذف شود، کیت‌های توسعه نرم‌افزار را برای همه سرویس‌های پیکربندی‌شده تولید می‌کند.
  • --location LOCATION
    مکان سرویس SQL Connect را مشخص کنید. فقط درصورتی لازم است که شناسه سرویس در چند مکان استفاده شود.
  • --watch
    تغییرات فایل‌های GQL اتصال‌دهنده را زیرنظر داشته باشید و هنگام به‌روزرسانی، کیت‌های توسعه نرم‌افزار را دوباره تولید کنید.