في معظم الأحيان، ننصحك باستخدام عمليات الطرح التلقائية أو عمليات الطرح التي يتم تشغيلها يدويًا من وحدة تحكّم Firebase. ومع ذلك، قد تحتاج إلى استخدام مسار نشر أكثر تخصيصًا. يتضمّن App Hosting خيارات متعدّدة للنشر المخصّص.
النشر من المصدر باستخدام واجهة سطر الأوامر Firebase
تتيح لك واجهة سطر الأوامر (CLI) بالإصدار 14.4.0 والإصدارات الأحدث إرسال رمز المصدر وإعدادات تطبيقك مباشرةً من جهازك إلى Firebase.Firebase ويكون ذلك مناسبًا إذا كان لديك عمليات نشر أخرى في Firebase (مثل قواعد الأمان أو الدوال) وأردت نشر تطبيق الويب والخدمات الخلفية معًا باستخدام أمر واحد من واجهة سطر الأوامر.
عند النشر، تحمّل App Hosting الرمز المصدر إلى حزمة Google Cloud Storage، وتنفّذ أمر إنشاء إطار العمل في Cloud Build، وتنشر النتائج النهائية إلى Cloud Run وCloud CDN. تستخدم App Hosting
عملية الإنشاء نفسها لعمليات نشر المصدر المحلية كما هو الحال في عمليات النشر على GitHub. إذا كان لديك ملف .gitignore في مشروعك، سيتم استبعاد الملفات والمجلدات المدرَجة فيه من عملية النشر.
لنشر تطبيقك من مصدر محلي، اتّبِع الخطوات التالية:
- نفِّذ
firebase init apphostingفي دليل مشروعك على الجهاز. - عند ظهور الطلب، اختَر استخدام مشروع حالي، ثم اختَر مشروع Firebase الذي تريد استخدامه.
اختَر إما نظامًا خلفيًا جديدًا أو حاليًا لنشره. تعمل هذه الخطوة على إعداد عمليات نشر خدمة استضافة التطبيقات لدليلك المحلي، وتطلب منك المعلومات التي تحتاجها App Hosting لنشر تطبيقك بنجاح:
- رقم تعريف الخلفية التي سيتم نشرها
- المنطقة التي سيتم النشر فيها (في حال إنشاء خلفية جديدة)
- مسار الدليل الجذر لرمز التطبيق
يحفظ App Hosting إعدادات النشر المفضّلة في
firebase.json(مع إنشاء الملف في مشروعك المحلي إذا لم يكن متوفّرًا). بعد اكتمال عملية الإعداد بنجاح، يمكنك تشغيلfirebase deployلنشر الرمز المصدر على App Hosting.
إذا كانت لديك عمليات نشر مصدر محلّي تم إعدادها لخوادم خلفية متعددة (ما يعني أنّ هناك إدخالات backendId متعددة في firebase.json)، سيتم نشر firebase deploy على كل خادم من هذه الخوادم الخلفية. للنشر على خادم خلفي معيّن، استخدِم
firebase deploy --only apphosting:backendId
مثال على ملف firebase.json
{
"apphosting": [
{
"backendId": "my-backend",
// rootDir specifies the directory containing the app to deploy, but the entire
// parent directory of firebase.json will be zipped and uploaded to ensure that
// dependencies outside of the app directory will be available at build time.
"rootDir": "./my-app",
"ignore": [
"node_modules",
".git",
"firebase-debug.log",
"firebase-debug.*.log",
"functions",
],
},
]
}
النشر باستخدام Terraform
إذا كنت بحاجة إلى تحكّم أكبر في عملية الإنشاء والبيئة التي تم نشرها، يمكنك النشر باستخدام Terraform. تتيح لك Terraform تحديد موارد App Hosting وإدارتها باستخدام ملفات إعداد تعريفية، كما تتيح لك نشر صورة حاوية مسبقة الإنشاء مباشرةً إلى App Hosting بدلاً من الاعتماد على App Hosting لإنشاء صورة من رمز المصدر.
إذا كنت تستخدم Terraform للمرة الأولى، يمكنك الاطّلاع على كيفية البدء باستخدام Terraform وFirebase. إذا كنت على دراية بـ Terraform، يمكنك البدء باستخدام ملفات الإعداد النموذجية وغيرها من App Hosting المراجع.
النشر باستخدام Firebase Studio
عند إنشاء تطبيق ويب باستخدام أداة "نماذج التطبيقات الأولية" في Firebase Studio، يمكنك نشره أو نشره على Firebase App Hosting مباشرةً من Firebase Studio. اطّلِع على نشر تطبيقك باستخدام "استضافة التطبيقات".
إعداد عملية ربط GitHub لعملية التكامل المستمر/التسليم المستمر
يمكنك ربط مستودع GitHub في أي وقت من علامة التبويب النشر ضمن إعدادات الخلفية في وحدة تحكّم Firebase. يتيح لك ذلك نشر نموذج أولي للتطبيق من بيئة محلية، مثل Firebase Studio أو بيئة تطوير متكاملة أخرى، ثم الانتقال إلى عملية CI/CD مبرمَجة عند الاستعداد لذلك.