نشر الأهداف هي معرّفات الأسماء القصيرة (التي تحدّدها بنفسك) لما يلي: تتضمن موارد Firebase في مشروعك على Firebase، مثل موقع Hosting إلكتروني فريد مواد العرض الثابتة أو مجموعة من Realtime Database الأجهزة الافتراضية التي تشترك في مستوى الأمان نفسه القواعد.
تكون عملية نشر الأهداف مفيدة عندما يكون لديك عدة مواقع Hosting، عدة مجموعات بيانات Cloud Storage، أو أمثلة Realtime Database متعددة باستخدام أهداف النشر، يمكن لواجهة سطر الأوامر Firebase تفعيل الإعدادات على واجهة برمجة تطبيقات مورد Firebase أو مجموعة موارد في مشروعك، مثل:
- إعدادات الاستضافة لكل موقع من مواقعك الإلكترونية التي يبلغ عددها Hosting
- مواد العرض الثابتة من دليل مشروعك لكل Hosting المواقع الإلكترونية
- قواعد الأمان التي تشاركها بين مثيلات متعدّدة من Realtime Database أو عدّة مثيلات Cloud Storage مجموعة بيانات
لإعداد هدف نشر:
- تطبيق
TARGET_NAME
على Firebase المستهدَف لمورد أو مجموعة من موارد Firebase. - في ملف
firebase.json
، الإشارة إلىTARGET_NAME
المرتبطة عند ضبط الإعدادات لكل مورد أو مجموعة من الموارد.
عند تشغيل Firebase أوامر CLI (مثل
firebase deploy
)، يعمل واجهة سطر الأوامر Firebase على إقران كل TARGET_NAME
مع
موارد Firebase المرتبطة بها. يتواصل واجهة سطر الأوامر بعد ذلك مع Firebase
لمشروع الإعدادات لكل مورد.
إعداد أهداف النشر لموارد Firebase
باستخدام واجهة سطر الأوامر Firebase، طبِّق TARGET_NAME
(معرّف اسم مختصر
تحدّده بنفسك) إلى أحد موارد Firebase أو مجموعة من موارد Firebase.
وتتيح منصة Firebase نشر الأهداف لما يلي:
- Firebase Hosting موقع إلكتروني
- Cloud Storage for Firebase حزمة تخزين
- Firebase Realtime Database مثال
يتم تخزين إعدادات نشر الأهداف في ملف .firebaserc
في
دليل المشروع، لذا تحتاج فقط إلى إعداد نشر الأهداف مرة واحدة لكل
مشروعك.
إعداد أهداف النشر لـ Hosting
لإنشاء هدف نشر وتطبيق TARGET_NAME
على موقع إلكتروني تابع لـ Hosting، شغِّل
أمر CLI التالي:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
أماكن ظهور المَعلمات:
TYPE - نوع مورد Firebase المناسب
- بالنسبة إلى Firebase Hosting موقع إلكتروني، استخدِم
hosting
.
- بالنسبة إلى Firebase Hosting موقع إلكتروني، استخدِم
TARGET_NAME — اسم فريد لموقع Hosting الإلكتروني الذي تعرضه النشر إلى
RESOURCE_IDENTIFIER —
SITE_ID
لموقع Hosting الإلكتروني مُدرَجة في مشروعك على Firebase
على سبيل المثال، إذا أنشأت موقعَين.
(myapp-blog
وmyapp-app
) في مشروعك على Firebase، يمكنك تطبيق
TARGET_NAME
فريدة (blog
وapp
، على التوالي) لكل موقع إلكتروني من خلال تنفيذ
الأوامر التالية:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
إعداد أهداف النشر لـ Cloud Storage أو Realtime Database
لإنشاء هدف نشر وتطبيق TARGET_NAME
على مجموعة من
موارد Cloud Storage أو Realtime Database، يمكنك تشغيل واجهة سطر الأوامر التالية
:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
أماكن ظهور المَعلمات:
TYPE - نوع مورد Firebase المناسب
- بالنسبة إلى Cloud Storage حزمة، استخدِم
storage
. - بالنسبة إلى Realtime Database مثال، يمكنك استخدام
database
.
- بالنسبة إلى Cloud Storage حزمة، استخدِم
TARGET_NAME — اسم فريد للمورد أو مجموعة الموارد التي تتشارك قواعد الأمان
RESOURCE_IDENTIFIER — معرّفات الموارد كـ مُدرَجة في مشروعك على Firebase (مثل أسماء حِزم التخزين أو قاعدة البيانات) المثيلات الافتراضية) التي تشترك جميعها في قواعد الأمان نفسها
على سبيل المثال، يمكنك تطبيق قيمة TARGET_NAME
لـ main
على مجموعة مكوّنة من ثلاث مجموعات.
مجموعات Cloud Storage الإقليمية (التي تشترك جميعها في قواعد الأمان نفسها)
عن طريق تشغيل الأمر التالي:
firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja
يُرجى العِلم أنّ myproject.appspot.com
هو معرّف الحزمة التلقائية
بينما myproject-eu
وmyproject-ja
هما حزمتان إضافيتان تم إنشاؤهما في
لمشروع Firebase.
ضبط ملف firebase.json لاستخدام الأهداف
بعد إعداد أهداف النشر لموارد Firebase، أشِر إلى كل
تم تطبيق "TARGET_NAME
" في
ملف إعداد firebase.json
:
- إنشاء مصفوفة من عناصر الإعداد لكل مورد في Firebase باسم
TYPE
(hosting
أوstorage
أوdatabase
). - في الصفائف، حدِّد
target
(باستخدامTARGET_NAME
) وحدِّد إعداداتك لمورد Firebase المرتبط أو مجموعة موارد Firebase.
متابعة الأمثلة المذكورة أعلاه، حيث يتضمن مشروعك في Firebase اثنين
Hosting موقع إلكتروني وثلاث مجموعات بيانات من نوع Cloud Storage (تشترك في نفس الشيء
(قواعد الأمان)، سيبدو ملف firebase.json
على النحو التالي:
{ "hosting": [ { "target": "blog", // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog" "public": "blog/dist", // contents of this folder are deployed to the site "myapp-blog" // ... }, { "target": "app", // "app" is the applied TARGET_NAME for the Hosting site "myapp-app" "public": "app/dist", // contents of this folder are deployed to the site "myapp-app" // ... "rewrites": [...] // You can define specific Hosting configurations for each site } ] } { "storage": [ { "target": "main", // "main" is the applied TARGET_NAME for the group of Cloud Storage buckets "rules": "storage.main.rules" // the file that contains the shared security rules } ] }
إذا كانت لديك عمليات ضبط متعددة لمواردك، يمكنك إنشاء عدة إعدادات.
نشر الأهداف وتحديد كل هدف في ملف firebase.json
. كل المرتبطة
سيتم نشر الموارد معًا عند تشغيل firebase deploy
.
إدارة أهداف النشر
يتم تخزين إعدادات نشر الأهداف في ملف .firebaserc
في
دليل المشروع. ويمكنك إدارة أهداف النشر لمشروعك من خلال تشغيل أي
للأوامر التالية من جذر دليل المشروع.
الطلب | الوصف |
---|---|
firebase target
|
يسرد أهداف النشر لدليل مشروعك الحالي |
firebase target:remove \
|
إزالة مورد من الهدف الذي تم تعيينه إليه |
firebase target:clear \
|
يؤدي هذا الإجراء إلى إزالة جميع الموارد أو موقع Hosting الإلكتروني من الموقع الإلكتروني المحدَّد. الهدف |
يعمل الأمران target:remove
وtarget:clear
على تعديل عملية النشر تلقائيًا.
الإعدادات المستهدفة في ملف .firebaserc
بدليل مشروعك.
الاختبار محليًا قبل النشر
شغِّل أيًا من الأوامر التالية من جذر دليل المشروع.
الطلب | الوصف |
---|---|
firebase emulators:start
|
يحاكي جميع الموارد التي تم ضبطها في مشروعك. الدليل |
firebase emulators:start \ |
يحاكي فقط محتوى Hosting وإعداداته. موقع Hosting الإلكتروني المحدد |
firebase emulators:start \
|
يحاكي ملف القواعد لعنصر Cloud Storage المحدَّد فقط. الهدف |
firebase emulators:start \
|
يحاكي ملف القواعد لهدف Realtime Database المحدَّد فقط. |
مزيد من المعلومات حول ضبط واستخدام Firebase Local Emulator Suite
تفعيل موارد Firebase محدّدة
شغِّل أيًا من الأوامر التالية من جذر دليل المشروع.
الطلب | الوصف |
---|---|
firebase deploy
|
إنشاء إصدار لجميع الموارد القابلة للنشر في مشروعك الدليل |
firebase deploy \
|
لا تنشر سوى محتوى Hosting وإعدادات تم تحديد موقع Hosting الإلكتروني للقناة المباشرة الخاصة بالموقع الإلكتروني. |
firebase hosting:channel:deploy CHANNEL_ID \ |
لا تنشر سوى محتوى Hosting وإعدادات تم تحديد موقع Hosting الإلكتروني إلى قناة معاينة لـ الموقع الإلكتروني |
firebase deploy \
|
نشر ملف القواعد لـ Cloud Storage المحدد فقط الهدف |
firebase deploy \
|
نشر ملف القواعد فقط لهدف Realtime Database المحدّد |