Firebase Hosting מספק כלים דרך מסוף Firebase ו-CLI של Firebase לניהול הערוצים, הגרסאות והמהדורות של האתר Hosting.
סקירה כללית על התשתית של Hosting
הבנת התשתית של Hosting תעזור לכם להבין את אפשרויות הניהול שמתוארות בדף הזה.
לכל פרויקט ב-Firebase יש אתר Hosting שמוגדר כברירת מחדל, עם גישה לכל המשאבים של הפרויקט (מסדי נתונים, אימות, פונקציות וכו'). אתר מכיל ערוץ אחד או יותר, וכל ערוץ משויך לכתובת URL שמוצג בה תוכן ספציפי ולהגדרה של Hosting.
היררכיית אירוח ב-Firebase" />
לכל אתר Hosting יש ערוץ 'פעיל' שמוצג בו תוכן והגדרת Hosting ב-(1) תתי-הדומיינים של האתר שהוקצו על ידי Firebase (SITE_ID.web.app
ו-SITE_ID.firebaseapp.com
) וב-(2) כל דומיין מותאם אישית שמחובר. אפשר גם ליצור 'ערוצי תצוגה מקדימה' שמוצג בהם תוכן והגדרות משלהם בכתובות URL זמניות שניתן לשתף (SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app
התוכן וההגדרות שמוצגים בכל ערוץ נארזים באובייקט version עם מזהה ייחודי. כשפורסים באתר, מערכת Firebase יוצרת אובייקט release שמצביע על גרסה ספציפית. במהדורה יש מטא-נתונים על הפריסה, כמו מי פרס את המהדורה ומתי הוא פרס אותה.
בלוח הבקרה Hosting של פרויקט Firebase, תוכלו לראות היסטוריה מלאה של הגרסאות הזמינות של הערוץ בשידור חי בטבלה Release history. אם יש לכם מספר אתרים ב-Hosting, לוחצים על הצגה באתר הרצוי כדי לראות את היסטוריית הגרסאות שלו. אם יש לכם ערוצי תצוגה מקדימה, הם יופיעו גם במרכז הבקרה Hosting.
ניהול ההגדרות של הערוץ
אתם יכולים לקבוע את ההגדרות של כל ערוץ באתר. חלק מההגדרות, כמו תאריך התפוגה של הערוץ, רלוונטיות רק לערוצי תצוגה מקדימה.
הגבלת מספר הגרסאות שרוצים לשמור
בכל פעם שמפרסמים גרסה בערוץ (ויוצרים גרסה זמינה), Hosting שומר את הגרסה שמשויכת לגרסה הזמינה הקודמת באחסון של Hosting בפרויקט. אתם יכולים להגדיר את מספר הגרסאות שרוצים לשמור לכל ערוץ בפרויקט, גם לערוצים פעילים וגם לערוצי תצוגה מקדימה.
למה Hosting שומרת גרסאות קודמות?
אם אתם משדרים בשידור חי, שמירת גרסאות קודמות מאפשרת לכם לחזור לגרסה קודמת של האתר, במקרה הצורך. עדיין אי אפשר לבצע חזרה לאחור בערוצי התצוגה המקדימה.למה כדאי להגביל את מספר הגרסאות שרוצים לשמור?
התכונה הזו יכולה לעזור לכם לשלוט ברמת השימוש באחסון Hosting של הפרויקט, כי התוכן של גרסאות קודמות נשמר באחסון הזה. אפשר לעקוב אחרי נפח האחסון ב-Hosting בכרטיסייה אחסון במסוף.מה קורה כשמגבילים את מספר הגרסאות שרוצים לשמור?
כשמגדירים מגבלת גרסאות זמינות, התוכן של גרסאות שחורגות מהמגבלה מתוזמן למחיקה, תחילה מהגרסאות הישנות ביותר.
כך מגדירים את מגבלת האחסון של גרסאות קודמות לערוץ:
במסוף Firebase, נכנסים לתיבת הדו-שיח של הגדרת האחסון של הגרסה:
בערוץ בשידור חי
בטבלה Release History של האתר, לוחצים על ואז בוחרים באפשרות Release storage settings.בכל ערוץ תצוגה מקדימה
בשורה של ערוץ התצוגה המקדימה, לוחצים על ואז בוחרים באפשרות הגדרות הערוץ.
מזינים את מספר הגרסאות שרוצים לשמור ולוחצים על שמירה.
הגדרת התאריך שבו יפוג התוקף של ערוץ תצוגה מקדימה
כברירת מחדל, התוקף של ערוץ תצוגה מקדימה פג 7 ימים ממועד היצירה שלו, אבל התוקף של הערוץ החי של האתר לא פג לעולם.
כשפג התוקף של ערוץ תצוגה מקדימה, הערוץ, יחד עם הגרסאות והמהדורות המשויכות אליו, מתוזמנים למחיקה תוך 24 שעות. גם כתובת ה-URL המשויכת של התצוגה המקדימה תושבת. חריג למחיקה של גרסאות הוא אם הגרסה משויכת למהדורה אחרת (הדבר קורה, למשל, אם משכפלים גרסה מערוץ אחד לערוץ אחר באותו אתר).
Hosting תומך בשתי דרכים שונות לשלוט בתוקף של ערוץ:
מסוף Firebase
בשורה של ערוץ התצוגה המקדימה, לוחצים על ובוחרים באפשרות הגדרות הערוץ. מזינים את התאריך והשעה של התפוגה.Firebase CLI
כשפורסים בערוץ התצוגה המקדימה, מעבירים את הדגל--expires DURATION
, לדוגמה:firebase hosting:channel:deploy new-awesome-feature --expires 7d
התוקף יכול להיות עד 30 יום ממועד הפריסה. משתמשים ב-
h
לשעות, ב-d
לימים וב-w
לשבועות (לדוגמה,12h
,7d
,2w
, בהתאמה).
יצירת עותקים גנטיים של גרסה מערוץ אחד לערוץ אחר
אפשר לשכפל גרסה שפרסמתם מערוץ אחד לערוץ אחר. אפשר להעתיק בין ערוצים פעילים או ערוצים בתצוגה מקדימה, בין אתרים ב-Hosting או אפילו בין פרויקטים ב-Firebase.
הפקודה להעתקה גם פורסת בערוץ 'target', כך שהתוכן וההגדרות של Hosting שהועתק יוצגו באופן אוטומטי בכתובת ה-URL המשויכת של הערוץ 'target'.
התכונה הזו שימושית למעקב אחרי גרסאות, או אם אתם רוצים לוודא שאתם פורסים את התוכן המדויק שצפיתם בו ו/או בדקתם בערוץ אחר. הנה כמה דוגמאות:
מעתיקים מערוץ תצוגה מקדימה לצורך בדיקת איכות (QA) לערוץ השידור החי של האתר (הפעלת השידור החי!)
יוצרים עותק מקודם מהערוץ החי של האתר לערוץ תצוגה מקדימה לצורך ניפוי באגים (למשל, לפני ביטול קוד)
שכפול מערוץ בפרויקט Firebase ב-staging לערוץ תצוגה מקדימה בפרויקט Firebase ב-prod
כדי לשכפל גרסה, מריצים את הפקודה הבאה מכל ספרייה:
firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID
מחליפים כל placeholder בקוד הבא:
SOURCE_SITE_ID ו-TARGET_SITE_ID: אלה המזהים של Hosting האתרים שמכילים את הערוצים.
- באתר Hosting שמוגדר כברירת מחדל, צריך להשתמש במזהה הפרויקט ב-Firebase.
- אפשר לציין Hosting אתרים שנמצאים באותו פרויקט Firebase או אפילו בפרויקטים שונים של Firebase.
SOURCE_CHANNEL_ID ו-TARGET_CHANNEL_ID: אלה המזהים של הערוצים.
- בערוץ בשידור חי, מזהה הערוץ הוא
live
. - אם ערוץ היעד שצוין עדיין לא קיים, הפקודה הזו תיצור את הערוץ לפני הפריסה שלו.
- בערוץ בשידור חי, מזהה הערוץ הוא
חזרה לגרסה קודמת של האתר
אתם יכולים לחזור לגרסה קודמת של הערוץ החי של האתר. הפעולה הזו שימושית אם יש בעיה בגרסה הנוכחית ואתם רוצים לחזור לגרסה ידועה ועובדת של האתר. או אולי האתר שלכם הציג תוכן זמני לחג או לאירוע מיוחד, אבל עכשיו אתם רוצים לחזור אחורה ולהציג את התוכן 'הרגיל'.
כשמבצעים חזרה לאחור, יוצרים גרסה חדשה שמציגה את אותה גרסה של התוכן כמו הגרסה הקודמת. בטבלה היסטוריית הגרסאות יופיע אותו מזהה גרסה בשתי הגרסאות.
כך מבצעים חזרה לאחור:
במסוף Firebase, בטבלה Release History של האתר, מעבירים את העכבר מעל הרשומה הקודמת של הגרסה שרוצים לחזור אליה.
לוחצים על
ובוחרים באפשרות החזרה לאחור.
מחיקה ידנית של גרסה
יכול להיות שתצטרכו למחוק באופן ידני פריט תוכן מהערוץ בשידור חי כדי לפנות נפח אחסון ב-Hosting לפרויקט. אפשר למחוק רק גרסאות קודמות, ולא את הגרסה שמוצגת כרגע באתר הפעיל.
כשאתם מוחקים גרסה, אתם למעשה מוחקים את התוכן שלה, והמחיקה מתוזמנת לתוך 24 שעות. אובייקט המהדורה עצמו נשמר כדי שעדיין תוכלו לראות את המטא-נתונים שלו (מי פרסם ומתי הוא פרסם).
כך מוחקים גרסה:
במסוף Firebase, בטבלה Release History של האתר, מעבירים את העכבר מעל הערך הקודם של הגרסה שרוצים למחוק.
לוחצים על
ובוחרים באפשרות Delete.
מחיקת קבצים באופן ידני
ב-Firebase Hosting, הדרך העיקרית למחוק קבצים נבחרים מאתר שנפרס היא למחוק את הקבצים באופן מקומי ואז לפרוס אותם מחדש.
מחיקה ידנית של ערוץ תצוגה מקדימה
כדי לראות תצוגה מקדימה של הערוצים, לוחצים על הערוץ שרוצים לראות. בתצוגה הזו אפשר לראות, למחוק ולבטל את הפריסות והגרסאות החדשות ביותר שמקושרות לערוץ הספציפי. אפשר למחוק ערוץ תצוגה מקדימה, אבל אי אפשר למחוק את הערוץ של האתר בשידור חי.
כשאתם מוחקים ערוץ תצוגה מקדימה, הערוץ, יחד עם הגרסאות והמהדורות המשויכות אליו, מתוזמנים למחיקה תוך 24 שעות. גם כתובת ה-URL המשויכת של התצוגה המקדימה תושבת. חריג לביטול הגרסה הוא אם הגרסה משויכת למהדורה אחרת (הדבר קורה, למשל, אם מעתיקים גרסה מערוץ אחד לערוץ אחר באותו אתר).
Hosting תומך בשתי דרכים שונות למחיקת ערוץ תצוגה מקדימה:
מסוף Firebase
בשורה של ערוץ התצוגה המקדימה, לוחצים על ובוחרים באפשרות מחיקת הערוץ. אשר את המחיקה.Firebase CLI
מריצים את הפקודה הבאה מכל ספרייה:firebase hosting:channel:delete CHANNEL_ID
פקודות CLI ליצירת ערוצים בתצוגה מקדימה ולשכפול
פקודות לערוצי תצוגה מקדימה
כל הפקודות של ערוצי תצוגה מקדימה תומכות ביעדי פריסה אם יש לכם מספר אתרים של Hosting.
פקודה | תיאור |
---|---|
firebase hosting:channel:create CHANNEL_ID
|
יצירת ערוץ תצוגה מקדימה חדש באתר Hosting שמוגדר כברירת מחדל באמצעות הפקודה הזו לא פורסת את הקוד בערוץ. |
firebase hosting:channel:delete CHANNEL_ID
|
מחיקה של ערוץ התצוגה המקדימה שצוין לא ניתן למחוק ערוץ בשידור חי של אתר. |
firebase hosting:channel:deploy CHANNEL_ID
|
פריסת התוכן וההגדרות של Hosting בערוץ התצוגה המקדימה שצוין אם ערוץ התצוגה המקדימה עדיין לא קיים, הפקודה הזו יוצרת את הערוץ באתר Hosting שמוגדר כברירת מחדל לפני הפריסה בערוץ. |
firebase hosting:channel:list
|
רשימה של כל הערוצים (כולל הערוץ 'שידור חי') באתר Hosting שמוגדר כברירת מחדל |
firebase hosting:channel:open CHANNEL_ID
|
הפונקציה פותחת דפדפן עם כתובת ה-URL של הערוץ שצוין, או מחזירה את כתובת ה-URL אם אי אפשר לפתוח אותה בדפדפן |
פקודות לשכפול גרסאות
פקודה | תיאור |
---|---|
firebase hosting:clone \
|
הכלי מעתיק את הגרסה האחרונה שפרסמתם בערוץ 'המקור' לערוץ 'היעד' שציינתם הפקודה הזו גם פורסת בערוץ 'target' שצוין. אם הערוצים 'target' ו-'preview' עדיין לא קיימים, הפקודה הזו תיצור ערוץ תצוגה מקדימה חדש באתר Hosting של היעד לפני הפריסה בערוץ. |
firebase hosting:clone \
|
הכלי יוצר עותק (cloning) של הגרסה שצוינה בערוץ 'target' שצוין הפקודה הזו גם פורסת את הקוד בערוץ 'target' שצוין. אם הערוצים 'target' ו-'preview' עדיין לא קיימים, הפקודה הזו תיצור ערוץ תצוגה מקדימה חדש באתר Hosting של היעד לפני הפריסה בערוץ. אפשר למצוא את |