من الشائع نشر بيئات متعددة من قاعدة التعليمات البرمجية نفسها، ولكل منها إعدادات مختلفة قليلاً. على سبيل المثال، قد تريد تخصيص وحدة معالجة مركزية (CPU) وذاكرة وصول عشوائي (RAM) أقل لبيئة الاختبار، أو قد تريد التأكّد من أنّ بيئة الإنتاج لديك تُبقي على الأقل مثيلاً واحدًا نشطًا وجاهزًا لتنفيذ الطلبات.
لمزيد من المعلومات حول البيئات، يمكنك الاطّلاع على نظرة عامة على البيئات وأفضل الممارسات العامة لإعداد مشاريع Firebase.
المتطلّبات الأساسية
- رمز تطبيقك مخزَّن من قبل في GitHub.
- سبق لك إنشاء مشروع مختلف لكل بيئة من بيئاتك، مثل
my-production-firebase-project
وmy-staging-firebase-project
.
الخطوة 0: إعداد فرع خدمة الإنتاج
إذا كنت تفضّل نشر بيئة الإنتاج من فرع main
،
انتقِل مباشرةً إلى الخطوة التالية. إذا كنت تريد نشر الإنتاج من فرع آخر مثل، production
، يجب أولاً إنشاؤه على GitHub.
لإنشاء فرع إنتاج باستخدام واجهة مستخدم GitHub، يُرجى الاطّلاع على إنشاء فروع في المستودع وحذفها.
لإنشاء فرع إنتاج محليًا، يُرجى اتّباع الخطوات التالية:
$ git checkout -b production
$ git push origin production:production
الخطوة 1: ضبط إعدادات الإنتاج apphosting.yaml
لنفترض أنّك تريد التأكّد من أنّ جهاز الإنتاج يعمل دائمًا على جهاز واحد على الأقل
واستخدام بعض المتغيّرات في البيئة الخاصة بالإنتاج. يمكنك ضبط ذلك من خلال إنشاء ملف apphosting.yaml
في جذر المشروع باستخدام ما يلي:
# Saved at <repository root>/apphosting.yaml
runConfig:
minInstances: 1
env:
- variable: STORAGE_BUCKET
value: <production Cloud Storage bucket name>
للاطّلاع على قائمة كاملة بالإعدادات المتاحة، يُرجى الاطّلاع على ضبط استضافة التطبيقات.
بعد تعديل apphosting.yaml
، أرسِله إلى مستودع GitHub:
$ git add apphosting.yaml
$ git commit -m "Added production App Hosting backend configuration."
$ git push origin
الخطوة 2: نشر قاعدة الرموز في قناة الإصدار العلني
بمجرد تهيئة فرع git للإنتاج، يمكنك إنشاء واجهة خلفية جديدة لإنتاج App Hosting. للحصول على تعليمات تفصيلية، يُرجى الاطّلاع على بدء استخدام استضافة التطبيقات.
لإنشاء واجهة خلفية جديدة باستخدام "وحدة تحكُّم Firebase"، انتقِل إلى https://console.firebase.google.com/project/_/apphosting للبدء.
لإنشائه محليًا، يجب أولاً تثبيت واجهة سطر الأوامر من Firebase، ثم تشغيل:
firebase apphosting:backends:create --project <replace with your PRODUCTION project ID>
عندما ينجح هذا الأمر، يجب أن تكون الخلفية الخاصة بالإنتاج متاحة على الإنترنت، وسيتم تلقائيًا إنشاء ونشر أي التزامات جديدة إلى فرع الإنتاج لديك عبر "استضافة التطبيق".
الخطوة 3: إعداد فرع git المرحلي
يُرجى اتّباع الخطوات نفسها الواردة أعلاه لإنشاء الفرع المرحلي على GitHub:
$ git checkout -b staging
$ git push origin staging:staging
الخطوة 4: ضبط مرحلة apphosting.yaml
يجب أن يكون لدى الفرع المرحلي نسخة من
apphosting.yaml للإنتاج. دعنا نعدّلها بحيث يمكن لـ "استضافة التطبيقات" إيقاف بيئة التجميع
عندما لا تكون قيد الاستخدام، وتقوم أيضًا بضبط قيمة مختلفة
لمتغير بيئة STORAGE_BUCKET
.
# Saved at <repository root>/apphosting.yaml
runConfig:
minInstances: 0
env:
- variable: STORAGE_BUCKET
value: <some other staging Cloud Storage bucket name>
بعد الانتهاء من التعديلات، ادفع الملف إلى فرع التقسيم المرحلي:
$ git add apphosting.yaml
$ git commit -m "Added staging App Hosting backend configuration."
$ git push origin
الخطوة 5: تطبيق قاعدة الرموز على مراحل
بعد الانتهاء من إعداد فرع git المرحلي، يمكنك اتّباع الخطوات نفسها الواردة أعلاه لنشر قاعدة الرموز الخاصة بك في مرحلة التقسيم المرحلي:
firebase apphosting:backends:create --project <replace with your STAGING project ID>
بعد إكمال هذه الخطوة، ستكون لديك خلفتَان لاستضافة التطبيقات تدعمان قاعدة الرموز نفسها، إحداهما للإنتاج والأخرى للمراحل، وكلاهما في مشروع مختلف على Firebase.
الخطوات اللاحقة
- التعمّق أكثر: يمكنك الاطّلاع على درس تطبيقي حول ترميز Firebase يدمج تطبيقًا مُستضافًا مع ميزات مصادقة Firebase وتكنولوجيات الذكاء الاصطناعي من Google: Next.js | Angular
- ربط نطاق خاص
- اضبط الخلفية.
- مراقبة عمليات الطرح واستخدام الموقع الإلكتروني والسجلات