طرق بديلة للنشر في "استضافة التطبيقات"

في معظم الأحيان، ننصح باستخدام عمليات الطرح التلقائية أو عمليات الطرح التي يتم تشغيلها يدويًا من وحدة تحكّم Firebase. ومع ذلك، قد تحتاج إلى سير عمل نشر أكثر تخصيصًا. يتضمّن App Hosting خيارات متعدّدة للنشر المخصّص.

النشر من المصدر باستخدام واجهة سطر الأوامر Firebase

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

عند النشر، يحمّل App Hosting الرمز المصدر إلى حزمة Google Cloud Storage، وينفّذ أمر إنشاء إطار العمل في Cloud Build، وينشر العناصر النهائية في Cloud Run وCloud CDN. تستخدم App Hosting عملية التصميم نفسها لعمليات نشر المصدر المحلية كما هو الحال في عمليات النشر من GitHub. إذا كان لديك ملف .gitignore في مشروعك، سيتم استبعاد الملفات والمجلدات المدرَجة فيه من عملية النشر.

لنشر تطبيقك من مصدر محلي، اتّبِع الخطوات التالية:

  1. نفِّذ firebase init apphosting في دليل مشروعك على جهاز المستخدم.
  2. عند ظهور الطلب، اختَر استخدام مشروع حالي، ثم اختَر مشروع Firebase الذي تم اختياره.
  3. اختَر إما نظامًا خلفيًا جديدًا أو حاليًا لنشره. وتعمل هذه الخطوة على إعداد عمليات النشر لدليلك المحلي، وتطلب منك المعلومات التي تحتاجها App Hosting لنشر تطبيقك بنجاح:App Hosting

    1. رقم تعريف الخلفية المطلوب نشرها
    2. المنطقة التي سيتم النشر فيها (في حال إنشاء خلفية جديدة)
    3. مسار الدليل الجذري للرمز البرمجي للتطبيق
    4. وقت تشغيل 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 لضمان التكامل المستمر/التسليم المستمر

يمكنك ربط مستودع GitHub في أي وقت من علامة التبويب النشر ضمن إعدادات الخلفية في وحدة تحكّم Firebase. يتيح لك ذلك نشر نموذج أولي للتطبيق من بيئة محلية، ثم الانتقال إلى مسار CI/CD مبرمَج عندما تكون مستعدًا.

النشر باستخدام أدوات الذكاء الاصطناعي

سنوقف نهائيًا خدمة Firebase Studio في 22 مارس 2027. مع أنّ App Hosting الخلفية لن تتأثر، سيتم إيقاف الزر نشر في Firebase Studio. لمواصلة نشر التحديثات بدون تغيير عنوان URL، عليك نقل مشروعك. تعرَّف على كيفية نقل البيانات.