Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

לבדוק מקומית, לשתף שינויים ואז לפרוס בשידור חי

לפני פריסתך לאתר החי שלך, תרצה להציג ולבדוק את השינויים שלך. אירוח Firebase מאפשר לך להציג ולבדוק שינויים באופן מקומי ולקיים אינטראקציה עם משאבי פרויקט backend מדומה. אם אתה זקוק לחברי הצוות שלך כדי לבדוק ולבדוק את השינויים שלך, אירוח יכול ליצור כתובות תצוגה מקדימה זמניות הניתנות לשיתוף עבור האתר שלך. אנו אפילו תומכים בשילוב GitHub לפריסה מתוך בקשת משיכה.

לפני שאתה מתחיל

השלם את השלבים המופיעים בדף אירוח התחל , במיוחד את המשימות הבאות:

  1. התקן או עדכן את Firebase CLI לגרסה האחרונה שלה.
  2. חבר את ספריית הפרויקטים המקומית (המכילה את תוכן האפליקציה שלך) לפרויקט Firebase שלך.

באפשרותך לפרוס את תוכן האחסון של האפליקציה שלך ואת התצורה, אך זה לא תנאי מוקדם לשלבים בדף זה.

שלב 1: בדיקה מקומית

אם אתה מבצע איטרציות מהירות או שאתה רוצה שהאפליקציה שלך תקשר עם משאבי פרויקט backend מדומה, אתה יכול לבדוק את תוכן האירוח שלך ולהגדיר את התצורה המקומית. בעת בדיקה מקומית, Firebase משרת את אפליקציית האינטרנט שלך בכתובת אתר המתארחת באופן מקומי.

אירוח הוא חלק Suite Emulator המקומי Firebase , המאפשר האפליקציה כדי אינטראקציה עם תוכן config האירוח לחיקוי שלך, כמו גם אופציונלי משאבי הפרויקט לחיקוי שלך (פונקציות, מסדי נתונים, ותקנון).

  1. (אופציונלי) כברירת מחדל, האפליקציה המתארחת במקום תקיים אינטראקציה עם משאבי פרוייקט אמיתיים , לא מדומים , (פונקציות, מסד נתונים, כללים וכו '). במקום זאת, באפשרותך לחבר את האפליקציה שלך לשימוש בכל משאבי הפרויקט המדומים שהגדרת. למידע נוסף: מסד נתונים בזמן אמת | ענן Firestore | פונקציות ענן

  2. משורש ספריית הפרויקטים המקומית שלך, הפעל את הפקודה הבאה:

    firebase emulators:start
  3. פתח את אפליקציית האינטרנט שלך בכתובת האתר המקומית שהוחזרה על ידי ה- CLI (בדרך כלל http://localhost:5000 ).

  4. כדי לעדכן את כתובת האתר המקומית בשינויים, רענן את הדפדפן שלך.

בדוק ממכשירים מקומיים אחרים

כברירת מחדל, האמולטורים מגיבים רק לבקשות מ- localhost . פירוש הדבר שתוכל לגשת לתוכן המתארח שלך מדפדפן האינטרנט של המחשב שלך, אך לא ממכשירים אחרים ברשת שלך. אם תרצה לבדוק ממכשירים מקומיים אחרים, הגדר את firebase.json שלך כך:

"emulators": {
    // ...

    "hosting": {
      "port": 5000
      "host": "0.0.0.0"
    }
  }

שלב 2: תצוגה מקדימה ושיתוף

אם אתה רוצה שאחרים יראו שינויים באפליקציית האינטרנט שלך לפני העלייה לאוויר, תוכל להשתמש בערוצי תצוגה מקדימה.

לאחר פריסתך לערוץ תצוגה מקדימה, Firebase משרת את אפליקציית האינטרנט שלך ב"כתובת אתר לתצוגה מקדימה ", שהיא כתובת URL זמנית הניתנת לשיתוף. כאשר אתה משתמש בכתובת אתר לתצוגה מקדימה, אפליקציית האינטרנט שלך מתקשרת עם backend האמיתי שלך בכל משאבי הפרויקט.

שים לב שלמרות שקשה לנחש את כתובות האתרים לתצוגה מקדימה (מכיוון שהן מכילות hash אקראי), הן ציבוריות. אז כל מי שמכיר את כתובת האתר יכול לגשת אליו.

  1. משורש ספריית הפרויקטים המקומית שלך, הפעל את הפקודה הבאה:

    firebase hosting:channel:deploy CHANNEL_ID

    החלף את CHANNEL_ID במחרוזת ללא רווחים (לדוגמה, feature_mission-2-mars ). מזהה זה ישמש לבניית כתובת האתר המקדימה המשויכת לערוץ התצוגה המקדימה.

  2. פתח את אפליקציית האינטרנט שלך בכתובת האתר המקדימה שהוחזרה על ידי ה- CLI. זה ייראה בערך כך: PROJECT_ID -- CHANNEL_ID - RANDOM_HASH .web.app

  3. כדי לעדכן את כתובת האתר המקדימה שלך בשינויים, הפעל שוב את אותה פקודה. הקפד לציין את אותו CHANNEL_ID בפקודה.

למד אודות ניהול ערוצי תצוגה מקדימה , כולל כיצד להגדיר תפוגה של ערוץ.

אירוח Firebase תומך בפעולת GitHub היוצרת ומעדכנת אוטומטית כתובת אתר לתצוגה מקדימה כאשר אתה מבצע שינויים לבקשת משיכה. למד כיצד להגדיר ולהשתמש בפעולת GitHub זו .

שלב 3: פרוס בשידור חי

כשאתה מוכן לשתף את השינויים שלך עם העולם, פרוס את תוכן האחסון שלך והגדר אותו לערוץ החי שלך. Firebase מציע כמה אפשרויות שונות לשלב זה, בהתאם למקרה השימוש שלך (ראה אפשרויות בהמשך).

אפשרות 1: שיבוט מערוץ תצוגה מקדימה לערוץ החי שלך

אפשרות זו מספקת ביטחון שאתה מפיץ לערוץ החי שלך את התוכן המדויק ואת התצורה שבדקת בערוץ תצוגה מקדימה. למידע נוסף על גרסאות שיבוט .

  1. מכל ספריה, הפעל את הפקודה הבאה:

    firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live

    החלף כל מציין מיקום באלה:

    • SOURCE_SITE_ID ו- TARGET_SITE_ID : אלה המזהים של אתרי האחסון המכילים את הערוצים.

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

      • עבור ערוץ חי, השתמש live כמזהה הערוץ.
  2. הצג את השינויים שלך (השלב ​​הבא).

אפשרות 2: פרוס מספריית הפרויקטים המקומית שלך לערוץ החי שלך

אפשרות זו מספקת לך גמישות להתאים תצורות ספציפיות לערוץ החי או לפרוס גם אם לא השתמשת בערוץ תצוגה מקדימה.

  1. משורש ספריית הפרויקטים המקומית שלך, הפעל את הפקודה הבאה:

    firebase deploy --only hosting
  2. הצג את השינויים שלך (השלב ​​הבא).

שלב 4: הצג את השינויים שלך באתר החי שלך

שתי האפשרויות לעיל לפרוס את תוכן האירוח שלך ולהגדיר את האתרים הבאים:

  • תת-הדומיינים המסופקים על ידי Firebase לאתר אירוח ברירת המחדל שלך ולכל אתרי אירוח נוספים:
    SITE_ID .web.app (כמו PROJECT_ID .web.app )
    SITE_ID .firebaseapp.com (כמו PROJECT_ID .firebaseapp.com )

  • כל הדומיינים המותאמים אישית שחיברת לאתרי אירוח שלך

כדי להגביל את הפריסה לאתר אירוח ספציפי, ציין יעד פריסה בפקודת CLI שלך.

אחרים פורסים פעילויות ומידע

הוסף הערה לפריסה

באפשרותך להוסיף הערה לפריסה. תגובה זו תוצג עם פרטי הפריסה האחרים בלוח המחוונים של אירוח במסוף Firebase. לדוגמה:

firebase deploy --only hosting -m "Deploying the best new feature ever."

הוסף משימות סקריפט פריסה מוקדמת ופריסה לאחר ביצוע

באפשרותך לחבר סקריפטים של מעטפת לפקודת firebase deploy firebase לביצוע משימות פריסה מוקדמת או פוסט. לדוגמא, וו postdeploy יכול להודיע ​​למנהלי מערכת על פריסות של תכני אתרים חדשים. לקבלת פרטים נוספים, עיין בתיעוד CLI של Firebase .

אחסון במטמון תוכן פרוס

כאשר מתבצעת בקשה לתוכן סטטי , אירוח Firebase מאחסן אוטומטית את התוכן ב- CDN. אם אתה מפרס מחדש את תוכן האתר שלך, Firebase מנקה אוטומטית את כל התוכן הסטטי שלך במטמון ברחבי ה- CDN כך שבקשות חדשות יקבלו את התוכן החדש שלך.

שים לב שאתה יכול להגדיר את הקובץ השמור של תוכן דינמי .

מגישים באמצעות HTTPS

ודא שכל המשאבים החיצוניים שאינם מתארחים ב- Firebase Hosting נטענים באמצעות SSL (HTTPS), כולל סקריפטים חיצוניים כלשהם. מרבית הדפדפנים אינם מאפשרים למשתמשים לטעון "תוכן מעורב" (תעבורת SSL ולא SSL).

הצעדים הבאים