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

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

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

يتيح لك الإصدار 14.4.0 من واجهة سطر الأوامر (CLI) والإصدارات الأحدث إرسال الرمز المصدر للتطبيق وإعداداته مباشرةً من جهازك المحلي إلى Firebase. ويكون ذلك مناسبًا إذا كان لديك عمليات نشر أخرى على 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، عليك نقل مشروعك. تعرَّف على كيفية نقل مشروعك.