النشر في البث المباشر معاينة القنوات عبر طلبات السحب في GitHub

يمكنك دمج عمليات النشر في Firebase Hosting من خلال GitHub Action. إليك ما يمكن أن يقدّمه لك هذا الإجراء في GitHub:

  • ينشئ قناة معاينة جديدة (وعنوان URL المرتبط بها) لكل طلب سحب في مستودع GitHub.

  • يضيف تعليقًا إلى طلب السحب يتضمّن عنوان URL للمعاينة ليتمكّن المراجعون من عرض التغييرات في طلب السحب واختبارها في إصدار "معاينة" من تطبيقك.

    صورة لتعليق على طلب سحب في GitHub Action يتضمّن عنوان URL للمعاينة

  • تعدّل عنوان URL الخاص بالمعاينة بإضافة التغييرات من كل عملية إيداع من خلال النشر تلقائيًا في قناة المعاينة المرتبطة. لا يتغيّر عنوان URL مع كل عملية إيداع جديدة.

  • (اختياري) ينشر هذا الخيار الحالة الحالية لمستودع GitHub على قناتك المباشرة عند دمج طلب السحب.

تذكير: عند استخدام عناوين URL للمعاينة، يتفاعل تطبيقك مع موارد الخلفية الحقيقية لمشروعك على Firebase.

إعداد GitHub Action للنشر على Firebase Hosting

  1. أنشئ مستودعًا على GitHub (عامًا أو خاصًا) أو استخدِم مستودعًا حاليًا. يجب أن يكون لديك أذونات المشرف للمستودع.

  2. في نسخة محلية من مستودعك، يمكنك إعداد Firebase Hosting باستخدام الأمر firebase init.

    • إذا لم تكن قد أعددت Hosting، نفِّذ إصدار الأمر التالي من جذر الدليل المحلي:

      firebase init hosting
    • إذا سبق لك إعداد Hosting، ما عليك سوى إعداد جزء GitHub Action من Hosting. نفِّذ هذه النسخة من الأمر من جذر الدليل المحلي:

      firebase init hosting:github
  3. اتّبِع التعليمات التي تظهر في واجهة سطر الأوامر، وسيتولّى الأمر تلقائيًا إعداد GitHub Action:

    • ينشئ هذا الأمر حساب خدمة في مشروعك على Firebase لديه إذن بالتوزيع على Firebase Hosting.

    • يشفّر مفتاح JSON لحساب الخدمة هذا ويحمّله إلى مستودع GitHub المحدّد كـ سر GitHub.

    • يكتب ملفات إعداد yaml لسير عمل GitHub تشير إلى السر الذي تم إنشاؤه حديثًا. تضبط هذه الملفات GitHub Action للنشر على Firebase Hosting.

  4. في GitHub، أنشئ فرعًا جديدًا وأضِف ملفات سير العمل yaml التي أنشأتها واجهة سطر الأوامر.

  5. انشر الفرع في مستودع GitHub.

  6. دمج الفرع

وهذا كل ما في الأمر! سيحصل تلقائيًا أي طلب سحب لاحق في مستودع GitHub هذا على "عنوان URL للمعاينة" خاص به.

مزيد من المعلومات حول GitHub Action