يوفر 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 وتشغيله، اتبع الخطوات التالية:
قم بتنزيل برنامج Firebase CLI الثنائي لنظام التشغيل Windows .
قم بالوصول إلى الملف الثنائي لفتح shell حيث يمكنك تشغيل أمر
firebase
.استمر في تسجيل الدخول واختبار واجهة سطر الأوامر (CLI) .
npm
لاستخدام npm
(مدير حزم العقدة) لتثبيت Firebase CLI، اتبع الخطوات التالية:
قم بتثبيت Node.js باستخدام nvm-windows (مدير إصدار Node). يؤدي تثبيت Node.js إلى تثبيت أدوات أوامر
npm
تلقائيًا.قم بتثبيت Firebase CLI عبر
npm
عن طريق تشغيل الأمر التالي:npm install -g firebase-tools
يمكّن هذا الأمر أمر
firebase
المتوفر عالميًا.استمر في تسجيل الدخول واختبار واجهة سطر الأوامر (CLI) .
ماك أو لينكس
يمكنك تثبيت Firebase CLI لنظام التشغيل macOS أو Linux باستخدام أحد الخيارات التالية:
خيار | وصف | تنصح ل... |
---|---|---|
برنامج التثبيت التلقائي | قم بتشغيل أمر واحد يكتشف نظام التشغيل الخاص بك تلقائيًا، ويقوم بتنزيل أحدث إصدار لواجهة سطر الأوامر (CLI)، ثم يقوم بتمكين أمر firebase المتوفر عالميًا. | المطورين الجدد المطورون لا يستخدمون Node.js أو ليسوا على دراية بها النشر الآلي في بيئة CI/CD |
ثنائي مستقل | قم بتنزيل الملف الثنائي المستقل لـ CLI. وبعد ذلك، يمكنك تكوين الملف الثنائي وتشغيله ليناسب سير عملك. | سير عمل قابل للتخصيص بالكامل باستخدام واجهة سطر الأوامر (CLI). |
npm | استخدم npm (مدير حزمة Node) لتثبيت واجهة سطر الأوامر (CLI) وتمكين أمر firebase المتوفر عالميًا. | المطورون يستخدمون Node.js |
برنامج التثبيت التلقائي
لتثبيت Firebase CLI باستخدام البرنامج النصي للتثبيت التلقائي، اتبع الخطوات التالية:
قم بتشغيل أمر cURL التالي:
curl -sL https://firebase.tools | bash
يكتشف هذا البرنامج النصي نظام التشغيل الخاص بك تلقائيًا، ويقوم بتنزيل أحدث إصدار من Firebase CLI، ثم يقوم بتمكين أمر
firebase
المتوفر عالميًا.استمر في تسجيل الدخول واختبار واجهة سطر الأوامر (CLI) .
لمزيد من الأمثلة والتفاصيل حول البرنامج النصي للتثبيت التلقائي، راجع التعليمات البرمجية المصدر للبرنامج النصي على firebase.tools .
ثنائي مستقل
لتنزيل وتشغيل الملف الثنائي لواجهة سطر أوامر Firebase الخاصة بنظام التشغيل لديك، اتبع الخطوات التالية:
قم بتنزيل برنامج Firebase CLI الثنائي لنظام التشغيل لديك: macOS | لينكس
(اختياري) قم بإعداد أمر
firebase
المتوفر عالميًا.- اجعل الملف الثنائي قابلاً للتنفيذ عن طريق تشغيل
chmod +x ./firebase_tools
. - أضف المسار الثنائي إلى PATH الخاص بك.
- اجعل الملف الثنائي قابلاً للتنفيذ عن طريق تشغيل
استمر في تسجيل الدخول واختبار واجهة سطر الأوامر (CLI) .
npm
لاستخدام npm
(مدير حزم العقدة) لتثبيت Firebase CLI، اتبع الخطوات التالية:
قم بتثبيت Node.js باستخدام nvm (مدير إصدار Node).
يؤدي تثبيت Node.js إلى تثبيت أدوات أوامرnpm
تلقائيًا.قم بتثبيت Firebase CLI عبر
npm
عن طريق تشغيل الأمر التالي:npm install -g firebase-tools
يمكّن هذا الأمر أمر
firebase
المتوفر عالميًا.استمر في تسجيل الدخول واختبار واجهة سطر الأوامر (CLI) .
قم بتسجيل الدخول واختبار Firebase CLI
بعد تثبيت CLI، يجب عليك المصادقة. وبعد ذلك يمكنك تأكيد المصادقة من خلال إدراج مشاريع Firebase الخاصة بك.
قم بتسجيل الدخول إلى Firebase باستخدام حساب Google الخاص بك عن طريق تشغيل الأمر التالي:
firebase login
يقوم هذا الأمر بتوصيل جهازك المحلي بـ Firebase ويمنحك حق الوصول إلى مشاريع Firebase الخاصة بك.
اختبر تثبيت واجهة سطر الأوامر (CLI) بشكل صحيح وإمكانية الوصول إلى حسابك عن طريق إدراج مشاريع Firebase الخاصة بك. قم بتشغيل الأمر التالي:
firebase projects:list
يجب أن تكون القائمة المعروضة مماثلة لمشاريع Firebase المدرجة في وحدة تحكم Firebase .
قم بالتحديث إلى أحدث إصدار من CLI
بشكل عام، تريد استخدام أحدث إصدار من Firebase CLI.
تعتمد كيفية تحديث إصدار واجهة سطر الأوامر (CLI) على نظام التشغيل الخاص بك وكيفية تثبيت واجهة سطر الأوامر (CLI).
شبابيك
- الثنائي المستقل : قم بتنزيل الإصدار الجديد ، ثم استبدله على نظامك
- npm : قم بتشغيل
npm install -g firebase-tools
ماك
- برنامج التثبيت التلقائي : قم بتشغيل
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 والبيئات الأخرى التي لا يمكن التحكم فيها.
على جهاز به متصفح، قم بتثبيت Firebase CLI .
ابدأ عملية تسجيل الدخول عن طريق تشغيل الأمر التالي:
firebase login:ci
قم بزيارة عنوان URL المقدم، ثم قم بتسجيل الدخول باستخدام حساب Google.
طباعة رمز التحديث الجديد. لن تتأثر جلسة CLI الحالية.
قم بتخزين رمز الإخراج بطريقة آمنة ولكن يمكن الوصول إليها في نظام CI الخاص بك.
استخدم هذا الرمز المميز عند تشغيل أوامر
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
الذي يسرد تكوين مشروعك.ملف
.firebaserc
يقوم بتخزين الأسماء المستعارة لمشروعك.
ملف 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 \ | يوجه جميع الأوامر للتشغيل على مشروع Firebase المحدد. تستخدم واجهة سطر الأوامر (CLI) هذا المشروع باعتباره "المشروع النشط" حاليًا. |
firebase use --clear | مسح المشروع النشط. قم بتشغيل |
firebase use \ | إزالة الاسم المستعار من دليل المشروع الخاص بك. |
يمكنك تجاوز ما يتم استخدامه كمشروع نشط حاليًا عن طريق تمرير علامة --project
مع أي أمر CLI. على سبيل المثال: يمكنك ضبط واجهة سطر الأوامر (CLI) الخاصة بك ليتم تشغيلها مقابل مشروع Firebase الذي قمت بتعيين الاسم staging
. إذا كنت تريد تشغيل أمر واحد ضد مشروع Firebase الذي قمت بتعيين الاسم prod
له، فيمكنك تشغيل، على سبيل المثال،
.
التحكم بالمصادر والأسماء المستعارة للمشروع
بشكل عام، يجب عليك التحقق من ملف .firebaserc
الخاص بك في التحكم بالمصادر للسماح لفريقك بمشاركة الأسماء المستعارة للمشروع. ومع ذلك، بالنسبة للمشاريع مفتوحة المصدر أو القوالب المبدئية، يجب عليك بشكل عام عدم التحقق من ملف .firebaserc
الخاص بك.
إذا كان لديك مشروع تطوير مخصص لاستخدامك فقط، فيمكنك إما تمرير علامة --project
مع كل أمر أو تشغيل firebase use PROJECT_ID
دون تعيين اسم مستعار لمشروع Firebase.
خدمة واختبار مشروع Firebase الخاص بك محليًا
يمكنك عرض مشروع Firebase الخاص بك واختباره على عناوين URL المستضافة محليًا قبل النشر إلى الإنتاج. إذا كنت تريد فقط اختبار الميزات المحددة، فيمكنك استخدام قائمة مفصولة بفواصل في علامة في أمر firebase serve
.
قم بتشغيل الأمر التالي من جذر دليل المشروع المحلي الخاص بك إذا كنت تريد القيام بأي من المهام التالية:
- اعرض المحتوى الثابت لتطبيقك المستضاف على Firebase.
- استخدم Cloud Functions لإنشاء محتوى ديناميكي لاستضافة Firebase وتريد استخدام وظائف HTTP الإنتاجية (المنتشرة) لمحاكاة الاستضافة على عنوان 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 الخاصة بك
- وظائف السحابة الجديدة أو المحدثة أو الموجودة لـ 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 الخاص بك. يأخذ الأمر العلامات التالية:
|
مخزن النار: قواعد البيانات: قائمة | قم بإدراج قواعد البيانات في مشروع Firebase الخاص بك. |
مخزن النار: قواعد البيانات: احصل على DATABASE_ID | احصل على تكوين قاعدة البيانات لقاعدة بيانات محددة في مشروع Firebase الخاص بك. |
مخزن النار: قواعد البيانات: تحديث DATABASE_ID | قم بتحديث تكوين قاعدة البيانات لقاعدة بيانات محددة في مشروع Firebase الخاص بك. مطلوب علم واحد على الأقل. يأخذ الأمر العلامات التالية:
|
مخزن النار: قواعد البيانات: حذف DATABASE_ID | احذف قاعدة بيانات في مشروع Firebase الخاص بك. |
مخزن النار: الفهارس | قم بإدراج فهارس قاعدة البيانات في مشروع Firebase الخاص بك. يأخذ الأمر العلامة التالية:
|
مخزن النار: حذف | حذف المستندات الموجودة في قاعدة بيانات المشروع النشط. باستخدام واجهة سطر الأوامر (CLI)، يمكنك حذف كافة المستندات الموجودة في المجموعة بشكل متكرر. لاحظ أن حذف بيانات Cloud Firestore باستخدام واجهة سطر الأوامر (CLI) يؤدي إلى تكاليف القراءة والحذف. لمزيد من المعلومات، راجع فهم فواتير Cloud Firestore . يأخذ الأمر العلامة التالية:
|
وظائف السحابة لأوامر 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 النشط باستخدام (اختياري) حدد تطبيق ويب Firebase موجود لربطه بالموقع الجديد عن طريق تمرير العلامة التالية: |
استضافة Firebase:المواقع:حذف \ SITE_ID | حذف موقع الاستضافة المحدد تعرض واجهة سطر الأوامر (CLI) رسالة تأكيد قبل حذف الموقع. (اختياري) قم بتخطي رسالة التأكيد عن طريق تمرير العلامات التالية: |
استضافة Firebase:المواقع:get \ SITE_ID | يسترد معلومات حول موقع الاستضافة المحدد |
استضافة Firebase:المواقع:قائمة | يسرد جميع مواقع الاستضافة لمشروع Firebase النشط |
إدارة قنوات المعاينة | |
استضافة Firebase:القناة:إنشاء \ 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 | استنساخ الإصدار المحدد لقناة "الهدف" المحدد ينشر هذا الأمر أيضًا إلى قناة "الهدف" المحددة. إذا لم تكن قناة "الهدف" موجودة بعد ، فإن هذا الأمر ينشئ قناة معاينة جديدة في موقع الاستضافة "الهدف" قبل الانتشار على القناة. يمكنك العثور على |
أوامر قاعدة بيانات الوقت الحقيقي
لاحظ أنه يمكنك إنشاء مثيل لقاعدة بيانات 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 قبل المتابعة إلى التراجع. |