ברוב המקרים, מומלץ להשתמש בהשקות אוטומטיות או בהשקות שמופעלות באופן ידני ממסוף Firebase. עם זאת, יכול להיות שתרצו להשתמש בתהליך פריסה מותאם אישית יותר. App Hosting יש כמה אפשרויות לפריסה בהתאמה אישית.
פריסה מקוד המקור באמצעות Firebase CLI
Firebase CLI בגרסה 14.4.0 ומעלה מאפשר לכם להעלות את קוד המקור וההגדרה של האפליקציה ישירות מהמחשב המקומי אל Firebase. האפשרות הזו נוחה אם יש לכם פריסות אחרות של Firebase (כמו כללי אבטחה או פונקציות) ואתם רוצים לפרוס את אפליקציית האינטרנט ואת שירותי ה-Backend יחד עם פקודה אחת של CLI.
בזמן הפריסה, App Hosting מעלה את קוד המקור שלכם ל-bucket של Google Cloud Storage, מריץ את פקודת ה-build של המסגרת ב-Cloud Build ופורס את הארטיפקטים הסופיים ב-Cloud Run וב-Cloud CDN. App Hosting משתמש באותו תהליך build לפריסות מקומיות של מקורות כמו לפריסות של GitHub. אם יש לכם קובץ .gitignore בפרויקט, הקבצים והתיקיות שמפורטים בו לא ייכללו בפריסה.
כדי לפרוס את האפליקציה ממקור מקומי:
- מריצים את הפקודה
firebase init apphostingבספריית הפרויקט המקומית. - בחלון ההנחיה, בוחרים באפשרות Use an existing project (שימוש בפרויקט קיים) ואז בוחרים את פרויקט Firebase הרצוי.
בוחרים ב-backend חדש או קיים לפריסה. בשלב הזה מוגדרות פריסות לספרייה המקומית, ומוצגת בקשה להזנת המידע שנדרש כדי לפרוס את האפליקציה בהצלחה:App HostingApp Hosting
- המזהה של ה-backend שרוצים לפרוס
- האזור שבו רוצים לפרוס (אם יוצרים קצה עורפי חדש)
- הנתיב לספריית הבסיס של קוד האפליקציה
- סביבת זמן הריצה המועדפת של Node.js. כשבוחרים סביבת ריצה עם גרסה, עדכונים אוטומטיים של תמונת הבסיס (ABIU) מחילים באופן אוטומטי תיקוני אבטחה על הסביבה הבסיסית.
App Hosting שומר את העדפות הפריסה ב-
firebase.json(יוצר את הקובץ בפרויקט המקומי אם הוא לא קיים). אחרי שההפעלה מסתיימת בהצלחה, אפשר להריץ את הפקודהfirebase deployכדי לפרוס את קוד המקור אל App Hosting.
אם הגדרתם פריסות של מקור מקומי לכמה קצוות עורפיים (כלומר, יש כמה רשומות backendId ב-firebase.json), firebase deploy יפרוס לכל אחד מהקצוות העורפיים האלה. כדי לפרוס לשרת קצה עורפי ספציפי, משתמשים בפקודה
firebase deploy --only apphosting:backendId
דוגמה לקובץ firebase.json
{
"apphosting": [
{
"backendId": "my-backend",
// rootDir specifies the directory containing the app to deploy, but the entire
// parent directory of firebase.json will be zipped and uploaded to ensure that
// dependencies outside of the app directory will be available at build time.
"rootDir": "./my-app",
"ignore": [
"node_modules",
".git",
"firebase-debug.log",
"firebase-debug.*.log",
"functions",
],
},
]
}
פריסה באמצעות Terraform
אם אתם צריכים שליטה גדולה יותר בתהליך build ובסביבת הפריסה, אתם יכולים לבצע פריסה באמצעות Terraform. בעזרת Terraform אפשר להגדיר ולנהל את משאבי App Hosting באמצעות קובצי תצורה מוצהרים, ולפרוס קובץ אימג' של קונטיינר משלכם שנבנה מראש ישירות אל App Hosting, במקום להסתמך על App Hosting כדי לבנות אותו מקוד המקור.
אם אתם חדשים ב-Terraform, כדאי לקרוא את המאמר תחילת העבודה עם Terraform ו-Firebase. אם אתם כבר מכירים את Terraform, תוכלו להתחיל עם קובצי תצורה לדוגמה ומשאבים אחרים של App Hosting.
הגדרת חיבור ל-GitHub ל-CI/CD
בכרטיסייה Deployment (פריסה) בהגדרות של backend במסוף Firebase, אפשר לקשר מאגר GitHub בכל שלב. כך תוכלו לפרוס אב טיפוס של אפליקציה מסביבה מקומית ואז לעבור לפייפליין אוטומטי של CI/CD כשתהיו מוכנים.
פריסה באמצעות כלים מבוססי-AI
אנחנו מפסיקים את התמיכה ב-Firebase Studio ב-22 במרץ 2027. השינוי לא ישפיע על ה-backend של App Hosting, אבל הלחצן פרסום ב-Firebase Studio יוסר. כדי להמשיך לפרסם עדכונים בלי לשנות את כתובת ה-URL, צריך להעביר את הפרויקט. איך מבצעים העברה