אפשר להגדיר אתר אחד או יותר בFirebase Hostingפרויקט Firebase אחד. מכיוון שכל האתרים נמצאים באותו פרויקט ב-Firebase, לכל האתרים יש גישה למשאבים אחרים של Firebase בפרויקט.
- לכל אתר יש הגדרת אירוח משלו.
- כל אתר מארח אוסף תוכן משלו.
- לכל אתר יכול להיות דומיין משויך אחד או יותר.
אם מגדירים כמה Hosting אתרים באותו פרויקט Firebase, קל יותר לשתף משאבי Firebase בין אתרים ואפליקציות קשורים. לדוגמה, אם הגדרתם את הבלוג, את לוח האדמין ואת האפליקציה הציבורית כאתרים נפרדים באותו פרויקט Firebase, כולם יכולים לחלוק את אותו מסד נתונים של משתמשים, וגם לכל אחד מהם יכולים להיות דומיינים או תכנים ייחודיים משלו.Firebase Authentication
שלב 1: עדכון גרסת Firebase CLI
כדי לקבל גישה לתכונות העדכניות ביותר של Firebase Hosting, צריך לעבור לגרסה האחרונה של Firebase CLI.
שלב 2: מוסיפים אתרים נוספים
כדי להוסיף אתרים נוספים לפרויקט Firebase, אפשר להשתמש באחת מהשיטות הבאות:
משתמשים בתהליך העבודה בדף Hosting במסוף Firebase
משתמשים בפקודת Firebase CLI:
firebase hosting:sites:create SITE_ID
שימוש ב-Hosting REST API:
projects.sites.create
בכל אחת מהשיטות האלה, תציינו SITE_ID
שמשמש לבניית שמות הדומיין המשניים שמוקצים כברירת מחדל לאתר ב-Firebase:
SITE_ID.web.app
SITE_ID.firebaseapp.com
מכיוון שמשתמשים ב-SITE_ID
עבור כתובות ה-URL האלה, מזהה האתר צריך לעמוד בדרישות הבאות:
- צריך להזין כאן תווית שם מארח תקינה, כלומר היא לא יכולה להכיל את התווים
.
,_
וכו'. - האורך המקסימלי הוא 30 תווים
- חייב להיות ייחודי בהיקף גלובלי ב-Firebase
בנוסף, אפשר להוסיף דומיינים מותאמים אישית לכל אתר כדי להציג את אותו תוכן ואת אותה הגדרה בכמה כתובות URL.
מחיקת אתר משני
כדי למחוק אתרים לא רצויים מפרויקט Firebase, אפשר להשתמש באחת מהשיטות הבאות:
משתמשים בתהליך העבודה בדף Hosting במסוף Firebase
משתמשים בפקודת Firebase CLI:
firebase hosting:sites:delete SITE_ID
שימוש ב-Hosting REST API:
projects.sites.delete
שימו לב שאי אפשר למחוק את האתר שמוגדר כברירת מחדל, שיש לו את אותו SITE_ID
כמו מזהה פרויקט Firebase.
שלב 3: הגדרת יעדי פריסה לאתרים
אם יש לכם כמה אתרים ואתם מריצים פקודות פריסה של Firebase CLI, ה-CLI צריך דרך להעביר את ההגדרות שצריך לפרוס לכל אתר. בעזרת יעדי פריסה אפשר לזהות באופן ייחודי אתר ספציפי באמצעות TARGET_NAME
בקובץ ההגדרות firebase.json
ובפקודות ה-CLI של Firebase לצורך בדיקה או פריסה באתרים.
כדי ליצור יעד פריסה ולהחיל TARGET_NAME
על אתר Hosting, מריצים את הפקודה הבאה ב-CLI מהספרייה הבסיסית של הפרויקט:
firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER
הפרמטרים הם:
TARGET_NAME – שם ייחודי (שהגדרתם בעצמכם) לאתר שאליו אתם פורסים את התגHosting
RESOURCE_IDENTIFIER —
SITE_ID
של Hosting האתר כמו שמופיע בפרויקט 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 |
מדמה את התוכן וההגדרה של אתר Hosting שמוגדר כברירת מחדל בכתובת URL שמארחת באופן מקומיHosting |
firebase emulators:start --only hosting:TARGET_NAME |
מדמה את התוכן וההגדרה של האתר שצוין בכתובת URL שמתארחת באופן מקומיHostingHosting |
firebase hosting:channel:deploy \ |
פריסת התוכן וההגדרות של אתר Hosting default Hosting בכתובת URL לתצוגה מקדימה |
firebase hosting:channel:deploy \ |
פריסת התוכן וההגדרות של האתר שצוין בכתובת URL לתצוגה מקדימהHostingHosting |
firebase deploy --only hosting |
פריסת התוכן וההגדרות של Hosting בערוץ הפעיל של כל האתרים של Hosting שהוגדרו ב-firebase.json
|
firebase deploy --only hosting:TARGET_NAME |
פריסת התוכן וההגדרות של Hosting בערוץ הפעיל של אתר Hosting שצוין |
פקודה | תיאור |
---|---|
(לא מומלץ; כדאי להשתמש ב-emulators:start במקום זאת)firebase serve --only hosting
|
מציג את התוכן וההגדרות של אתר Hosting ברירת המחדל בכתובת URL שמארחת באופן מקומיHosting |
(לא מומלץ; כדאי להשתמש ב-emulators:start במקום זאת)firebase serve --only hosting:TARGET_NAME
|
הצגת התוכן וההגדרות של האתר שצוין בכתובת URL שמתארחת באופן מקומיHostingHosting |