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

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

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

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

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

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

Windows macOS Linux

Windows

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

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

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

ملف ثنائي مستقل

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

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

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

  3. تابِع تسجيل الدخول واختبِر واجهة سطر الأوامر.

npm

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

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

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

    npm install -g firebase-tools

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

  3. تابِع تسجيل الدخول واختبِر واجهة سطر الأوامر.

macOS أو Linux

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

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

المطوّرون الذين لا يستخدمون أو لا يعرفون Node.js

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

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

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

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

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

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

  2. تابِع تسجيل الدخول واختبِر واجهة سطر الأوامر.

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

ملف ثنائي مستقل

لتنزيل وتشغيل الملف الثنائي الخاص بأداة سطر الأوامر Firebase والمخصّص لنظام التشغيل، اتّبِع الخطوات التالية:

  1. نزِّل ملف 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 CLI.

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

نظام التشغيل 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

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

(قديم) استخدام FIREBASE_TOKEN

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

  1. على جهاز مزوّد بمتصفّح، ثبِّت Firebase CLI.

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

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

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

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

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

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

    • الخيار 2: نفِّذ جميع أوامر firebase باستخدام العلامة --token TOKEN في نظام التكامل المستمر.
      في ما يلي ترتيب الأولوية لتحميل الرمز المميّز: العلامة ومتغيّر البيئة ومشروع 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). يُرجى العِلم أنّه يمكنك تشغيل firebase init في وقت لاحق لإعداد المزيد من منتجات Firebase.

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

الملف firebase.json

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

ملف firebase.json مطلوب لنشر مواد العرض باستخدام Firebase CLI لأنّه يحدّد الملفات والإعدادات التي يتم نشرها من دليل مشروعك إلى مشروعك على Firebase. بما أنّه يمكن تحديد بعض الإعدادات في دليل مشروعك أو في وحدة تحكّم 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"
      },
      "remoteconfig": {
        "template": "remoteconfig.template.json"
      }
    }

على الرغم من استخدام firebase.json تلقائيًا، يمكنك تمرير العلامة --config PATH لتحديد ملف إعداد بديل.

ضبط إعدادات قواعد بيانات Cloud Firestore متعددة

عند تشغيل firebase init، سيحتوي ملف firebase.json على مفتاح firestore واحد يتوافق مع قاعدة البيانات التلقائية لمشروعك، كما هو موضّح في المثال السابق.

إذا كان مشروعك يحتوي على قواعد بيانات Cloud Firestore متعددة، عدِّل ملف firebase.json لربط ملفات مصدر فهارس قواعد البيانات Cloud Firestore Security Rules المختلفة بكل قاعدة بيانات. عدِّل الملف باستخدام مصفوفة JSON، مع إدخال واحد لكل قاعدة بيانات.

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

Cloud Functions ملفات يجب تجاهلها عند النشر

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

في ما يلي قائمة الملفات التي يتم تجاهلها تلقائيًا، معروضة بتنسيق JSON:

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

في حال إضافة قيم مخصّصة للسمة ignore في firebase.json، احرص على الاحتفاظ بقائمة الملفات المعروضة في القائمة السابقة (أو إضافتها إذا كانت غير متوفّرة).

إدارة الأسماء المستعارة للمشاريع

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

إضافة اسم مستعار للمشروع

عند اختيار مشروع Firebase أثناء إعداد المشروع، يتم تلقائيًا تعيين الاسم المستعار default للمشروع. ومع ذلك، للسماح بتنفيذ الأوامر الخاصة بالمشروع على مشروع Firebase مختلف مع الاستمرار في استخدام دليل المشروع نفسه، نفِّذ الأمر التالي من داخل دليل مشروعك:

firebase use --add

يطلب منك هذا الأمر اختيار مشروع آخر على Firebase وتعيين المشروع كاسم مستعار. تتم كتابة عمليات تعيين الأسماء المستعارة في ملف .firebaserc داخل دليل مشروعك.

استخدام أسماء المشاريع المستعارة

لاستخدام أسماء مستعارة لمشاريع Firebase تم تعيينها، نفِّذ أيًا من الأوامر التالية من داخل دليل مشروعك.

الأمر الوصف
firebase use عرض قائمة بالأسماء المستعارة المحدّدة لدليل مشروعك
firebase use \
PROJECT_ID|ALIAS
توجّه جميع الأوامر إلى مشروع Firebase المحدّد لتنفيذها.
تستخدم واجهة سطر الأوامر هذا المشروع باعتباره "المشروع النشط".
firebase use --clear يمحو المشروع النشط.

نفِّذ الأمر firebase use PROJECT_ID|ALIAS لضبط مشروع نشط جديد قبل تنفيذ أوامر أخرى من واجهة سطر الأوامر.

firebase use \
--unalias PROJECT_ALIAS
تزيل هذه السمة اسمًا مستعارًا من دليل مشروعك.

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

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

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

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

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

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

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

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

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

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

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

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

    firebase serve --only functions

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

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

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

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

تتولّى واجهة سطر الأوامر Firebase إدارة عملية نشر الرموز البرمجية ومواد العرض في مشروعك على Firebase، بما في ذلك:

  • الإصدارات الجديدة من مواقعك الإلكترونية Firebase Hosting
  • Cloud Functions for Firebase جديد أو معدَّل أو حالي
  • مخططات وموصلات جديدة أو معدَّلة لـ Firebase Data Connect
  • قواعد Firebase Realtime Database
  • قواعد Cloud Storage for Firebase
  • قواعد Cloud Firestore
  • مؤشرات Cloud Firestore

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

firebase deploy

يمكنك اختياريًا إضافة تعليق إلى كل عملية نشر. سيظهر هذا التعليق مع معلومات النشر الأخرى في صفحة Firebase Hosting الخاصة بمشروعك. على سبيل المثال:

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

عند استخدام الأمر firebase deploy، يجب الانتباه إلى ما يلي:

  • لنشر الموارد من دليل مشروع، يجب أن يحتوي دليل المشروع على ملف firebase.json. يتم إنشاء هذا الملف تلقائيًا من خلال الأمر firebase init.

  • تنشئ firebase deploy تلقائيًا إصدارًا لـ جميع الموارد القابلة للنشر في دليل مشروعك. لنشر خدمات أو ميزات محدّدة من Firebase، استخدِم عملية النشر الجزئي.

تعارضات النشر لقواعد الأمان

بالنسبة إلى Firebase Realtime Database وCloud Storage for Firebase وCloud Firestore، يمكنك تحديد قواعد الأمان إما في دليل المشروع المحلي أو في وحدة تحكّم Firebase.

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

حصص النشر

من المحتمل (على الرغم من أنّ ذلك غير مرجّح) أن تتجاوز حصة تحدّ من معدّل أو حجم عمليات نشر Firebase. على سبيل المثال، عند نشر عدد كبير جدًا من الدوال، قد تتلقّى HTTP 429 Quotaرسالة خطأ. لحلّ هذه المشاكل، جرِّب استخدام عملية نشر جزئية.

التراجع عن عملية نشر

يمكنك التراجع عن عملية Firebase Hosting نشر من صفحة Firebase Hosting في مشروعك من خلال اختيار الإجراء تراجع للإصدار الذي اخترته.

لا يمكن التراجع عن إصدارات قواعد الأمان في Firebase Realtime Database أو Cloud Storage for Firebase أو Cloud Firestore.

نشر خدمات Firebase محدّدة

إذا كنت تريد نشر خدمات أو ميزات معيّنة من Firebase فقط، يمكنك استخدام قائمة مفصولة بفواصل في علامة على الأمر firebase deploy. على سبيل المثال، ينشر الأمر التالي قواعد الأمان ومحتوى Firebase Hosting وCloud Storage.

firebase deploy --only hosting,storage

يسرد الجدول التالي الخدمات والميزات المتاحة للنشر الجزئي. تتطابق الأسماء في العلامات مع المفاتيح في ملف الإعدادات firebase.json.

بنية العلامة الخدمة أو الميزة التي تم نشرها
--only hosting المحتوى باللغة Firebase Hosting
--only database Firebase Realtime Database قواعد
--only dataconnect مخططات وموصّلات Firebase Data Connect
--only storage Cloud Storage for Firebase قواعد
--only firestore Cloud Firestore القواعد والفهارس لجميع قواعد البيانات التي تم ضبطها
--only functions Cloud Functions for Firebase (من الممكن استخدام إصدارات أكثر تحديدًا من هذا العلم)

نشر دوال محدّدة

عند نشر الدوال، يمكنك استهداف دوال معيّنة. على سبيل المثال:

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

هناك خيار آخر وهو تجميع الدوال في مجموعات تصدير في ملف /functions/index.js. تتيح لك وظيفة التجميع نشر وظائف متعددة باستخدام أمر واحد.

على سبيل المثال، يمكنك كتابة الدالتين التاليتين لتعريف groupA وgroupB:

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

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

في هذا المثال، يحتوي ملف functions/groupB.js منفصل على دوال إضافية تحدّد الدوال في groupB تحديدًا. على سبيل المثال:

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

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

في هذا المثال، يمكنك نشر جميع دوال groupA من خلال تنفيذ الأمر التالي من دليل مشروعك:

firebase deploy --only functions:groupA

أو يمكنك استهداف دالة معيّنة ضمن مجموعة من خلال تنفيذ الأمر التالي:

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

حذف الدوال

يتيح واجهة سطر الأوامر Firebase الأوامر والخيارات التالية لحذف الدوال التي تم نشرها سابقًا:

  • لحذف جميع الدوال التي تتطابق مع الاسم المحدّد في جميع المناطق:

    firebase functions:delete FUNCTION-1_NAME

  • لحذف دالة محدّدة تعمل في منطقة غير تلقائية:

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

  • حذف أكثر من دالة واحدة:

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

  • لحذف مجموعة دوال محدّدة:

    firebase functions:delete GROUP_NAME

  • تخطّي طلب التأكيد:

    firebase functions:delete FUNCTION-1_NAME --force

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

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

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

على سبيل المثال، النص البرمجي التالي هو تعبير firebase.json لمهمة postdeploy ترسل رسالة 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 مخرجات الخطأ والمخرجات العادية من النصوص البرمجية في الوحدة الطرفية. في حالات تعذُّر النقل، يُرجى مراعاة ما يلي:

  • إذا تعذّر إكمال خطاف ما قبل النشر على النحو المتوقّع، يتم إلغاء عملية النشر.
  • في حال تعذّر عملية النشر لأي سبب، لن يتم تشغيل خطافات postdeploy.

متغيرات البيئة

في النصوص البرمجية التي يتم تشغيلها في خطافات predeploy وpostdeploy، تتوفّر متغيرات البيئة التالية:

  • $GCLOUD_PROJECT: رقم تعريف المشروع النشط
  • $PROJECT_DIR: الدليل الجذر الذي يحتوي على الملف firebase.json
  • $RESOURCE_DIR: (لبرامج hosting وfunctions النصية فقط) موقع الدليل الذي يحتوي على موارد Hosting أو Cloud Functions التي سيتم نشرها

إدارة عدة مثيلات من Realtime Database

يمكن أن يتضمّن مشروع Firebase عدة Firebase Realtime Database مثيلات. تتفاعل أوامر واجهة سطر الأوامر تلقائيًا مع مثيل قاعدة البيانات الافتراضي.

ومع ذلك، يمكنك التفاعل مع مثيل قاعدة بيانات غير تلقائي باستخدام العلامة --instance DATABASE_NAME. تتيح الأوامر التالية استخدام العلامة --instance:

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

مرجع الأوامر

أوامر إدارية لواجهة سطر الأوامر

الأمر الوصف
مساعدة تعرض هذه السمة معلومات المساعدة حول واجهة سطر الأوامر أو أوامر معيّنة.
init يربط مشروعًا جديدًا على Firebase ويعدّه في الدليل الحالي. ينشئ هذا الأمر ملف إعداد firebase.json في الدليل الحالي.
login تتم مصادقة واجهة سطر الأوامر باستخدام حسابك على Google. يجب أن يكون لديك إذن بالوصول إلى متصفّح ويب.
لتسجيل الدخول إلى واجهة سطر الأوامر في البيئات البعيدة التي لا تسمح بالوصول إلى localhost، استخدِم العلامة --no-localhost.
login:ci تنشئ هذه الطريقة رمزًا مميزًا للمصادقة لاستخدامه في البيئات غير التفاعلية.
login:add تسجيل الدخول إلى حساب Google إضافي
login:list تعرض هذه السمة جميع حسابات Google التي تمّت المصادقة عليها.
login:use تضبط هذه السمة حساب Google النشط.
logout تسجيل الخروج من حسابك على Google من واجهة سطر الأوامر
فتح يفتح متصفّحًا لعرض موارد المشروع ذات الصلة.
projects:list تعرِض هذه الصفحة جميع مشاريع Firebase التي لديك إذن الوصول إليها.
استخدام يضبط هذا الأمر مشروع Firebase النشط في واجهة سطر الأوامر.
تُستخدَم لإدارة أسماء المشاريع المستعارة.

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

الأمر الوصف
إدارة مشاريع Firebase
projects:addfirebase تضيف هذه السمة موارد Firebase إلى مشروع Google Cloud حالي.
projects:create تُنشئ هذه السمة مشروع Google Cloud جديدًا، ثم تضيف موارد Firebase إلى المشروع الجديد.
projects:list تعرِض هذه الصفحة جميع مشاريع Firebase التي لديك إذن الوصول إليها.
إدارة تطبيقات Firebase (iOS وAndroid والويب)
apps:create تنشئ هذه السمة تطبيقًا جديدًا على Firebase في المشروع النشط.
apps:list تعرِض هذه السمة تطبيقات Firebase المسجَّلة في المشروع النشط.
apps:sdkconfig تعرض هذه السمة إعدادات خدمات Google لتطبيق Firebase.
setup:web تم إيقاف هذا الإجراء نهائيًا. بدلاً من ذلك، استخدِم apps:sdkconfig وحدِّد web كمعلَمة النظام الأساسي.
تعرض هذه السمة إعدادات خدمات Google لتطبيق ويب على Firebase.
إدارة تجزئات شهادات SHA (على أجهزة Android فقط)
apps:android:sha:create \
FIREBASE_APP_ID SHA_HASH
تضيف هذه الطريقة تجزئة شهادة SHA المحدّدة إلى تطبيق Android المحدّد على Firebase.
apps:android:sha:delete \
FIREBASE_APP_ID SHA_HASH
تحذف هذه الطريقة تجزئة شهادة SHA المحدّدة من تطبيق Android على Firebase المحدّد.
apps:android:sha:list \
FIREBASE_APP_ID
تعرض هذه الطريقة قائمة بتجزئات شهادات SHA لتطبيق Firebase Android المحدّد.

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

تتيح لك هذه الأوامر نشر موقعك الإلكتروني Firebase Hosting والتفاعل معه.

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

أوامر App Distribution

الأمر الوصف
appdistribution:distribute \
--app FIREBASE_APP_ID
يُتيح الإصدار للمختبِرين.
appdistribution:testers:add تضيف هذه الطريقة مختبِرين إلى المشروع.
appdistribution:testers:remove تتم إزالة المختبِرين من المشروع.
appdistribution:testers:list تعرض هذه السمة قائمة بالمختبِرين في المشروع.
appdistribution:groups:create تُنشئ هذه الطريقة مجموعة مختبِرين.
appdistribution:groups:delete تحذف هذه الطريقة مجموعة مختبِرين.
appdistribution:groups:list تعرض هذه السمة قوائم مجموعات المختبِرين في المشروع.

أوامر App Hosting

الأمر الوصف
apphosting:backends:create \
--project PROJECT_ID \
--location REGION --app APP_ID
تنشئ هذه السمة مجموعة الموارد المُدارة المرتبطة بقاعدة رموز برمجية واحدة تتضمّن App Hosting خلفية. يمكنك اختياريًا تحديد تطبيق حالي على Firebase للويب باستخدام معرّف تطبيق Firebase.
apphosting:backends:get \
BACKEND_ID \
--project PROJECT_ID \
--location REGION
تعرض هذه الطريقة تفاصيل محدّدة، بما في ذلك عنوان URL العام، لخادم خلفي.
apphosting:backends:list \
--project PROJECT_ID
تعرض هذه الطريقة قائمة بجميع الخدمات الخلفية النشطة المرتبطة بمشروع.
firebase apphosting:backends:delete \
BACKEND_ID \
--project PROJECT_ID \
--location REGION
تحذف هذه الطريقة خلفية تطبيق من المشروع.
firebase apphosting:config:export \
--project PROJECT_ID \
--secrets ENVIRONMENT_NAME
تصدير الأسرار لاستخدامها في محاكاة التطبيق
يتم ضبط القيمة التلقائية على الأسرار المخزّنة في apphosting.yaml، أو يتم استخدام --secrets لتحديد أي بيئة تحتوي على ملف apphosting.ENVIRONMENT_NAME.yaml مطابق.
firebase apphosting:rollouts:create \
BACKEND_ID \
--git_branch BRANCH_NAME \
--git_commit COMMIT_ID
تُنشئ هذه الطريقة طرحًا يتم تشغيله يدويًا.
يمكنك اختياريًا تحديد آخر عملية إيداع في فرع أو عملية إيداع محدّدة. إذا لم يتم توفير أي خيارات، سيطلب منك اختيار فرع من قائمة الفروع.
apphosting:secrets:set KEY --project PROJECT_ID \
--location REGION \
--data-file DATA_FILE_PATH
تخزِّن هذه السمة مواد سرية في Secret Manager.
يمكنك اختياريًا تقديم مسار لقراءة بيانات الأسرار. اضبط القيمة على _ لقراءة بيانات سرية من الإدخال العادي.
apphosting:secrets:grantaccess KEY BACKEND_ID \
--project PROJECT_ID \
--location REGION
يمنح حساب خدمة الخلفية إذن الوصول إلى كلمة المرور المقدَّمة حتى يتمكّن App Hosting من الوصول إليها في وقت الإنشاء أو التشغيل.
apphosting:secrets:describe KEY \
--project PROJECT_ID
تعرض هذه الطريقة البيانات الوصفية لبيانات سرية وإصداراتها.
firebase apphosting:secrets:access \
KEY[@version] \
--project PROJECT_ID
تتيح هذه الطريقة الوصول إلى قيمة سرية معيّنة باستخدام المفتاح السرّي وإصداره. يتم ضبط الإعدادات التلقائية على الوصول إلى أحدث إصدار.

أوامر Authentication (إدارة المستخدمين)

الأمر الوصف
auth:export تصدير حسابات المستخدمين في المشروع النشط إلى ملف JSON أو CSV لمزيد من التفاصيل، يُرجى الرجوع إلى صفحة auth:import وauth:export.
auth:import يستورد حسابات المستخدمين من ملف JSON أو CSV إلى المشروع النشط. لمزيد من التفاصيل، يُرجى الرجوع إلى صفحة auth:import وauth:export.

أوامر Cloud Firestore

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

تعرض هذه السمة قائمة بالمواقع الجغرافية المتاحة لقاعدة بيانات Cloud Firestore.

firestore:databases:create DATABASE_ID

أنشئ مثيلاً لقاعدة البيانات في الوضع الأصلي في مشروعك على Firebase.

يستخدِم الأمر العلامات التالية:

  • --location <اسم المنطقة> لتحديد الموقع الجغرافي الذي سيتم فيه نشر قاعدة البيانات. يمكنك تشغيل الأمر firebase firestore:locations لعرض قائمة بالمواقع الجغرافية المتاحة. مطلوب
  • --delete-protection <deleteProtectionState> للسماح بحذف قاعدة البيانات المحدّدة أو منع ذلك. القيمتان الصالحتان هما ENABLED أو DISABLED. القيمة التلقائية هي DISABLED.
  • استخدِم --point-in-time-recovery <PITRState> لتحديد ما إذا كان سيتم تفعيل ميزة "الاسترداد في نقطة زمنية محددة". القيمتان الصالحتان هما ENABLED أو DISABLED. القيمة التلقائية هي DISABLED. اختياريّ.
firestore:databases:list

عرض قائمة بقواعد البيانات في مشروعك على Firebase

firestore:databases:get DATABASE_ID

الحصول على إعدادات قاعدة بيانات محدّدة في مشروعك على Firebase

firestore:databases:update DATABASE_ID

تعديل إعدادات قاعدة بيانات محدّدة في مشروعك على Firebase

يجب توفّر علامة واحدة على الأقل. يستخدِم الأمر العلامات التالية:

  • --delete-protection <deleteProtectionState> للسماح بحذف قاعدة البيانات المحدّدة أو منع ذلك. القيمتان الصالحتان هما ENABLED أو DISABLED. القيمة التلقائية هي DISABLED.
  • استخدِم --point-in-time-recovery <PITRState> لتحديد ما إذا كان سيتم تفعيل ميزة "الاسترداد في نقطة زمنية محددة". القيمتان الصالحتان هما ENABLED أو DISABLED. القيمة التلقائية هي DISABLED. اختياريّ.
firestore:databases:delete DATABASE_ID

احذف قاعدة بيانات في مشروعك على Firebase.

firestore:indexes

فهارس القوائم لقاعدة بيانات في مشروعك على Firebase

يستخدِم الأمر العلامة التالية:

  • استبدِل --database DATABASE_ID بـ لتحديد اسم قاعدة البيانات التي تريد عرض فهارسها. في حال عدم توفيرها، سيتم إدراج الفهارس لقاعدة البيانات التلقائية.
firestore:delete

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

يُرجى العِلم أنّ حذف بيانات Cloud Firestore باستخدام واجهة سطر الأوامر يؤدي إلى تحمّل تكاليف القراءة والحذف. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة فهم فوترة Cloud Firestore.

يستخدِم الأمر العلامة التالية:

  • --database DATABASE_ID لتحديد اسم قاعدة البيانات التي سيتم حذف المستندات منها. في حال عدم تحديدها، يتم حذف المستندات من قاعدة البيانات التلقائية. اختياريّ.

أوامر Cloud Functions for Firebase

الأمر الوصف
functions:config:clone تم إيقاف هذه السمة نهائيًا.
تنسخ هذه السمة بيئة مشروع آخر إلى مشروع Firebase النشط.
functions:config:export تصدِّر هذه السمة إعدادات وقت التشغيل للمشروع النشط إلى Google Cloud Secret Manager.
functions:config:get تم إيقاف هذه السمة نهائيًا.
يتم استرداد قيم الإعدادات الحالية Cloud Functions للمشروع النشط.
functions:config:set تم إيقافها نهائيًا.
تخزِّن قيم إعدادات وقت التشغيل الخاصة Cloud Functions للمشروع النشط.
functions:config:unset تم إيقافها نهائيًا.
تزيل هذه السمة القيم من إعدادات وقت التشغيل للمشروع النشط.
functions:delete \
FUNCTION_NAME
تحذف هذه الطريقة الدالة المحدّدة.
functions:list تعرض هذه السمة قائمة بالدوال التي تم نشرها.
functions:log يقرأ هذا الإذن السجلات من Cloud Functions التي تم نشرها.
functions:secrets:access \
SECRET_NAME
تتيح هذه الطريقة الوصول إلى قيمة سرية معيّنة باستخدام المفتاح السرّي وإصداره.
functions:secrets:destroy \
SECRET_NAME
تدمّر هذه الطريقة مفتاحًا سرّيًا.
functions:secrets:get \
SECRET_NAME
تعرض هذه الطريقة البيانات الوصفية لبيانات سرية وإصداراتها.
functions:secrets:prune تدمير المفاتيح السرية غير المستخدَمة
functions:secrets:set \
SECRET_NAME
تنشئ هذه الطريقة سرًا أو تعدّله.
functions:shell يبدأ تشغيل بيئة تفاعلية محلية لاختبار الدوال.

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

أوامر Crashlytics

الأمر الوصف
crashlytics:mappingfile:generateid \
--resource-file=PATH/TO/ANDROID_RESOURCE.XML
تنشئ هذه السمة معرّفًا فريدًا لملف الربط في ملف موارد Android (XML) المحدّد.
crashlytics:mappingfile:upload \
--app=FIREBASE_APP_ID \
--resource-file=PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
تحميل ملف تحديد (TXT) متوافق مع Proguard لهذا التطبيق، وربطه بمعرّف ملف التحديد المحدّد في ملف موارد Android (XML) المحدّد
crashlytics:symbols:upload \
--app=FIREBASE_APP_ID \
PATH/TO/SYMBOLS
تُنشئ هذه السمة ملف رموز متوافقًا مع Crashlytics لأعطال المكتبة الأصلية على Android، ثم تحمّله إلى خوادم Firebase.

أوامر Data Connect

يتم تناول هذه الأوامر وحالات استخدامها بمزيد من التفصيل في دليل مرجع واجهة سطر الأوامر Data Connect.

الأمر الوصف
dataconnect:services:list تعرض هذه الصفحة جميع خدمات Data Connect التي تم نشرها في مشروعك على Firebase.
dataconnect:sql:diff \
SERVICE_ID
بالنسبة إلى الخدمة المحدّدة، يعرض هذا الحقل الاختلافات بين مخطط Data Connect محلي ومخطط قاعدة بيانات Cloud SQL.
dataconnect:sql:migrate \
--force \
SERVICE_ID
تنقل هذه السمة مخطط قاعدة بيانات Cloud SQL ليطابق مخطط Data Connect المحلي.
dataconnect:sql:grant\
--role=ROLE \
--email=EMAIL \
SERVICE_ID
يمنح دور SQL إلى البريد الإلكتروني للمستخدم أو حساب الخدمة المحدّد.
بالنسبة إلى العلامة --role، يكون دور SQL الذي سيتم منحه أحد الأدوار التالية: owner أو writer أو reader.
بالنسبة إلى العلامة --email، أدخِل عنوان البريد الإلكتروني للمستخدم أو حساب الخدمة الذي تريد منحه الدور.
dataconnect:sdk:generate تنشئ هذه الأداة حِزم SDK مكتوبة لموصلات Data Connect.

أوامر Extensions

الأمر الوصف
ext تعرض هذه السمة معلومات حول كيفية استخدام أوامر Firebase Extensions.
تعرض هذه السمة مثيلات الإضافة المثبَّتة في المشروع النشط.
ext:configure \
EXTENSION_INSTANCE_ID
تعيد هذه السمة ضبط قيم المَعلمات لنسخة إضافة في بيان الإضافة.
ext:info \
PUBLISHER_ID/EXTENSION_ID
تعرض هذه السمة معلومات مفصّلة عن إحدى الإضافات.
ext:install \
PUBLISHER_ID/EXTENSION_ID
تضيف هذه السمة مثيلاً جديدًا لإحدى الإضافات إلى بيان الإضافة.
ext:sdk:install تثبيت حِزم SDK لتحديد الإضافات في الدوال
ext:list تعرض هذه السمة جميع مثيلات الإضافة المثبَّتة في مشروع Firebase.
تعرض هذه السمة معرّف المثيل لكل إضافة.
ext:uninstall \
EXTENSION_INSTANCE_ID
يزيل هذا العنصر نسخة من إضافة من بيان الإضافة.
ext:update \
EXTENSION_INSTANCE_ID
تعدّل هذه السمة مثيلاً لإحدى الإضافات إلى أحدث إصدار في بيان الإضافة.
ext:export يصدِّر هذا الأمر جميع مثيلات الإضافات المثبَّتة من مشروعك إلى بيان الإضافة.

أوامر الناشرينExtensions

الأمر الوصف
ext:dev:init تهيئة قاعدة رموز هيكلية لإضافة جديدة في الدليل الحالي
ext:dev:list \
PUBLISHER_ID
تعرض هذه السمة قائمة بجميع الإضافات التي حمّلها الناشر.
ext:dev:register تسجِّل هذه السمة مشروع Firebase كـ مشروع ناشر إضافات.
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
إيقاف إصدارات الإضافة التي تتطابق مع معيار الإصدار
يمكن أن تكون أداة تحديد الإصدار إصدارًا واحدًا (مثل 1.0.0)، أو نطاقًا من الإصدارات (مثل >1.0.0).
في حال عدم توفير أداة تحديد الإصدار، سيتم إيقاف جميع إصدارات تلك الإضافة نهائيًا.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
إلغاء الإيقاف النهائي لإصدارات الإضافة التي تتطابق مع شرط الإصدار
يمكن أن تكون أداة تحديد الإصدار إصدارًا واحدًا (مثل 1.0.0)، أو نطاقًا من الإصدارات (مثل >1.0.0).
في حال عدم توفير أداة تحديد الإصدار، سيتم إيقاف جميع إصدارات تلك الإضافة.
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
تحميل نسخة جديدة من إضافة
ext:dev:usage \
PUBLISHER_ID
تعرِض هذه الصفحة عدد عمليات التثبيت ومقاييس الاستخدام للإضافات التي حمّلها ناشر.

أوامر Hosting

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

يتوقف عن عرض زيارات Firebase Hosting لمشروع Firebase النشط.

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

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

تنشئ هذه الدالة موقعًا إلكترونيًا جديدًا Hosting في مشروع Firebase النشط باستخدام SITE_ID المحدّد

(اختياري) حدِّد تطبيقًا حاليًا على Firebase للربط به مع الموقع الإلكتروني الجديد من خلال تمرير العلامة التالية: --app FIREBASE_APP_ID

firebase hosting:sites:delete \
SITE_ID

يحذف الموقع الإلكتروني Hosting المحدّد

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

(اختياري) يمكنك تخطّي طلب التأكيد من خلال تمرير العلامات التالية: -f أو --force

firebase hosting:sites:get \
SITE_ID

تعرض هذه الطريقة معلومات عن Hosting الموقع الإلكتروني المحدّد

firebase hosting:sites:list

تعرِض هذه القائمة جميع مواقع Hosting لمشروع Firebase النشط.

إدارة قنوات الإصدارات التجريبية
firebase hosting:channel:create \
CHANNEL_ID

ينشئ هذا الأمر قناة معاينة جديدة في الموقع الإلكتروني التلقائي Hosting باستخدام CHANNEL_ID

لا ينشر هذا الأمر إلى القناة.

firebase hosting:channel:delete \
CHANNEL_ID

يحذف قناة المعاينة المحدّدة

لا يمكنك حذف قناة البث المباشر الخاصة بموقع إلكتروني.

firebase hosting:channel:deploy \
CHANNEL_ID

ينشر محتوى Hosting وإعداداته في قناة المعاينة المحدّدة

إذا لم تكن قناة المعاينة متوفّرة بعد، ينشئ هذا الأمر القناة في الموقع الإلكتروني التلقائي Hosting قبل نشرها في القناة.

firebase hosting:channel:list تعرض هذه السمة جميع القنوات (بما في ذلك القناة "المباشرة") في موقع default Hosting
firebase hosting:channel:open \
CHANNEL_ID
يفتح متصفّحًا على عنوان URL الخاص بالقناة المحدّدة أو يعرض عنوان URL إذا كان فتح المتصفّح غير ممكن
استنساخ الإصدار
firebase hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

تستنسخ هذه السمة أحدث إصدار تم نشره على قناة "المصدر" المحدّدة إلى قناة "الوجهة" المحدّدة.

ينشر هذا الأمر أيضًا على القناة "المستهدَفة" المحدّدة. إذا لم تكن قناة "الاستهداف" متوفّرة بعد، ينشئ هذا الأمر قناة معاينة جديدة في الموقع الإلكتروني Hosting "المستهدف" قبل النشر في القناة.

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

تستنسخ هذه السمة الإصدار المحدّد إلى القناة "المستهدَفة" المحدّدة

ينشر هذا الأمر أيضًا على القناة "المستهدَفة" المحدّدة. إذا لم تكن قناة "الاستهداف" متوفّرة بعد، ينشئ هذا الأمر قناة معاينة جديدة في الموقع الإلكتروني Hosting "المستهدف" قبل النشر في القناة.

يمكنك العثور على VERSION_ID في لوحة بيانات Hosting في وحدة تحكّم Firebase.

أوامر Realtime Database

يُرجى العِلم أنّه يمكنك إنشاء مثيل Realtime Database التلقائي الأوّلي في وحدة تحكّم Firebase أو باستخدام سير العمل firebase init العام أو سير عمل firebase init database المحدّد.

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

الأمر الوصف
database:get يجلب هذا الأمر البيانات من قاعدة بيانات المشروع النشط ويعرضها بتنسيق JSON. يتيح تنفيذ طلبات بحث على البيانات المفهرسة.
database:instances:create تنشئ هذه الطريقة مثيلاً لقاعدة بيانات باسم مثيل محدّد. يقبل الخيار --location لإنشاء قاعدة بيانات في منطقة محدّدة. للاطّلاع على أسماء المناطق التي يمكن استخدامها مع هذا الخيار، يُرجى الاطّلاع على اختيار مواقع جغرافية لمشروعك. إذا لم تتوفّر نسخة من قاعدة البيانات للمشروع الحالي، سيُطلب منك تنفيذ عملية firebase init لإنشاء نسخة.
database:instances:list أدرِج جميع مثيلات قاعدة البيانات لهذا المشروع. يقبل الخيار --location لعرض قواعد البيانات في منطقة محدّدة. للاطّلاع على أسماء المناطق التي يمكن استخدامها مع هذا الخيار، يُرجى الاطّلاع على اختيار مواقع جغرافية لمشروعك.
database:profile إنشاء ملف شخصي للعمليات في قاعدة بيانات المشروع النشط لمزيد من التفاصيل، راجِع أنواع عمليات Realtime Database.
database:push تدفع هذه الطريقة بيانات جديدة إلى قائمة في موقع محدّد في قاعدة بيانات المشروع النشط. تتلقّى الإدخال من ملف أو STDIN أو وسيطة سطر أوامر.
database:remove يحذف هذا الأمر جميع البيانات في موقع جغرافي محدّد ضمن قاعدة بيانات المشروع النشط.
database:set يستبدل هذا الإجراء جميع البيانات في موقع جغرافي محدّد في قاعدة بيانات المشروع النشط. تتلقّى الإدخال من ملف أو STDIN أو وسيط سطر الأوامر.
database:update تُجري هذه الطريقة تعديلاً جزئيًا في موقع محدّد ضمن قاعدة بيانات المشروع النشط. تتلقّى الإدخال من ملف أو STDIN أو وسيطة سطر أوامر.

أوامر Remote Config

الأمر الوصف
remoteconfig:versions:list \
--limit NUMBER_OF_VERSIONS
تعرض هذه السمة آخر عشرة إصدارات من النموذج. حدِّد 0 لعرض جميع النُسخ الحالية، أو يمكنك اختياريًا تضمين الخيار --limit للحدّ من عدد النُسخ المعروضة.
remoteconfig:get \
--v, version_number VERSION_NUMBER
--o, output FILENAME
تعرض هذه السمة النموذج حسب الإصدار (الإصدار الأحدث هو الإعداد التلقائي) وتعرض مجموعات المَعلمات والمَعلمات وأسماء الشروط والإصدار في جدول. يمكنك اختياريًا كتابة الإخراج إلى ملف محدّد باستخدام -o, FILENAME.
remoteconfig:rollback \
--v, version_number VERSION_NUMBER
--force
تعود إلى إصدار سابق محدّد من نموذج Remote Config أو إلى الإصدار السابق مباشرةً (الإصدار الحالي -1). ما لم يتم تمرير --force، ستظهر الطلبات Y/N قبل المتابعة إلى عملية التراجع.
remoteconfig:experiments:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
تعرض هذه الطريقة جميع Remote Config التجارب الخاصة بمشروع، مع إمكانية الفلترة وعدد التجارب المطلوب عرضها في كل صفحة (القيمة التلقائية هي 10) ورمز الصفحة كإزاحة البداية للقائمة.
remoteconfig:experiments:get \
EXPERIMENT_ID
تعرض هذه الطريقة تفاصيل Remote Config التجربة المحدّدة.
remoteconfig:experiments:delete \
EXPERIMENT_ID
تحذف هذه الطريقة Remote Config التجربة المحدّدة.
remoteconfig:rollouts:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
تعرض هذه الطريقة جميع Remote Config عمليات الطرح لمشروع، مع إمكانية الفلترة وعدد عمليات الطرح المطلوب عرضها في كل صفحة (القيمة التلقائية هي 10) ورمز الصفحة كإزاحة بدء للقائمة.
remoteconfig:rollouts:get \
ROLLOUT_ID
تعرض هذه الطريقة تفاصيل Remote Config الإصدار المحدّد.
remoteconfig:rollouts:delete \
ROLLOUT_ID
يحذف عملية طرح Remote Config المحدّدة.