مرجع Firebase CLI

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

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

قم بإعداد أو تحديث CLI

قم بتثبيت Firebase CLI

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

ويندوز ماك لينكس

شبابيك

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

خيار وصف تنصح ل...
ثنائي مستقل قم بتنزيل الملف الثنائي المستقل لـ CLI. بعد ذلك، يمكنك الوصول إلى الملف القابل للتنفيذ لفتح shell حيث يمكنك تشغيل أمر firebase . المطورين الجدد

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

ثنائي مستقل

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

  1. قم بتنزيل برنامج Firebase CLI الثنائي لنظام التشغيل Windows .

  2. قم بالوصول إلى الملف الثنائي لفتح shell حيث يمكنك تشغيل أمر firebase .

  3. استمر في تسجيل الدخول واختبار واجهة سطر الأوامر (CLI) .

npm

لاستخدام npm (مدير حزم العقدة) لتثبيت Firebase CLI، اتبع الخطوات التالية:

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

  2. قم بتثبيت Firebase CLI عبر npm عن طريق تشغيل الأمر التالي:

    npm install -g firebase-tools

    يمكّن هذا الأمر أمر firebase المتوفر عالميًا.

  3. استمر في تسجيل الدخول واختبار واجهة سطر الأوامر (CLI) .

ماك أو لينكس

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

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

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

النشر الآلي في بيئة CI/CD
ثنائي مستقل قم بتنزيل الملف الثنائي المستقل لـ CLI. وبعد ذلك، يمكنك تكوين الملف الثنائي وتشغيله ليناسب سير عملك. سير عمل قابل للتخصيص بالكامل باستخدام واجهة سطر الأوامر (CLI).
npm استخدم npm (مدير حزمة Node) لتثبيت واجهة سطر الأوامر (CLI) وتمكين أمر firebase المتوفر عالميًا. المطورون يستخدمون Node.js

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

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

  1. قم بتشغيل أمر cURL التالي:

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

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

  2. استمر في تسجيل الدخول واختبار واجهة سطر الأوامر (CLI) .

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

ثنائي مستقل

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

  1. قم بتنزيل برنامج Firebase CLI الثنائي لنظام التشغيل لديك: macOS | لينكس

  2. (اختياري) قم بإعداد أمر firebase المتوفر عالميًا.

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

npm

لاستخدام npm (مدير حزم العقدة) لتثبيت Firebase CLI، اتبع الخطوات التالية:

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

  2. قم بتثبيت Firebase CLI عبر npm عن طريق تشغيل الأمر التالي:

    npm install -g firebase-tools

    يمكّن هذا الأمر أمر firebase المتوفر عالميًا.

  3. استمر في تسجيل الدخول واختبار واجهة سطر الأوامر (CLI) .

قم بتسجيل الدخول واختبار Firebase CLI

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

  1. قم بتسجيل الدخول إلى Firebase باستخدام حساب Google الخاص بك عن طريق تشغيل الأمر التالي:

    firebase login

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

  2. اختبر تثبيت واجهة سطر الأوامر (CLI) بشكل صحيح وإمكانية الوصول إلى حسابك عن طريق إدراج مشاريع Firebase الخاصة بك. قم بتشغيل الأمر التالي:

    firebase projects:list

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

قم بالتحديث إلى أحدث إصدار من CLI

بشكل عام، تريد استخدام أحدث إصدار من Firebase CLI.

تعتمد كيفية تحديث إصدار واجهة سطر الأوامر (CLI) على نظام التشغيل الخاص بك وكيفية تثبيت واجهة سطر الأوامر (CLI).

شبابيك

ماك

  • برنامج التثبيت التلقائي : قم بتشغيل curl -sL https://firebase.tools | upgrade=true bash
  • الثنائي المستقل : قم بتنزيل الإصدار الجديد ، ثم استبدله على نظامك
  • npm : قم بتشغيل npm install -g firebase-tools

لينكس

  • برنامج التثبيت التلقائي : قم بتشغيل curl -sL https://firebase.tools | upgrade=true bash
  • الثنائي المستقل : قم بتنزيل الإصدار الجديد ، ثم استبدله على نظامك
  • npm : قم بتشغيل npm install -g firebase-tools

استخدم CLI مع أنظمة CI

تتطلب واجهة سطر الأوامر (CLI) الخاصة بـ Firebase وجود متصفح لإكمال المصادقة، ولكن واجهة سطر الأوامر (CLI) متوافقة تمامًا مع CI والبيئات الأخرى التي لا يمكن التحكم فيها.

  1. على جهاز به متصفح، قم بتثبيت Firebase CLI .

  2. ابدأ عملية تسجيل الدخول عن طريق تشغيل الأمر التالي:

    firebase login:ci
  3. قم بزيارة عنوان URL المقدم، ثم قم بتسجيل الدخول باستخدام حساب Google.

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

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

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

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

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

تهيئة مشروع Firebase

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

لتهيئة مشروع Firebase جديد، قم بتشغيل الأمر التالي من داخل دليل تطبيقك:

firebase init

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

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

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

  • حدد مشروع Firebase الافتراضي.

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

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

في نهاية التهيئة، يقوم Firebase تلقائيًا بإنشاء الملفين التاليين في جذر دليل التطبيق المحلي الخاص بك:

ملف firebase.json

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

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

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

فيما يلي مثال لملف firebase.json بالإعدادات الافتراضية إذا قمت بتحديد Firebase Hosting وCloud Firestore وCloud Functions for Firebase (مع تحديد مصدر TypeScript وخيارات الوبر) أثناء التهيئة.

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

أثناء استخدام firebase.json افتراضيًا، يمكنك تمرير علامة --config PATH لتحديد ملف تكوين بديل.

التكوين لقواعد بيانات Cloud Firestore المتعددة

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

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

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

ملفات وظائف السحابة التي يجب تجاهلها عند النشر

في وقت نشر الوظيفة، تحدد واجهة سطر الأوامر (CLI) تلقائيًا قائمة بالملفات الموجودة في دليل functions لتجاهلها. يمنع هذا النشر إلى الواجهة الخلفية للملفات الدخيلة التي قد تزيد من حجم بيانات النشر.

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

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

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

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

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

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

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

firebase use --add

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

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

لاستخدام الأسماء المستعارة المخصصة لمشروع Firebase، قم بتشغيل أي من الأوامر التالية من داخل دليل المشروع الخاص بك.

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

قم بتشغيل firebase use PROJECT_ID|ALIAS لتعيين مشروع نشط جديد قبل تشغيل أوامر CLI الأخرى.

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

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

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

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

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

خدمة واختبار مشروع Firebase الخاص بك محليًا

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

قم بتشغيل الأمر التالي من جذر دليل المشروع المحلي الخاص بك إذا كنت تريد القيام بأي من المهام التالية:

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 الخاصة بك
  • وظائف السحابة الجديدة أو المحدثة أو الموجودة لـ Firebase
  • قواعد قاعدة بيانات Firebase Realtime
  • قواعد التخزين السحابي لـ Firebase
  • قواعد Cloud Firestore
  • فهارس لسحابة Firestore

للنشر في مشروع Firebase، قم بتشغيل الأمر التالي من دليل المشروع الخاص بك:

firebase deploy

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

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

ليس من الممكن حاليًا التراجع عن إصدارات قواعد الأمان الخاصة بـ Firebase Realtime Database أو Cloud Storage for Firebase أو Cloud Firestore.

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

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

firebase deploy --only hosting,storage

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

بناء جملة العلم تم نشر الخدمة أو الميزة
--only hosting محتوى استضافة Firebase
--only database قواعد قاعدة بيانات Firebase Realtime
--only storage التخزين السحابي لقواعد Firebase
--only firestore قواعد وفهارس Cloud Firestore لجميع قواعد البيانات التي تم تكوينها
--only functions وظائف السحابة لـ Firebase (من الممكن وجود إصدارات أكثر تحديدًا من هذه العلامة )

نشر وظائف محددة

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

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

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

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

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

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');

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 CLI الأوامر والخيارات التالية لحذف الوظائف التي تم نشرها مسبقًا:

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

    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 لمهمة ما بعد النشر التي ترسل رسالة 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 فقط) موقع الدليل الذي يحتوي على موارد الاستضافة أو وظائف السحابة التي سيتم نشرها

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

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

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

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

مرجع الأمر

الأوامر الإدارية لـ CLI

يأمر وصف
يساعد يعرض معلومات المساعدة حول واجهة سطر الأوامر (CLI) أو أوامر محددة.
فيه يقوم بربط مشروع Firebase جديد وإعداده في الدليل الحالي. يقوم هذا الأمر بإنشاء ملف تكوين firebase.json في الدليل الحالي.
تسجيل الدخول يقوم بتوثيق واجهة سطر الأوامر (CLI) لحساب Firebase الخاص بك. يتطلب الوصول إلى متصفح الويب.
لتسجيل الدخول إلى واجهة سطر الأوامر (CLI) في البيئات البعيدة التي لا تسمح بالوصول إلى localhost ، استخدم الأمر --no-localhost .
تسجيل الدخول: سي يُنشئ رمز مصادقة مميزًا للاستخدام في البيئات غير التفاعلية.
تسجيل خروج تسجيل الخروج من واجهة سطر الأوامر (CLI) من حساب Firebase الخاص بك.
يفتح يفتح المتصفح لموارد المشروع ذات الصلة.
المشاريع: قائمة يسرد جميع مشاريع Firebase التي يمكنك الوصول إليها.
يستخدم يضبط مشروع Firebase النشط لواجهة سطر الأوامر (CLI).
يدير الأسماء المستعارة للمشروع .

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

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

النشر والتنمية المحلية

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

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

أوامر توزيع التطبيقات

يأمر وصف
توزيع التطبيق: توزيع \
--التطبيق FIREBASE_APP_ID
يجعل البناء متاحًا للمختبرين.
توزيع التطبيق:اختبار:إضافة يضيف المختبرين إلى المشروع.
توزيع التطبيق:اختبار:إزالة يزيل المختبرين من المشروع.

أوامر المصادقة (إدارة المستخدم).

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

أوامر Cloud Firestore

يأمر وصف
مخزن الإطفاء: المواقع

قم بإدراج المواقع المتاحة لقاعدة بيانات Cloud Firestore الخاصة بك.

مخزن النار: قواعد البيانات: إنشاء DATABASE_ID

قم بإنشاء مثيل قاعدة بيانات في الوضع الأصلي في مشروع Firebase الخاص بك.

يأخذ الأمر العلامات التالية:

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

قم بإدراج قواعد البيانات في مشروع Firebase الخاص بك.

مخزن النار: قواعد البيانات: احصل على DATABASE_ID

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

مخزن النار: قواعد البيانات: تحديث DATABASE_ID

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

مطلوب علم واحد على الأقل. يأخذ الأمر العلامات التالية:

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

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

مخزن النار: الفهارس

قم بإدراج فهارس قاعدة البيانات في مشروع Firebase الخاص بك.

يأخذ الأمر العلامة التالية:

  • --database DATABASE_ID لتحديد اسم قاعدة البيانات التي سيتم سرد الفهارس لها. إذا لم يتم توفيرها، يتم سرد الفهارس لقاعدة البيانات الافتراضية.
مخزن النار: حذف

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

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

يأخذ الأمر العلامة التالية:

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

وظائف السحابة لأوامر Firebase

يأمر وصف
الوظائف: التكوين: استنساخ استنساخ بيئة مشروع آخر في مشروع Firebase النشط.
الوظائف: التكوين: الحصول على يسترد قيم التكوين الحالية للوظائف السحابية للمشروع النشط.
الوظائف: التكوين: مجموعة يخزن قيم تكوين وقت التشغيل للوظائف السحابية للمشروع النشط.
الوظائف: التكوين: غير محدد إزالة القيم من تكوين وقت تشغيل المشروع النشط.
الوظائف:سجل يقرأ السجلات من وظائف السحابة المنشورة.

لمزيد من المعلومات، راجع وثائق تكوين البيئة .

أوامر Crashlytics

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

أوامر الامتدادات

يأمر وصف
تحويلة يعرض معلومات حول كيفية استخدام أوامر Firebase Extensions.
يسرد مثيلات الامتداد المثبتة في المشروع النشط.
تحويلة: تكوين \
EXTENSION_INSTANCE_ID
يعيد تكوين قيم المعلمات لمثيل الامتداد في بيان الامتداد الخاص بك.
تحويلة: معلومات \
PUBLISHER_ID/EXTENSION_ID
طباعة معلومات مفصلة حول الامتداد.
تحويلة: تثبيت \
PUBLISHER_ID/EXTENSION_ID
يضيف مثيلًا جديدًا للامتداد إلى بيان الامتداد الخاص بك.
تحويلة: قائمة يسرد جميع مثيلات الامتداد المثبتة في مشروع Firebase.
طباعة معرف المثيل لكل ملحق.
تحويلة: إلغاء التثبيت \
EXTENSION_INSTANCE_ID
يزيل مثيل الامتداد من بيان الامتداد الخاص بك.
تحويلة: تحديث \
EXTENSION_INSTANCE_ID
يقوم بتحديث مثيل الامتداد إلى الإصدار الأحدث في بيان الامتداد الخاص بك.
تحويلة: تصدير تصدير جميع مثيلات الامتداد المثبتة من مشروعك إلى بيان الامتداد الخاص بك.

أوامر ناشر الإضافات

يأمر وصف
تحويلة: ديف: الحرف الأول تهيئة قاعدة التعليمات البرمجية الهيكلية لملحق جديد في الدليل الحالي.
تحويلة:ديف:قائمة \
PUBLISHER_ID
طباعة قائمة بجميع الملحقات التي تم تحميلها بواسطة الناشر.
تحويلة:ديف:تسجيل يسجل مشروع Firebase كمشروع ناشر للملحقات .
تحويلة:ديف:إهمال \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
يتجاهل إصدارات الامتداد التي تطابق مسند الإصدار.
يمكن أن يكون مسند الإصدار إصدارًا واحدًا (مثل 1.0.0 )، أو مجموعة من الإصدارات (مثل >1.0.0 ).
إذا لم يتم توفير مسند الإصدار، فسيتم إهمال جميع إصدارات هذا الامتداد.
تحويلة:ديف:إلغاء الإهمال \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
يلغي إهمال إصدارات الامتداد التي تطابق مسند الإصدار.
يمكن أن يكون مسند الإصدار إصدارًا واحدًا (مثل 1.0.0 )، أو مجموعة من الإصدارات (مثل >1.0.0 ).
إذا لم يتم توفير مسند الإصدار، فسيتم إلغاء إهمال جميع إصدارات هذا الامتداد.
تحويلة:ديف:تحميل \
PUBLISHER_ID/EXTENSION_ID
تحميل نسخة جديدة من الامتداد.
تحويلة:ديف:الاستخدام \
PUBLISHER_ID
يعرض أعداد التثبيت ومقاييس الاستخدام للإضافات التي تم تحميلها بواسطة الناشر.

أوامر الاستضافة

يأمر وصف
الاستضافة: تعطيل

يتوقف عن خدمة حركة مرور استضافة Firebase لمشروع Firebase النشط.

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

إدارة مواقع الاستضافة
استضافة Firebase:المواقع:إنشاء \
SITE_ID

إنشاء موقع استضافة جديد في مشروع Firebase النشط باستخدام SITE_ID المحدد

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

استضافة Firebase:المواقع:حذف \
SITE_ID

حذف موقع الاستضافة المحدد

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

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

استضافة Firebase:المواقع:get \
SITE_ID

يسترد معلومات حول موقع الاستضافة المحدد

استضافة Firebase:المواقع:قائمة

يسرد جميع مواقع الاستضافة لمشروع Firebase النشط

إدارة قنوات المعاينة
استضافة Firebase:القناة:إنشاء \
CHANNEL_ID

إنشاء قناة معاينة جديدة في موقع الاستضافة الافتراضي باستخدام CHANNEL_ID المحدد

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

استضافة Firebase:القناة:حذف \
CHANNEL_ID

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

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

استضافة Firebase:القناة:نشر \
CHANNEL_ID

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

إذا لم تكن قناة المعاينة موجودة بعد، فسيقوم هذا الأمر بإنشاء القناة في موقع الاستضافة الافتراضي قبل النشر إلى القناة.

استضافة Firebase: القناة: القائمة يسرد جميع القنوات (بما في ذلك القناة "المباشرة") في موقع الاستضافة الافتراضي
استضافة Firebase:القناة:فتح \
CHANNEL_ID
يفتح المتصفح على عنوان URL للقناة المحددة أو يعرض عنوان URL إذا كان الفتح في المتصفح غير ممكن
استنساخ الإصدار
استضافة Firebase:استنساخ \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

استنساخ أحدث إصدار تم نشره على قناة "المصدر" المحدد إلى قناة "الهدف" المحدد

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

استضافة Firebase: استنساخ \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

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

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

يمكنك العثور على VERSION_ID في لوحة معلومات الاستضافة لوحدة التحكم Firebase.

أوامر قاعدة بيانات الوقت الحقيقي

لاحظ أنه يمكنك إنشاء مثيل لقاعدة بيانات REATIME الأولية الافتراضية في وحدة التحكم في Firebase أو عن طريق استخدام تدفق General firebase init أو تدفق firebase init database المحددة.

بمجرد إنشاء الحالات ، يمكنك إدارتها كما تمت مناقشتها في إدارة مثيلات قاعدة بيانات الوقت الفعلي المتعددة .

يأمر وصف
قاعدة البيانات: الحصول على يجلب البيانات من قاعدة بيانات المشروع النشط ويعرضها على أنها JSON. يدعم الاستعلام عن البيانات المفهرسة.
قاعدة البيانات: الحالات: إنشاء ينشئ مثيل قاعدة بيانات باسم مثيل محدد. يقبل خيار --location لإنشاء قاعدة بيانات في منطقة محددة. لكي تستخدم أسماء المنطقة مع هذا الخيار ، راجع تحديد مواقع لمشروعك . في حالة عدم وجود مثيل قاعدة بيانات للمشروع الحالي ، يُطلب منك تشغيل firebase init Flow لإنشاء مثيل.
قاعدة البيانات: الحالات: قائمة قائمة جميع مثيلات قاعدة البيانات لهذا المشروع. يقبل خيار --location لقواعد البيانات في منطقة محددة. لكي تستخدم أسماء المنطقة مع هذا الخيار ، راجع محدد مواقع لمشروعك .
قاعدة البيانات: الملف الشخصي يبني ملف تعريف للعمليات على قاعدة بيانات المشروع النشط. لمزيد من التفاصيل ، ارجع إلى أنواع تشغيل قاعدة بيانات الوقت الحقيقي .
قاعدة البيانات: دفع يدفع بيانات جديدة إلى قائمة في موقع محدد في قاعدة بيانات المشروع النشط. يأخذ مدخلات من ملف أو stdin أو وسيطة سطر الأوامر.
قاعدة البيانات: إزالة يحذف جميع البيانات في موقع محدد في قاعدة بيانات المشروع النشط.
قاعدة البيانات: تعيين يحل محل جميع البيانات في موقع محدد في قاعدة بيانات المشروع النشط. يأخذ مدخلات من ملف أو stdin أو وسيطة سطر الأوامر.
قاعدة البيانات: تحديث يؤدي تحديثًا جزئيًا في موقع محدد في قاعدة بيانات المشروع النشط. يأخذ مدخلات من ملف أو stdin أو وسيطة سطر الأوامر.

أوامر التكوين عن بعد

يأمر وصف
remoteconfig: الإصدارات: قائمة \
NUMBER_OF_VERSIONS
يسرد أحدث عشرة إصدارات من القالب. حدد 0 لإرجاع جميع الإصدارات الموجودة ، أو تمرير خيار --limit اختياريًا للحد من عدد الإصدارات التي يتم إرجاعها.
remoteconfig: احصل على \
-V ، version_number VERSION_NUMBER
-O ، FILENAME الإخراج
يحصل على القالب حسب الإصدار (الإعدادات الافتراضية لأحدث إصدار) ويؤدي إلى إخراج مجموعات المعلمات والمعلمات وأسماء الحالة والإصدار في جدول. اختياريا ، يمكنك كتابة الإخراج إلى ملف محدد مع -o, FILENAME .
remoteconfig: رد \
-V ، version_number VERSION_NUMBER
--قوة
Rolls مرة أخرى قالب التكوين عن بُعد إلى رقم الإصدار السابق المحدد أو الافتراضيات إلى الإصدار السابق المباشر (الإصدار الحالي -1). ما لم يتم تمرير --force ، يطالب Y/N قبل المتابعة إلى التراجع.