نشر بيئات متعددة من قاعدة رموز

من الشائع نشر بيئات متعددة من قاعدة التعليمات البرمجية نفسها، ولكل منها إعدادات مختلفة قليلاً. على سبيل المثال، قد تريد تخصيص وحدة معالجة مركزية (CPU) وذاكرة وصول عشوائي (RAM) أقل لبيئة الاختبار، أو قد تريد التأكّد من أنّ بيئة الإنتاج لديك تُبقي على الأقل مثيلاً واحدًا نشطًا وجاهزًا لتنفيذ الطلبات.

لمزيد من المعلومات حول البيئات، يمكنك الاطّلاع على نظرة عامة على البيئات وأفضل الممارسات العامة لإعداد مشاريع Firebase.

المتطلّبات الأساسية

الخطوة 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.

الخطوات اللاحقة