פריסה בשידור חי & תצוגה מקדימה של ערוצים באמצעות בקשות משיכה ב-GitHub

אפשר לשלב פריסות ב-Firebase Hosting באמצעות GitHub Action. אלה הפעולות שאפשר לבצע באמצעות פעולת GitHub הזו:

  • יוצר ערוץ תצוגה מקדימה חדש (ואת כתובת ה-URL המשויכת לתצוגה המקדימה) לכל בקשת משיכה במאגר GitHub.

  • מוסיף הערה לבקשת משיכת השינויים עם כתובת ה-URL של התצוגה המקדימה, כדי שאתם וכל בודק יוכלו לראות ולבדוק את השינויים בבקשת משיכת השינויים בגרסת טרום-השקה של האפליקציה.

    תמונה של תגובה ב-PR של GitHub Action עם כתובת URL לתצוגה מקדימה

  • מעדכן את כתובת ה-URL של התצוגה המקדימה עם שינויים מכל פעולת commit על ידי פריסה אוטומטית לערוץ התצוגה המקדימה המשויך. כתובת ה-URL לא משתנה עם כל קומיט חדש.

  • (אופציונלי) כשממזגים את ה-PR, המערכת פורסת את המצב הנוכחי של מאגר GitHub בערוץ השידור.

תזכורת: כשמשתמשים בכתובות URL לתצוגה מקדימה, האפליקציה מקיימת אינטראקציה עם משאבי ה-Backend האמיתיים של פרויקט Firebase.

הגדרת פעולת GitHub לפריסה ב-Firebase Hosting

  1. יוצרים מאגר GitHub (ציבורי או פרטי) או משתמשים במאגר קיים. צריכות להיות לכם הרשאות אדמין במאגר.

  2. בגרסה מקומית של המאגר, מגדירים את Firebase Hosting באמצעות הפקודה firebase init.

    • אם לא הגדרתם את Hosting, מריצים את הגרסה הזו של הפקודה מהספרייה הראשית המקומית:

      firebase init hosting
    • אם כבר הגדרתם את Hosting, אתם צריכים להגדיר רק את החלק של GitHub Action ב-Hosting. מריצים את הגרסה הזו של הפקודה מהרמה הבסיסית (root) של הספרייה המקומית:

      firebase init hosting:github
  3. פועלים לפי ההנחיות ב-CLI, והפקודה תדאג באופן אוטומטי להגדרת GitHub Action:

    • יוצר חשבון שירות בפרויקט Firebase עם הרשאה לפריסה אל Firebase Hosting.

    • הכלי מצפין את מפתח ה-JSON של חשבון השירות ומעלה אותו למאגר GitHub שצוין כסוד של GitHub.

    • כותב קובצי הגדרה של תהליך עבודה ב-GitHub‏ yaml שמפנים לסוד שנוצר. הקובץ הזה מגדיר את פעולת GitHub לפריסה אל Firebase Hosting.

  4. ב-GitHub, יוצרים הסתעפות חדשה ומבצעים commit לקובצי yaml של תהליך העבודה שנוצרו על ידי ה-CLI.

  5. מפרסמים את ההסתעפות במאגר שלכם ב-GitHub.

  6. ממזגים את הענף.

זהו זה! כל בקשת משיכה (PR) שתוגש בהמשך במאגר GitHub הזה תקבל באופן אוטומטי כתובת URL משלה לתצוגה מקדימה.

מידע נוסף על GitHub Action