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 אחד או יותר בפרויקט Firebase יחיד. מכיוון שהאתרים נמצאים באותו פרויקט Firebase, כל האתרים יכולים לגשת למשאבי Firebase האחרים של הפרויקט.

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

שלב 1 : עדכן את גרסת CLI של Firebase

גש לתכונות העדכניות ביותר של אירוח Firebase על ידי עדכון לגרסה האחרונה של Firebase CLI .

שלב 2 : הוסף אתרים נוספים

הוסף אתרים נוספים לפרויקט Firebase באמצעות אחת מהשיטות הבאות:

  • השתמש בתהליך העבודה בדף האירוח של מסוף Firebase

  • השתמש בפקודה CLI של Firebase: firebase hosting:sites:create SITE_ID

  • השתמש ב- API של REST אירוח:projects.sites.create

עבור כל אחת משיטות אלה, תציין SITE_ID המשמש לבניית תת-דומיינים המשמשים כברירת מחדל של Firebase לאתר:

  • SITE_ID .web.app
  • SITE_ID .firebaseapp.com

מכיוון ש- SITE_ID משמש לכתובות אתרים אלה, למזהה האתר יש את הדרישות הבאות:

  • חייב להיות תווית חוקית של מארח, כלומר היא לא יכולה להכיל . , _ וכו '
  • חייב להכיל 30 תווים או פחות
  • חייב להיות ייחודי ברחבי העולם בתוך Firebase

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

מחק אתר משני

מחק אתרים לא רצויים מפרויקט Firebase באמצעות אחת מהשיטות הבאות:

  • השתמש בתהליך העבודה בדף האחסון של קונסולת Firebase

  • השתמש בפקודה CLI של Firebase: firebase hosting:sites:delete SITE_ID

  • השתמש ב- API של REST אירוח:projects.sites.delete

שים לב שאתה לא יכול למחוק את אתר ברירת המחדל, שיש לו אותו SITE_ID כמו מזהה הפרויקט שלך ב- Firebase.

שלב 3 : הגדר יעדי פריסה לאתרים שלך

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

כדי ליצור יעד פריסה ולהחיל TARGET_NAME על אתר אירוח, הפעל את פקודת CLI הבאה משורש ספריית הפרויקט שלך:

firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER

היכן הפרמטרים הם:

  • TARGET_NAME - שם ייחודי (שהגדרת בעצמך) לאתר האירוח שאליו אתה פורש

  • RESOURCE_IDENTIFIER - ה- SITE_ID עבור אתר האירוח כמופיע בפרויקט Firebase שלך

לדוגמה, אם יצרת שני אתרים ( myapp-blog ו- myapp-app ) בפרויקט Firebase שלך, תוכל להחיל TARGET_NAME ייחודי ( blog app , בהתאמה) על כל אתר על ידי הפעלת הפקודות הבאות:

firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app

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

שלב 4 : הגדר את תצורת האירוח עבור כל אתר

השתמש ב- TARGET_NAME שהוחל על האתר כאשר אתה מגדיר את תצורת האירוח שלו בקובץ firebase.json שלך.

  • אם הקובץ firebase.json מגדיר את התצורה עבור מספר אתרים, השתמש בתבנית מערך:

    {
      "hosting": [ {
          "target": "blog",  // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog"
          "public": "blog/dist",  // contents of this folder are deployed to the site "myapp-blog"
    
          // ...
        },
        {
          "target": "app",  // "app" is the applied TARGET_NAME for the Hosting site "myapp-app"
          "public": "app/dist",  // contents of this folder are deployed to the site "myapp-app"
    
          // ...
    
          "rewrites": [...]  // You can define specific Hosting configurations for each site
        }
      ]
    }
    
  • אם הקובץ firebase.json מגדיר את התצורה לאתר אחד בלבד, אין צורך להשתמש בפורמט מערך:

    {
      "hosting": {
          "target": "blog",
          "public": "dist",
    
          // ...
    
          "rewrites": [...]
      }
    }
    

שלב 5 : בדיקה מקומית, תצוגה מקדימה של שינויים ופריסה לאתרים שלך

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

פקודה תיאור
firebase emulators:start --only hosting מחקה את תוכן האחסון ואת התצורה של אתר האחסון המוגדר כברירת מחדל בכתובת URL המתארחת במקום
firebase emulators:start --only hosting: TARGET_NAME מחקה את תוכן האחסון ואת התצורה של אתר האחסון שצוין בכתובת אתר המתארחת באופן מקומי
firebase hosting:channel:deploy \
CHANNEL_ID
פורס את תוכן האחסון ואת התצורה של אתר האחסון המוגדר כברירת מחדל בכתובת אתר מקדימה
firebase hosting:channel:deploy \
CHANNEL_ID --only TARGET_NAME
פורס את תוכן האחסון והתצורה של אתר האחסון שצוין בכתובת אתר מקדימה
firebase deploy --only hosting פורס את תוכן האחסון ואת התצורה לערוץ החי של כל אתרי firebase.json המוגדרים ב- firebase.json
firebase deploy --only hosting: TARGET_NAME פורס את תוכן האחסון ואת התצורה לערוץ החי של אתר האחסון שצוין
פקודה תיאור
(לא מומלץ; השתמש emulators:start במקום)
firebase serve --only hosting
משרת את תוכן האחסון ואת התצורה של אתר האחסון המוגדר כברירת מחדל בכתובת אתר המתארחת באופן מקומי
(לא מומלץ; השתמש emulators:start במקום)
firebase serve --only hosting: TARGET_NAME
משרת את תוכן האחסון ואת התצורה של אתר האחסון שצוין בכתובת אתר המתארחת באופן מקומי