إدارة عمليات الطرح والإصدارات

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

بالإضافة إلى ذلك، يتيح App Hosting عمليات الطرح التي يتم تشغيلها يدويًا لدمج CI/CD أو أي حالة أخرى تريد فيها فرض عملية طرح.

عرض عمليات الطرح

تتيح وحدة تحكّم "Firebase" الوصول إلى معلومات تفصيلية حول جميع عمليات طرح تطبيقك.

انتقِل إلى الاستضافة والحوسبة بدون خادم> استضافة التطبيقات، ثم انقر على عرض للخلفية التي تريد الاطّلاع على عمليات طرحها. تعرض علامة التبويب عمليات الطرح للواجهة الخلفية جدولاً يسرد سجلّاً لجميع عمليات الطرح لهذه الواجهة الخلفية.

يحتوي كل إدخال على روابط تؤدي إلى مهمة Cloud Build والتغيير أو عملية الإرسال التي أدّت إلى بدء عملية الطرح، بالإضافة إلى معلومات أساسية عن المؤلف وتاريخ الإنشاء وحالة عملية الطرح.

  • مهمة Cloud Build هي بيئة الإصدار التي يشغّل فيها App Hosting أمر إصدار تطبيقك. يمكنك الوصول إلى سجلات Cloud Build من خلال النقر على رقم تعريف الإصدار.
  • التغيير هو عملية الإرسال في GitHub أو أي إجراء آخر أدّى إلى بدء عملية الطرح.

بدء عملية طرح يدويًا

إذا أردت بدء عملية طرح يدويًا من مصدر GitHub بدون إرسال عملية تثبيت جديدة، يمكنك إنشاء عملية طرح من وحدة تحكّم Firebase أو واجهة سطر أوامر Firebase. ويكون ذلك مفيدًا في حالات مثل:

  • فرض إعادة إنشاء المحتوى الثابت
  • السماح لنظام CI/CD بتشغيل عمليات الطرح
  • قصر عمليات طرح الإصدارات في قناة الإصدار العلني على تواريخ أو أوقات محدّدة

لبدء عملية طرح في وحدة تحكّم "Firebase"، اتّبِع الخطوات التالية:

  1. في وحدة تحكّم Firebase، انتقِل إلى الاستضافة والحوسبة بدون خادم > استضافة التطبيقات.
  2. انقر على عرض للواجهة الخلفية التي تريد إنشاء عملية طرح لها.
  3. في ملخّص لوحة البيانات الخلفية، انقر على إنشاء عملية طرح.
  4. اختَر الفرع الذي تريد نشره.
  5. اختَر عملية النشر التي تريد نشرها، سواء كانت أحدث عملية نشر أو عملية نشر سابقة محدّدة بمعرّفها.
  6. انقر على إنشاء. يتم عرض الحالة ورقم الإصدار لعملية الطرح في جدول سجلّ الطرح. عند اكتمال عملية الطرح، يتم عرض هذا الطرح على أنّه الطرح الحالي.

لبدء عملية طرح في واجهة سطر الأوامر في Firebase، نفِّذ الأمر التالي واختَر الفرع الذي تريد طرحه عندما يُطلب منك ذلك:

firebase apphosting:rollouts:create BACKEND_ID

بدلاً من ذلك، يمكنك بدء عملية طرح لآخر عملية دمج لفرع معيّن باستخدام الخيار --git-branch:

firebase apphosting:rollouts:create BACKEND_ID
--git-branch BRANCH_NAME

يمكنك أيضًا إنشاء عملية طرح باستخدام عملية دمج محدّدة من خلال الخيار --git-commit:

firebase apphosting:rollouts:create BACKEND_ID
--git-commit COMMIT_ID

استعادة نسخة سابقة من عملية طرح

يوفّر لك App Hosting خيارَين لاستعادة عملية طرح سابقة:

  • العودة إلى الإصدار السابق فورًا بدون إعادة الإنشاء
  • إعادة إنشاء الإصدار السابق والعودة إليه

إنشاء عملية تراجع فورية

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

لإنشاء عملية تراجع فوري:

  1. في وحدة تحكّم Firebase، انتقِل إلى الاستضافة والحوسبة بدون خادم > استضافة التطبيقات.
  2. انقر على عرض للواجهة الخلفية التي تريد إنشاء عملية تراجع لها.
  3. اختَر علامة التبويب عمليات الطرح.
  4. في جدول السجلّ الخاص بالخلفية، انقر على قائمة الخيارات الإضافية لإصدار سابق.
  5. اختَر العودة إلى هذا الإصدار وأكِّد الإجراء.

إعادة الإنشاء والعودة إلى الإصدار السابق

إذا أردت العودة إلى إصدار قديم من تطبيقك مع الاحتفاظ بالإعدادات الحالية، يمكنك إعادة إنشاء التطبيق كجزء من عملية العودة إلى إصدار سابق. على سبيل المثال، إذا كان أحدث إصدار قد عدّل قيمة مفتاح واجهة برمجة التطبيقات في Secret Manager، فإنّ إعادة الإنشاء تضمن استخدام المفتاح الجديد في تطبيقك بعد العودة إلى الإصدار السابق.

لإعادة الإنشاء والتراجع عن التغييرات:

  1. في وحدة تحكّم Firebase، انتقِل إلى الاستضافة والحوسبة بدون خادم > استضافة التطبيقات.
  2. انقر على عرض لوحة البيانات للخلفية التي تريد إنشاء عملية تراجع لها.
  3. اختَر علامة التبويب عمليات الطرح.
  4. اختَر إنشاء عملية طرح.
  5. في مربّع الحوار إنشاء عملية طرح، اختَر عملية تنفيذ سابقة، ثم أدخِل رقم تعريف عملية التنفيذ للإصدار الذي تريد إعادة إنشائه والعودة إليه. ويكون رقم تعريف عملية الإرسال جزءًا من "تفاصيل التغيير" لكل عملية طرح مُدرَجة في سجلّ الطرح، ويكون مُدرَجًا بين قوسين في التصنيف.
  6. انقر على إنشاء لبدء عملية العودة إلى إصدار سابق.

تغيير إعدادات الطرح

يمكنك تغيير الفرع المباشر لعمليات الطرح وإيقاف أو تفعيل عمليات الطرح التلقائية باستخدام عناصر التحكّم في عرض الإعدادات > النشر في لوحة البيانات الخاصة بالخلفية.

  1. في وحدة تحكّم Firebase، انتقِل إلى الاستضافة والحوسبة بدون خادم > استضافة التطبيقات.
  2. انقر على عرض للخلفية التي تريد تعديل إعدادات طرحها.
  3. في لوحة البيانات الخلفية، اختَر الإعدادات (Settings). يعرض العرض التلقائي معلومات حول النطاقات والنطاقات الخاصة.
  4. اختَر طريقة العرض النشر. في طريقة العرض هذه، يمكنك تغيير الفرع المنشور لعمليات الطرح وإيقاف عمليات الطرح التلقائية أو تفعيلها. تتوفّر أيضًا خيارات لضبط الدليل الجذري للتطبيق وبيئة الخلفية (يُرجى الاطّلاع على النشر في بيئات متعدّدة).

إدارة عمليات الطرح التلقائية

By default, App Hosting assumes a "required" list of all files, meaning every new commit to your repository triggers a new build and rollout. ومع ذلك، لتوفير الوقت ومنع عمليات النشر غير الضرورية، يمكنك ضبط App Hosting لتخطّي عمليات الإنشاء استنادًا إلى مسارات الملفات المحدّدة التي تم تعديلها في عملية تنفيذ.

يمكنك ضبط ذلك ضمن الإعدادات > عمليات الطرح > عوامل تشغيل الطرح. هنا، يمكنك ترك المسارات المطلوبة فارغة إذا كنت تريد أن تؤدي كل عملية إرسال جديدة إلى المستودع إلى إنشاء إصدار جديد وطرحه، أو يمكنك تحديد الأدلة أو الملفات التي يجب أن تؤدي دائمًا إلى طرح إصدار جديد. إذا حدّدت أدلة، تأكَّد من إضافة جميع المسارات التي من المفترض أن تؤدي التغييرات فيها إلى بدء عملية طرح.

لن تؤدي الأدلّة أو الملفات التي تضيفها إلى المسارات التي تم تجاهلها إلى بدء عملية طرح تلقائية. في الحالات التي يندرج فيها دليل فرعي ضمن كل من القائمتَين المطلوبة والمتجاهَلة، لن يتم تفعيل عملية طرح تلقائية. إذا ملأت قائمة المسارات التي تم تجاهلها فقط، سيملأ App Hosting تلقائيًا "*" للمسارات المطلوبة.

لقطة شاشة لواجهة المستخدم الموضّحة في هذه الصفحة

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