ننصحك في معظم الحالات باستخدام عمليات النشر التلقائية أو عمليات النشر التي يتم تشغيلها يدويًا من وحدة تحكّم Firebase. ومع ذلك، قد تحتاج إلى استخدام عملية نشر أكثر تخصيصًا. App Hosting تتضمّن خيارات متعددة للنشر المخصّص.
النشر من المصدر باستخدام Firebase CLI
Firebase يتيح لك الإصدار 14.4.0 والإصدارات الأحدث من CLI إرسال رمز مصدر تطبيقك وإعداداته مباشرةً من جهازك المحلي إلى 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 لنشر تطبيقك بنجاح:
- رقم تعريف الخلفية التي سيتم النشر عليها
- المنطقة التي سيتم النشر فيها (إذا كنت تنشئ خلفية جديدة)
- المسار إلى الدليل الجذري للرمز البرمجي للتطبيق
- وقت تشغيل Node.js المفضّل لديك عند اختيار وقت تشغيل ذي إصدار، تطبِّق ميزة "التحديثات التلقائية للصور الأساسية" (ABIU) تلقائيًا تصحيحات الأمان على بيئتك الأساسية.
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 أخرى.
إعداد اتصال GitHub لـ CI/CD
يمكنك ربط مستودع GitHub في أي وقت في علامة التبويب النشر ضمن إعدادات الخلفية في وحدة تحكّم Firebase. يسمح لك ذلك بنشر نموذج أولي للتطبيق من بيئة محلية ثم الانتقال إلى مسار CI/CD آلي عندما تكون مستعدًا.
النشر باستخدام أدوات الذكاء الاصطناعي
سنوقف Firebase Studio في 22 مارس 2027. لن تتأثر خلفيات App Hosting، ولكن سيتم إيقاف الزر نشر في Firebase Studio. لمتابعة نشر التعديلات بدون تغيير عنوان URL، عليك نقل مشروعك. تعرَّف على كيفية نقل مشروعك.