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