مرجع واجهة سطر الأوامر في Firebase

توفّر واجهة سطر الأوامر (CLI) في Firebase (GitHub) مجموعة متنوعة من الأدوات لإدارة مشاريع Firebase وعرضها ونشرها.

قبل استخدام واجهة سطر الأوامر في Firebase، يجب إعداد مشروع Firebase.

إعداد واجهة سطر الأوامر أو تحديثها

تثبيت واجهة سطر الأوامر (CLI) لـ Firebase

يمكنك تثبيت واجهة سطر الأوامر في Firebase باستخدام طريقة تتوافق مع نظام التشغيل و/أو مستوى الخبرة و/أو حالة الاستخدام. بغض النظر عن طريقة تثبيت واجهة سطر الأوامر، يمكنك الوصول إلى الوظائف نفسها والأمر firebase.

Windows macOS Linux

Windows

يمكنك تثبيت واجهة سطر أوامر Firebase لنظام التشغيل Windows باستخدام أحد الخيارات التالية:

الخيار الوصف محتوى مقترَح لـ...
standalone binary نزِّل الملف الثنائي المستقل لواجهة سطر الأوامر. بعد ذلك، يمكنك الوصول إلى الملف القابل للتنفيذ لفتح واجهة يمكنك من خلالها تشغيل الأمر firebase. المطوّرون الجدد

المطوّرون الذين لا يستخدمون Node.js أو ليسوا على دراية بها
npm استخدِم npm (أداة إدارة حِزم Node) لتثبيت واجهة سطر الأوامر وتفعيل الأمر firebase المتاح بشكل عام. المطوّرون الذين يستخدمون Node.js

برنامج ثنائي مستقل

لتنزيل الملف الثنائي لـ Firebase CLI وتشغيله، اتّبِع الخطوات التالية:

  1. نزِّل ملف Firebase CLI الثنائي لنظام التشغيل Windows.

  2. يمكنك الوصول إلى الملف الثنائي لفتح واجهة يمكنك من خلالها تشغيل الأمر firebase.

  3. انتقِل إلى تسجيل الدخول واختبار واجهة سطر الأوامر.

npm

لاستخدام npm (أداة إدارة حِزم Node) لتثبيت واجهة سطر الأوامر (CLI) في Firebase، اتّبِع الخطوات التالية:

  1. ثبِّت Node.js باستخدام nvm-windows (مدير إصدارات Node). يؤدي تثبيت Node.js إلى تثبيت أدوات سطر أوامر npm تلقائيًا.

  2. ثبِّت واجهة سطر الأوامر في Firebase من خلال npm عبر تنفيذ الأمر التالي:

    npm install -g firebase-tools

    يتيح هذا الأمر استخدام الأمر firebase المتاح على مستوى العالم.

  3. انتقِل إلى تسجيل الدخول واختبار واجهة سطر الأوامر.

نظام التشغيل macOS أو Linux

يمكنك تثبيت واجهة سطر الأوامر (CLI) في "Firebase" على أجهزة macOS أو Linux باستخدام أحد الخيارات التالية:

الخيار الوصف محتوى مقترَح لـ...
نص التثبيت البرمجي التلقائي يمكنك تشغيل أمر واحد يرصد نظام التشغيل تلقائيًا، وينزّل أحدث إصدار من واجهة سطر الأوامر، ثم يفعّل الأمر firebase المتاح بشكل عام. المطوّرون الجدد

المطوّرون الذين لا يستخدمون Node.js أو ليسوا على دراية به

عمليات النشر المبرمَجة في بيئة الدمج المستمر/النشر المستمر
standalone binary نزِّل الملف الثنائي المستقل لواجهة سطر الأوامر. بعد ذلك، يمكنك ضبط الملف الثنائي وتشغيله بما يتناسب مع سير عملك. سير عمل قابل للتخصيص بالكامل باستخدام واجهة سطر الأوامر
npm استخدِم npm (أداة إدارة حِزم Node) لتثبيت واجهة سطر الأوامر وتفعيل الأمر firebase المتاح بشكل عام. المطوّرون الذين يستخدمون Node.js

نص برمجي للتثبيت التلقائي

لتثبيت واجهة سطر الأوامر (CLI) في Firebase باستخدام نص التثبيت التلقائي، اتّبِع الخطوات التالية:

  1. نفِّذ أمر cURL التالي:

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

    يرصد هذا النص البرمجي نظام التشغيل تلقائيًا، وينزّل أحدث إصدار من واجهة سطر أوامر Firebase، ثم يفعّل الأمر firebase المتاح على مستوى العالم.

  2. انتقِل إلى تسجيل الدخول واختبار واجهة سطر الأوامر.

لمزيد من الأمثلة والتفاصيل حول نص التثبيت التلقائي، يُرجى الرجوع إلى الرمز المصدر للنص على firebase.tools.

برنامج ثنائي مستقل

لتنزيل الملف الثنائي لواجهة سطر الأوامر في "Firebase" وتشغيله على نظام التشغيل الخاص بك، يُرجى اتّباع الخطوات التالية:

  1. نزِّل الملف الثنائي لواجهة سطر الأوامر (CLI) في Firebase لنظام التشغيل لديك: macOS | Linux

  2. (اختياري) اضبط الأمر firebase المتاح عالميًا.

    1. اجعل الملف الثنائي قابلاً للتنفيذ من خلال تشغيل chmod +x ./firebase_tools.
    2. أضِف مسار الملف الثنائي إلى PATH.
  3. انتقِل إلى تسجيل الدخول واختبار واجهة سطر الأوامر.

npm

لاستخدام npm (أداة إدارة حِزم Node) لتثبيت واجهة سطر أوامر Firebase، يُرجى اتّباع الخطوات التالية:

  1. ثبِّت Node.js باستخدام nvm (مدير إصدارات Node).
    يؤدي تثبيت Node.js إلى تثبيت أدوات سطر أوامر npm تلقائيًا.

  2. ثبِّت واجهة سطر الأوامر في Firebase من خلال npm عبر تنفيذ الأمر التالي:

    npm install -g firebase-tools

    يتيح هذا الأمر استخدام الأمر firebase المتاح على مستوى العالم.

  3. انتقِل إلى تسجيل الدخول واختبار واجهة سطر الأوامر.

تسجيل الدخول واختبار واجهة سطر الأوامر في "Firebase"

بعد تثبيت واجهة سطر الأوامر، عليك المصادقة. بعد ذلك، يمكنك تأكيد المصادقة من خلال إدراج مشاريع Firebase.

  1. سجِّل الدخول إلى Firebase باستخدام حساب Google من خلال تشغيل الأمر التالي:

    firebase login

    يربط هذا الأمر جهازك المحلي بمنصة Firebase ويمنحك إمكانية الوصول إلى مشاريع Firebase.

  2. اختبِر ما إذا تم تثبيت واجهة سطر الأوامر بشكل صحيح والوصول إلى حسابك من خلال إدراج مشاريعك على Firebase. نفِّذ الأمر التالي:

    firebase projects:list

    يجب أن تكون القائمة المعروضة مماثلة لمشاريع Firebase المدرَجة في وحدة تحكّم Firebase.

التحديث إلى أحدث إصدار من واجهة سطر الأوامر

بشكل عام، ننصحك باستخدام أحدث إصدار من واجهة سطر الأوامر في Firebase.

تعتمد طريقة تحديث إصدار واجهة سطر الأوامر على نظام التشغيل وطريقة تثبيت واجهة سطر الأوامر.

Windows

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

إلغاء تثبيت واجهة سطر الأوامر (CLI) في Firebase

تعتمد طريقة إلغاء تثبيت واجهة سطر الأوامر على نظام التشغيل لديك وطريقة تثبيت واجهة سطر الأوامر.

Windows

  • برنامج ثنائي مستقل: احذف البرنامج الثنائي 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

استخدام واجهة سطر الأوامر مع أنظمة التكامل المستمر

ننصحك بالمصادقة باستخدام "بيانات الاعتماد التلقائية للتطبيق" عند استخدام واجهة سطر الأوامر مع أنظمة التكامل المستمر.

(يُنصح به) استخدام "بيانات الاعتماد التلقائية للتطبيق"

ستكتشف واجهة سطر الأوامر في Firebase "بيانات الاعتماد التلقائية للتطبيق" وتستخدمها في حال ضبطها. أبسط طريقة لمصادقة واجهة سطر الأوامر في CI والبيئات الأخرى التي لا تتضمّن واجهة مستخدم رسومية هي إعداد بيانات الاعتماد التلقائية للتطبيق.

(الإصدار القديم) استخدام FIREBASE_TOKEN

يمكنك بدلاً من ذلك المصادقة باستخدام FIREBASE_TOKEN. هذا الإجراء أقل أمانًا من "بيانات الاعتماد التلقائية للتطبيق" ولم يعُد يُنصح به.

  1. على جهاز يتضمّن متصفّحًا، ثبِّت واجهة سطر الأوامر (CLI) في Firebase.

  2. ابدأ عملية تسجيل الدخول من خلال تنفيذ الأمر التالي:

    firebase login:ci
  3. انتقِل إلى عنوان URL المقدَّم، ثم سجِّل الدخول باستخدام حساب Google.

  4. اطبع رمزًا مميزًا لإعادة التحميل جديدًا. لن تتأثر جلسة واجهة سطر الأوامر الحالية.

  5. خزِّن الرمز المميّز الناتج بطريقة آمنة ولكن يمكن الوصول إليها في نظام CI.

  6. استخدِم هذا الرمز المميّز عند تشغيل أوامر firebase. يمكنك استخدام أي من الخيارين التاليين:

    • الخيار 1: تخزين الرمز المميّز كمتغيّر البيئة FIREBASE_TOKEN. سيستخدم نظامك الرمز المميّز تلقائيًا.

    • الخيار 2: نفِّذ جميع أوامر firebase باستخدام العلامة --token TOKEN في نظام CI.
      هذا هو ترتيب الأولوية لتحميل الرمز المميّز: العلامة، متغيّر البيئة، مشروع Firebase المطلوب.

إعداد مشروع Firebase

تتطلّب العديد من المهام الشائعة التي يتم تنفيذها باستخدام واجهة سطر الأوامر، مثل النشر في مشروع Firebase، دليل مشروع. يمكنك إنشاء دليل مشروع باستخدام الأمر firebase init. عادةً ما يكون دليل المشروع هو نفسه دليل جذر التحكّم في المصدر، وبعد تشغيل firebase init، يحتوي الدليل على ملف إعداد firebase.json.

لبدء مشروع Firebase جديد، نفِّذ الأمر التالي من داخل دليل تطبيقك:

firebase init

يوجّهك الأمر firebase init خلال عملية إعداد دليل مشروعك وبعض منتجات Firebase. أثناء إعداد المشروع، تطلب منك واجهة سطر الأوامر في Firebase إكمال المهام التالية:

  • اختَر مشروع Firebase تلقائيًا.

    تربط هذه الخطوة دليل المشروع الحالي بمشروع Firebase لكي يتم تنفيذ الأوامر الخاصة بالمشروع (مثل firebase deploy) على مشروع Firebase المناسب.

    يمكنك أيضًا ربط عدة مشاريع على Firebase (مثل مشروع مرحلي ومشروع إنتاج) بدليل المشروع نفسه.

  • اختَر منتجات Firebase لإعدادها في مشروع Firebase.

    تطلب منك هذه الخطوة ضبط إعدادات ملفات معيّنة للمنتجات أو الميزات المحدّدة. لمزيد من التفاصيل حول هذه الإعدادات، يُرجى الرجوع إلى مستندات المنتج المحدّد (على سبيل المثال، Hosting أو Authentication). يُرجى العِلم أنّه يمكنك دائمًا تشغيل firebase init لاحقًا لإعداد المزيد من منتجات Firebase.

في نهاية عملية الإعداد، ينشئ Firebase تلقائيًا الملفَين التاليَين في جذر دليل تطبيقك على الجهاز:

ملف firebase.json

ينشئ الأمر firebase init ملف إعداد firebase.json في جذر دليل مشروعك.

يُعدّ ملف firebase.json مطلوبًا لنشر مواد العرض باستخدام واجهة سطر الأوامر (CLI) في Firebase لأنّه يحدّد الملفات والإعدادات من دليل المشروع التي يتم نشرها في مشروع Firebase (مثل إعدادات Hosting وإعدادات مقدّم خدمة Authentication وقواعد الأمان وإعدادات Cloud Functions). بما أنّه يمكن تحديد بعض الإعدادات في دليل المشروع أو في وحدة تحكّم Firebase، تأكَّد من حلّ أي تعارضات محتملة في عملية النشر.

يمكنك ضبط معظم خيارات Firebase Hosting مباشرةً في ملف firebase.json. ومع ذلك، بالنسبة إلى خدمات Firebase الأخرى التي يمكن نشرها باستخدام واجهة سطر أوامر Firebase، ينشئ الأمر 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 لضبط مشروع نشط جديد قبل تشغيل أوامر CLI الأخرى.

firebase use \
--unalias PROJECT_ALIAS
لإزالة اسم مستعار من دليل المشروع

يمكنك إلغاء ما يتم استخدامه كمشروع نشط من خلال تمرير العلامة --project مع أي أمر في واجهة سطر الأوامر. على سبيل المثال، يمكنك ضبط واجهة سطر الأوامر لتنفيذ مشروع Firebase الذي تم تعيين الاسم المستعار staging له. إذا أردت تنفيذ أمر واحد على مشروع Firebase الذي تم تعيين الاسم المستعار prod له، يمكنك تنفيذ، على سبيل المثال، firebase deploy --project=prod.

التحكّم في المصدر والأسماء البديلة للمشروع

بشكل عام، يجب التحقّق من ملف .firebaserc في نظام التحكّم بالمصادر للسماح لفريقك بمشاركة الأسماء البديلة للمشروع. ومع ذلك، بالنسبة إلى مشاريع البرامج مفتوحة المصدر أو النماذج الأولية، يجب بشكل عام عدم تسجيل ملف .firebaserc.

إذا كان لديك مشروع تطوير مخصّص لاستخدامك فقط، يمكنك إما تمرير العلامة --project مع كل أمر أو تشغيل firebase use PROJECT_ID بدون تعيين اسم مستعار لمشروع Firebase.

عرض مشروع Firebase واختباره على الجهاز

يمكنك عرض مشروع Firebase واختباره على عناوين URL مستضافة محليًا قبل نشره في مرحلة الإنتاج. إذا أردت اختبار ميزات محدّدة فقط، يمكنك استخدام قائمة قيم مفصولة بفاصلة في علامة ضمن الأمر firebase serve.

نفِّذ الأمر التالي من جذر دليل المشروع على الجهاز إذا أردت تنفيذ أي من المهام التالية:

  • عرض المحتوى الثابت لتطبيقك المستضاف على Firebase
  • إذا كنت تستخدم Cloud Functions لإنشاء محتوى ديناميكي لـ Firebase Hosting وأردت استخدام دوال HTTP الإنتاجية (المنشورة) لمحاكاة Hosting على عنوان URL محلي.
firebase serve --only hosting

محاكاة مشروعك باستخدام دوال HTTP المحلية

نفِّذ أيًا من الأوامر التالية من دليل المشروع لمحاكاة مشروعك باستخدام دوال HTTP المحلية.

  • لمحاكاة دوال HTTP والاستضافة للاختبار على عناوين URL المحلية، استخدِم أيًا من الأوامر التالية:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • لمحاكاة دوال HTTP فقط، استخدِم الأمر التالي:

    firebase serve --only functions

الاختبار من أجهزة محلية أخرى

بشكل تلقائي، يستجيب "firebase serve" فقط للطلبات الواردة من "localhost". وهذا يعني أنّه سيكون بإمكانك الوصول إلى المحتوى المستضاف من متصفّح الويب على جهاز الكمبيوتر، ولكن ليس من الأجهزة الأخرى على شبكتك. إذا أردت إجراء الاختبار من أجهزة محلية أخرى، استخدِم العلامة --host، على النحو التالي:

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

النشر في مشروع Firebase

تتولّى واجهة سطر الأوامر (CLI) في 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.

هناك خيار آخر لتجنُّب تعارضات النشر وهو استخدام النشر الجزئي وتحديد Security Rules فقط في وحدة تحكّم Firebase.

إعداد مهام نصية قبل النشر وبعده

يمكنك ربط نصوص Shell البرمجية بأمر firebase deploy لتنفيذ مهام ما قبل النشر أو ما بعد النشر. على سبيل المثال، يمكن أن يترجم نص برمجي قبل النشر رمز TypeScript إلى JavaScript، ويمكن أن يرسل خطاف بعد النشر إشعارًا إلى المشرفين بشأن عمليات نشر محتوى الموقع الإلكتروني الجديد إلى Firebase Hosting.

لإعداد عمليات الربط قبل النشر أو بعده، أضِف نصوص Bash البرمجية إلى ملف إعداد firebase.json. يمكنك تحديد نصوص برمجية مختصرة مباشرةً في ملف firebase.json، أو يمكنك الإشارة إلى ملفات أخرى في دليل مشروعك.

على سبيل المثال، النص البرمجي التالي هو تعبير firebase.json لمهمة ما بعد النشر التي ترسل رسالة Slack عند النشر بنجاح إلى Firebase Hosting.

"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.

مرجع الأوامر

يصف هذا القسم الأوامر المتاحة لحالات الاستخدام والمنتجات التالية:

أوامر المشرف في واجهة سطر الأوامر

الأوامر الوصف
help عرض معلومات المساعدة حول واجهة سطر الأوامر أو أوامر معيّنة
init اربط مشروع Firebase جديدًا وأعدّه في الدليل الحالي.
ينشئ هذا الأمر ملف إعداد firebase.json في الدليل الحالي.
login

مصادقة واجهة سطر الأوامر باستخدام حساب Google. يتطلب الوصول إلى متصفّح ويب.

لتسجيل الدخول إلى واجهة سطر الأوامر في البيئات البعيدة التي لا تسمح بالوصول إلى localhost، استخدِم علامة --no-localhost.

login:ci تمّت إزالة هذا العمود. بدلاً من ذلك، يمكنك استخدام "بيانات الاعتماد التلقائية للتطبيق" مع حساب خدمة على Google Cloud (GOOGLE_APPLICATION_CREDENTIALS).
يمكنك إنشاء رمز مميّز للمصادقة لاستخدامه في البيئات غير التفاعلية.
login:add سجِّل الدخول إلى حساب Google إضافي.
login:list عرض قائمة بجميع حسابات Google التي تمت مصادقتها
login:use \
EMAIL_ADDRESS
اضبط حساب Google النشط.
logout سجِّل الخروج من حساب Google من واجهة سطر الأوامر.
open افتح متصفّحًا للانتقال إلى موارد المشروع ذات الصلة.
projects:list عرض قائمة بجميع مشاريع Firebase التي يمكنك الوصول إليها
use

اضبط مشروع Firebase النشط لواجهة سطر الأوامر (CLI).

مزيد من المعلومات حول إدارة الأسماء البديلة للمشاريع

أوامر إدارة المشاريع

الأوامر الوصف
إدارة مشاريع 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 المحدّد

  • يمكن أن تكون قيمة PLATFORM هي IOS أو ANDROID أو WEB (غير حساسة لحالة الأحرف). في حال حذف هذا الخيار، ستطلب منك واجهة سطر الأوامر اختيار تطبيق من قائمة معروضة تتضمّن جميع تطبيقات Firebase في مشروع Firebase النشط. إذا كان مشروع Firebase النشط يحتوي على تطبيق Firebase واحد فقط، ستختار واجهة سطر الأوامر هذا التطبيق تلقائيًا.
  • ‫FIREBASE_APP_ID هو معرّف تطبيق Firebase (يتطلّب تحديد PLATFORM أولاً). في حال حذف هذا الخيار، ستختار واجهة سطر الأوامر التطبيق تلقائيًا إذا كان هناك تطبيق واحد فقط مطابق، أو ستطلب منك اختيار تطبيق إذا كان هناك عدة تطبيقات مطابقة.

إذا كانت واجهة سطر الأوامر تعمل في وضع غير تفاعلي:

  • إذا كان مشروع Firebase النشط يحتوي على تطبيق Firebase واحد فقط، يمكنك حذف كل من PLATFORM وFIREBASE_APP_ID.
  • إذا كان مشروع Firebase النشط يتضمّن عدة تطبيقات Firebase، عليك تحديد PLATFORM (وFIREBASE_APP_ID إذا كان المشروع يتضمّن أكثر من تطبيق Firebase واحد من نوع المنصة هذا).

يتيح هذا الأمر استخدام العلامة الاختيارية التالية:

  • -o أو --out [FILENAME]
    كتابة مخرجات الإعدادات في ملف بدلاً من طباعتها في المخرجات العادية في حال حذف FILENAME، يتم ضبطه تلقائيًا على اسم ملف خاص بالنظام الأساسي (GoogleService-Info.plist لنظام التشغيل iOS أو google-services.json لنظام التشغيل Android أو firebase-js-config.json للويب). إذا كان الملف المستهدَف موجودًا من قبل، ستطلب منك واجهة سطر الأوامر تأكيد استبداله (أو ستتعذّر العملية في الوضع غير التفاعلي).
إدارة تجزئات شهادات SHA (على Android فقط)
apps:android:sha:create \
FIREBASE_ANDROID_APP_ID \
SHA_HASH
إضافة تجزئة شهادة SHA المحدّدة إلى تطبيق Firebase Android المحدّد
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 لتطبيق Firebase Android المحدّد.

النشر والتطوير على الجهاز

تتيح لك هذه الأوامر نشر مشروع Firebase الخاص بك والتفاعل معه.

الأوامر الوصف
deploy

يمكنك نشر الرموز البرمجية ومواد العرض من دليل مشروعك إلى مشروع Firebase النشط.

يتطلّب هذا الأمر ملف إعداد firebase.json في دليل مشروعك.

مزيد من المعلومات عن النشر في مشروع Firebase

serve

ابدأ تشغيل خادم محلي لاختبار إعدادات Firebase Hosting و/أو Cloud Functions HTTP المحلي (على سبيل المثال، باستخدام --only hosting أو --only functions).

يتطلّب هذا الأمر ملف إعداد firebase.json في دليل مشروعك.

مزيد من المعلومات حول عرض المحتوى واختباره محليًا

‫App Distribution طلب

الأوامر الوصف
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 طلب

الأوامر الوصف
apphosting:backends:create \
--backend BACKEND_ID \
--primary-region REGION_NAME \
--app FIREBASE_WEB_APP_ID

أنشئ مجموعة الموارد المُدارة المرتبطة بقاعدة رموز برمجية واحدة تتضمّن خلفية "App Hosting".

يتيح هذا الأمر استخدام العلامات الاختيارية (ولكن يُنصح بها) التالية:

  • --backend BACKEND_ID
    حدِّد رقم تعريف الخلفية الجديدة في App Hosting. في حال حذف هذا الخيار في الوضع التفاعلي، ستطلب منك واجهة سطر الأوامر إدخال معرّف الخلفية.
  • --primary-region REGION_NAME
    حدِّد المنطقة الأساسية التي تريد إنشاء الخلفية App Hosting فيها. في حال حذفها في الوضع التفاعلي، ستطلب منك واجهة سطر الأوامر اختيار موقع جغرافي. تعرَّف على المواقع الجغرافية التي يتوفّر فيها "App Hosting".
  • -a أو --app FIREBASE_WEB_APP_ID
    يجب تحديد رقم تعريف تطبيق ويب حالي على Firebase. في حال عدم تحديد رقم التعريف، تنشئ واجهة سطر الأوامر تلقائيًا تطبيق ويب جديدًا على Firebase وتسمّيه باسم BACKEND_ID (ما لم يبلغ المشروع الحدّ الأقصى المسموح به لعدد تطبيقات Firebase).

يتيح هذا الأمر أيضًا استخدام العلامات الاختيارية التالية:

  • --root-dir ROOT_DIR
    حدِّد الدليل الجذري لتطبيقك بالنسبة إلى المستودع. في حال حذف هذا الخيار في الوضع التفاعلي، ستطلب منك واجهة سطر الأوامر تحديد الدليل (يتم ضبطه تلقائيًا على /).
  • -s أو --service-account SERVICE_ACCOUNT
    حدِّد حساب الخدمة المستخدَم لتشغيل الخادم. في حال عدم إدخال قيمة، يتم استخدام حساب خدمة Compute Engine التلقائي في App Hosting كقيمة تلقائية.

إذا كانت واجهة سطر الأوامر تعمل في وضع غير تفاعلي، يجب توفير كلّ من --backend و--primary-region.

apphosting:backends:get \
BACKEND_ID

استرداد التفاصيل، بما في ذلك عنوان URL المتاح للجميع، للواجهة الخلفية المحددة في App Hosting.

إذا كانت هناك مناطق متعددة تحتوي على خلفية تتضمّن السمة BACKEND_ID المحدّدة، تسجّل واجهة سطر الأوامر تحذيرًا وتطبع أول خلفية مطابقة (يُرجى العِلم أنّ هذا الأمر لا يتيح استخدام العلامة --location).

apphosting:backends:list عرض قائمة بجميع الخلفيات النشطة في App Hosting في مشروع Firebase النشط
apphosting:backends:delete \
BACKEND_ID

حذف الخلفية المحدّدة لـ App Hosting

تعرض واجهة سطر الأوامر رسالة تأكيد قبل اتخاذ الإجراءات. لتخطّي طلب التأكيد (مطلوب في وضع التفاعل)، مرِّر العلامات التالية: -f أو --force.

إذا كانت هناك مناطق متعددة تحتوي على خلفية تتضمّن BACKEND_ID المحدّد، ستطلب منك واجهة سطر الأوامر في الوضع التفاعلي اختيار الخلفيات التي تريد حذفها، وستتعذّر العملية في حال تمرير -f أو --force (يُرجى العِلم أنّ هذا الأمر لا يتيح استخدام العلامة --location).

apphosting:rollouts:create \
BACKEND_ID

إنشاء عملية طرح يتم تفعيلها يدويًا لخدمة App Hosting الخلفية المحدّدة

يتيح هذا الأمر استخدام العلامات الاختيارية التالية، المتنافية. إذا لم يتم توفير أي منهما، ستطلب منك واجهة سطر الأوامر الاختيار من قائمة الفروع. في وضع التفاعل، يجب توفير أحد هذين العلامتين.

  • -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
    يُرجى تحديد مسار لقراءة البيانات السرية منه، أو ضبطه على - لقراءة البيانات السرية من الإدخال المعياري. في حال حذف هذه العلامة، ستطلب منك واجهة سطر الأوامر إدخال قيمة المفتاح السري (مع إخفاء الإدخال)، أو ستتم قراءة القيمة من الإدخال المعياري إذا كان الإدخال المعياري موجَّهًا.

يتيح هذا الأمر أيضًا استخدام العلامة الاختيارية التالية:

  • -l أو --location REGION_NAME
    عند إنشاء رمز سرّي جديد، يجب حصر نسخه في منطقة Google Cloud Secret Manager المحدّدة. في حال عدم إدخال قيمة، يستخدم Google Cloud Secret Manager النسخ المتماثل العالمي التلقائي. (لا يمكن تغيير سياسات النسخ المتماثل للرموز السرية الحالية).

إذا كانت واجهة سطر الأوامر تعمل في وضع التفاعل، يمكنك تمرير --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. في حال حذف هذه المَعلمة، تبحث واجهة سطر الأوامر في جميع المناطق عن BACKEND_ID المطابق. وإذا كانت هناك مناطق متعددة تحتوي على خلفية بهذا المعرّف، تطلب منك واجهة سطر الأوامر اختيار منطقة في الوضع التفاعلي (في الوضع غير التفاعلي، تكون مَعلمة --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. في حال حذف هذه المَعلمة، تبحث واجهة سطر الأوامر في جميع المناطق عن BACKEND_ID المطابق. وإذا كانت هناك مناطق متعددة تحتوي على خلفية بهذا المعرّف، تطلب منك واجهة سطر الأوامر اختيار منطقة في الوضع التفاعلي (في الوضع غير التفاعلي، تكون مَعلمة --location مطلوبة).
apphosting:secrets:describe \
SECRET_NAME
استرداد البيانات الوصفية والإصدارات لاسم البيانات الحسّاسة المحدّد
apphosting:secrets:access \
SECRET_NAME[@VERSION]
يمكنك الوصول إلى قيمة البيانات السرية لاسم البيانات السرية المحدّد في النسخة المحدّدة.
في حال حذف [@VERSION]، يتم تلقائيًا الوصول إلى أحدث إصدار.

‫Authentication طلب (إدارة المستخدمين)

الأوامر الوصف
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 طلب

الأوامر الوصف
firestore:locations

عرض المواقع الجغرافية المتاحة لمثيلات قاعدة بيانات Cloud Firestore في مشروع Firebase النشط

تعرَّف على المواقع الجغرافية المتاحة للإصدار العادي وإصدار 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. في حال حذف هذه السمة، يتم ضبطها تلقائيًا على ENABLED عندما تكون قيمة --firestore-data-access هي 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 طلب

لمزيد من المعلومات، يُرجى الاطّلاع على مستندات إعداد البيئة.

الأوامر الوصف
functions:config:export

تصدير الإعدادات القديمة لوقت تشغيل functions.config() في مشروع Firebase النشط كرمز سري واحد بتنسيق JSON في Google Cloud Secret Manager (للاستخدام مع defineJsonSecret).

يتيح هذا الأمر استخدام العلامات الاختيارية التالية:

  • --secret SECRET_NAME
    حدِّد اسم واجهة برمجة التطبيقات السرّية التي تريد إنشاءها أو تعديلها في Google Cloud Secret Manager. في حال حذف هذه السمة، ستطلب منك واجهة سطر الأوامر إدخال اسم (يتم ضبطه تلقائيًا على 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 تمّت إزالة هذا العمود.
استرداد قيم الإعدادات الحالية لمشروع Firebase النشط Cloud Functions.
functions:config:set \
KEY=VALUE...

تمّت إزالة هذا العمود.
تخزين قيم إعدادات وقت التشغيل لمشروع Firebase النشط Cloud Functions.

يكون هذا الخيار غير مفعَّل تلقائيًا. لاستخدام هذا الأمر، عليك أولاً تشغيل firebase experiments:enable legacyRuntimeConfigCommands.

functions:config:unset \
KEY...

تمّت إزالة هذا العمود.
إزالة القيم من إعدادات وقت التشغيل لمشروع Firebase النشط

يكون هذا الخيار غير مفعَّل تلقائيًا. لاستخدام هذا الأمر، عليك أولاً تشغيل firebase experiments:enable legacyRuntimeConfigCommands.

‫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
تحميل ملف ربط (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 لحزمة تطوير البرامج (SDK) من Apple.

‫Extensions طلب

الأوامر الوصف
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
ثبِّت حزم تطوير البرامج (SDK) لتعريف الإضافات في الدوال.
ext:list عرض قائمة بجميع نُسخ الإضافات المثبّتة في مشروع Firebase
اطبع معرّف المثيل لكل إضافة.
ext:uninstall \
EXTENSION_INSTANCE_ID
أزِل نسخة الإضافة من ملف بيان الإضافة.
ext:update \
EXTENSION_INSTANCE_ID \
[UPDATE_SOURCE]

يمكنك تحديث نسخة من الإضافة إلى أحدث إصدار (أو إلى إصدار UPDATE_SOURCE المنشور المحدّد) في ملف بيان الإضافة. يُرجى العِلم أنّه بالنسبة إلى UPDATE_SOURCE، لا يمكن استخدام المسارات المحلية وعناوين URL.

تعرض واجهة سطر الأوامر رسالة تأكيد قبل اتخاذ الإجراءات. يمكنك تمرير -f أو --force لتخطّي هذا الطلب في الوضع التفاعلي، ولكن ext:update هو أمر تفاعلي فقط ولا يمكن استخدامه في الوضع غير التفاعلي حتى مع -f أو --force.

ext:export تصدير جميع نُسخ الإضافات المثبّتة من مشروعك إلى ملف بيان الإضافة

‫Extensions طلبات للناشر

الأوامر الوصف
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 طلب

الأوامر الوصف
hosting:disable

إيقاف عرض زيارات Firebase Hosting لموقع إلكتروني باللغة Hosting

سيعرض عنوان URL الخاص بالموقع الإلكتروني Hosting رسالة "لم يتم العثور على الموقع الإلكتروني" بعد تنفيذ هذا الأمر.

يتيح هذا الأمر استخدام العلامة الاختيارية التالية:

  • --site SITE_ID
    حدِّد موقع Hosting الإلكتروني الذي تريد إيقافه. في حال حذف هذا الحقل، يتم ضبطه تلقائيًا على الموقع الإلكتروني Hosting التلقائي لمشروع Firebase النشط.

تعرض واجهة سطر الأوامر رسالة تأكيد قبل اتخاذ الإجراءات. لتخطّي طلب التأكيد (مطلوب في وضع التفاعل)، مرِّر العلامات التالية: -f أو --force.

إدارة Hosting موقع إلكتروني
hosting:sites:create \
[SITE_ID]

إنشاء موقع إلكتروني جديد على "Hosting" باستخدام SITE_ID المحدّد

إذا كانت واجهة سطر الأوامر تعمل في وضع غير تفاعلي، تكون السمة SITE_ID مطلوبة.

يتيح هذا الأمر استخدام العلامة الاختيارية التالية:

  • --app FIREBASE_APP_ID
    حدِّد تطبيق ويب حاليًا على Firebase لربطه بموقع Hosting الإلكتروني الجديد.
hosting:sites:delete \
SITE_ID

حذف موقع Hosting المحدّد

تعرض واجهة سطر الأوامر رسالة تأكيد قبل اتخاذ الإجراءات. لتخطّي طلب التأكيد (مطلوب في وضع التفاعل)، مرِّر العلامات التالية: -f أو --force.

hosting:sites:get \
SITE_ID

استرداد التفاصيل حول موقع Hosting المحدّد

يتضمّن ناتج الجدول معرّف الموقع الإلكتروني وعنوان URL التلقائي ومعرّف تطبيق الويب في Firebase (إذا كان مرتبطًا). لا يتم تضمين البيانات الوصفية الإضافية (مثل ما إذا كان الموقع الإلكتروني هو DEFAULT_SITE أو USER_SITE) إلا في مخرجات JSON الأولية عند تمرير --json.

hosting:sites:list عرض قائمة بجميع مواقع Hosting الإلكترونية في مشروع Firebase النشط
إدارة قنوات المعاينة
hosting:channel:create \
[CHANNEL_ID]

يمكنك إنشاء قناة معاينة جديدة لموقع إلكتروني على Hosting باستخدام CHANNEL_ID المحدّد.
لا يؤدي هذا الأمر إلى نشر التطبيق على القناة.

إذا كانت واجهة سطر الأوامر تعمل في وضع غير تفاعلي، تكون السمة 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]

فتح متصفّح على عنوان URL للقناة المحدّدة أو عرض عنوان URL إذا تعذّر فتحه في متصفّح

إذا كانت واجهة سطر الأوامر تعمل في وضع غير تفاعلي، تكون السمة 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.

بعد إنشاء النُسخ، يمكنك إدارتها كما هو موضّح في مقالة إدارة نُسخ معيّنة والتفاعل معها باستخدام واجهة سطر الأوامر.

الأوامر الوصف
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 النشط

يتيح هذا الأمر استخدام العلامة الاختيارية التالية:

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 آليًا.

الأوامر الوصف
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 المطلوب العودة إليه في حال حذف هذه السمة، يتم ضبطها تلقائيًا على الإصدار السابق مباشرةً (الإصدار الحالي - 1).

تعرض واجهة سطر الأوامر رسالة تأكيد قبل اتخاذ الإجراءات. لتخطّي طلب التأكيد (مطلوب في وضع التفاعل)، مرِّر العلامات التالية: -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.

الأوامر الوصف
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. هذا الحقل مطلوب فقط إذا تم استخدام معرّف الخدمة في مواقع جغرافية متعددة.

في الوضع التفاعلي، تعرض واجهة سطر الأوامر طلب تأكيد قبل اتخاذ الإجراء. في الوضع غير التفاعلي، يتم تشغيل عمليات النقل غير المدمّرة تلقائيًا، بينما يتم إلغاء التغييرات المدمّرة ما لم يتم تمرير -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

إنشاء حِزم تطوير برامج (SDK) مكتوبة لموصّلات SQL Connect

يتيح هذا الأمر استخدام العلامات الاختيارية التالية:

  • --service SERVICE_ID
    حدِّد رقم تعريف خدمة SQL Connect. في حال حذف هذه المَعلمة، يتم إنشاء حِزم SDK لجميع الخدمات التي تم ضبطها.
  • --location LOCATION
    حدِّد الموقع الجغرافي لخدمة SQL Connect. هذا الحقل مطلوب فقط إذا تم استخدام معرّف الخدمة في مواقع جغرافية متعددة.
  • --watch
    يمكنك تتبُّع التغييرات في ملفات GQL الخاصة بالموصل وإعادة إنشاء حزم تطوير البرامج (SDK) عند حدوث تحديثات.