App Hosting מטפל בסדרה מורכבת של משימות ברקע כדי לפשט את הפריסה של האפליקציה. בדף הזה מתוארים חלקים מרכזיים בתהליך המשימות, ומפורט מידע על נקודות שבהן כדאי להתאים אישית את התהליך בהתאם לצרכים של האפליקציה.
Google Cloud וארכיטקטורת App Hosting
App Hosting מרכז קבוצה של מוצרים של Google Cloud כדי שתוכלו לפרוס את אפליקציית האינטרנט, להציג אותה ולעקוב אחריה. האפליקציות נוצרות באמצעות Cloud Build, מוצגות ב-Cloud Run ונשמרות במטמון ב-Cloud CDN. שירותים משולבים כמו Cloud Secret Manager שומרים על מפתחות ה-API שלכם בטוחים.

- כשמבצעים דחיפה של השמירה להסתעפות הפעילה, מערכת Google Cloud Developer Connect שולחת אירוע אל Firebase App Hosting.
- בתגובה לאירוע הזה, Firebase App Hosting מתחילה השקה חדשה לכל קצה עורפי שמחובר למאגר.
- Firebase App Hosting יוצר build חדש של Cloud Build עבור ההוספה שלכם. במשימה הזו, buildpacks של Google Cloud קובעים באיזו מסגרת נעשה שימוש באפליקציה כדי ליצור קונטיינר והגדרות (כולל משתני סביבה, סודות, מכונות מינימום או מקסימום, זיכרון בו-זמני, מעבד והגדרות VPC) שמתאימים לאפליקציה.
- בסיום המשימה Cloud Build, הקונטיינר נשמר במאגר Artifact Registry שמיועד ל-Firebase App Hosting. Firebase App Hosting מוסיף גרסה חדשה של Cloud Run לשירות Cloud Run באמצעות קובץ האימג' וההגדרות שלכם. אחרי שתאומת שהגרסה של Cloud Run תקינה, Firebase App Hosting ישנה את הגדרת התנועה שלו כך שכל הבקשות החדשות יפנו לגרסה החדשה של Cloud Run. בשלב הזה ההשקה הושלמה.
- כשנשלחת בקשה לאתר שמתארח ב-Firebase App Hosting, היא מטופלת על ידי Google Cloud Load Balancer עם Cloud CDN מופעל. בקשות שלא שמורות במטמון נשלחות לשירות Cloud Run.
שילוב מסגרת
App Hosting מספק תמיכה מוגדרת מראש לפיתוח ופריסה של אפליקציות אינטרנט שפותחו בפלטפורמות הבאות:
- Next.js מגרסה 13.5.x ואילך
- Angular מגרסה 18.2.x ואילך
לוח הזמנים לתמיכה כולל פרטים על גרסאות ספציפיות ורמות תמיכה ספציפיות.
בנוסף ל-Next.js ול-Angular, App Hosting תומך בכל מסגרת אינטרנט שיכולה לספק פלט build שתואם למפרט של חבילת הפלט. מידע נוסף על מסגרות, מתאמי מסגרות וכלים קשורים שנתמכים על ידי App Hosting זמין במאמר מסגרות וכלים ל-App Hosting.
איך פועל השילוב עם המאגר App Hosting
החיבור החשוב בין מאגר GitHub לבין הקצה העורפי של App Hosting מנוהל על ידי Developer Connect, פלטפורמת הקישוריות של Google Cloud לכלים חיצוניים של DevOps. במהלך יצירת הקצה העורפי של App Hosting, תהליך העבודה בממשק המשתמש של Developer Connect ינחה אתכם להתקנה של אפליקציית Firebase GitHub. השלבים העיקריים בתהליך הם:
- מקצים ל-Developer Connect את התפקיד אדמין של Secret Manager. כך המערכת יכולה לאחסן את פרטי הכניסה באופן מאובטח בתור 'סודות' ב-Cloud Secret Manager.
- נותנים לאפליקציית Firebase GitHub הרשאה לגשת למאגר שלכם ב-GitHub.
- אסימון הרשאה ייעודי של GitHub נשמר ב-Developer Connect במאגר של מנהל הסודות של הפרויקט. אסור לשנות או למחוק את האסימון הזה.
בנוסף, App Hosting משתלב עם GitHub checks API כדי לספק בדיקה של השקות. הבדיקה הזו מאפשרת לכם לראות את סטטוס ההשקה ב-GitHub ולפתור באגים בתהליך הפריסה במקרה של שגיאות.
שילוב עם Firebase ושירותים אחרים של Google
App Hosting מגדיר את סביבות ה-build וזמן הריצה, כדי שתוכלו לאתחל את Firebase Admin SDK באמצעות פרטי הכניסה שמוגדרים כברירת מחדל לאפליקציות של Google. כך הקצה העורפי יוכל לתקשר עם מוצרי Firebase אחרים גם בזמן ה-build וגם בזמן הריצה. במאמר שילוב Firebase SDKs באפליקציית האינטרנט מפורט מידע נוסף על איפוס האפליקציה ועל נושאים נוספים שקשורים ל-Firebase SDK.
App Hosting מיקומים
App Hosting יוצר את משאבי הקצה העורפי במיקום ספציפי שנקרא האזור הראשי. App Hosting משתלב עם CDN גלובלי כדי לספק תוכן במהירות, אבל תוכן שלא נשמר במטמון מוצג מהאזור הראשי של האפליקציה. לאפשרות הזו למיקום של אפליקציית האינטרנט יש יתרונות מרכזיים:
- שיפור הביצועים והקטנת זמן האחזור על ידי הצבת הנתונים קרוב יותר מבחינה גיאוגרפית למשתמשים.
- כשל קטסטרופלי ב-App Hosting באזור אחד לא ישפיע על אפליקציות אינטרנט שנפרסו באזורים אחרים.
אפשר לבחור כל אחד מהאזורים האלה כשיוצרים קצה עורפי של App Hosting מהמסוף או מ-CLI של Firebase:
us-central1
(איווה)asia-east1
(טייוואן)europe-west4
(הולנד)
חשבון השירות לקצה העורפי App Hosting
במהלך ה-build ובזמן הריצה, הקצה העורפי של App Hosting מבצע אימות מול שירותי Google אחרים באמצעות חשבון שירות. חשבון השירות שמוגדר כברירת מחדל למטרות האלה נוצר בפעם הראשונה שמפעילים את App Hosting בפרויקט ב-Firebase:
firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com
חשבון השירות הזה חל על כל הקצוות העורפיים כברירת מחדל, ויש לו קבוצה מינימלית של הרשאות שמאפשרות לכם ליצור, להריץ ולנטר את האפליקציה. יש לו גם הרשאה לאמת את Admin SDK באמצעות Application Default Credentials, כדי לבצע פעולות כמו טעינת נתונים מ-Cloud Firestore. תפקידים ב-App Hosting ב-Firebase
אם האפליקציה צריכה לקיים אינטראקציה עם שירותי Google נוספים בזמן ה-build או מצד לקוח שפועל, אפשר להתאים אישית את חשבון השירות שמוגדר כברירת מחדל על ידי הוספת תפקידים. לדוגמה, אם האפליקציה שלכם זקוקה להרשאות ל-Vertex AI, יכול להיות שתצטרכו להוסיף את התפקיד roles/aiplatform.user
או תפקיד קשור כלשהו.
מונחים והגדרות מרכזיים
- קצה עורפי: האוסף של המשאבים המנוהלים שנוצרים על ידי App Hosting כדי לפתח ולהפעיל את אפליקציית האינטרנט.
- השקה: גרסה ספציפית של האפליקציה הפעילה, שמקושרת ל-commit ב-Git.
- הסתעפות פעילה: ההסתעפות של מאגר GitHub שמופיעה בכתובת ה-URL הפעילה. לרוב, זהו ההסתעפות שאליה מיזגו את ההסתעפויות של התכונות או ההסתעפויות של הפיתוח.