דרכים חלופיות לפריסה ב-App Hosting

ברוב המקרים, מומלץ להשתמש בהשקות אוטומטיות או בהשקות שמופעלות באופן ידני דרך מסוף Firebase. עם זאת, יכול להיות שתרצו להשתמש בתהליך פריסה מותאם אישית יותר. App Hosting יש כמה אפשרויות לפריסה בהתאמה אישית.

פריסה מקוד המקור באמצעות CLI‏ Firebase

בעזרת Firebase CLI אפשר להעלות את קוד המקור וההגדרות של האפליקציה ישירות מהמחשב המקומי ל-Firebase. האפשרות הזו נוחה אם יש לכם פריסות אחרות של Firebase (כמו כללי אבטחה או פונקציות) ואתם רוצים לפרוס את אפליקציית האינטרנט ואת שירותי ה-Backend יחד עם פקודה אחת של CLI.

בזמן הפריסה, App Hosting מעלה את קוד המקור שלכם לקטגוריה ב-Google Cloud Storage, מריץ את פקודת ה-build של המסגרת ב-Cloud Build ופורס את הארטיפקטים הסופיים ב-Cloud Run וב-Cloud CDN. ‫App Hosting משתמש באותו תהליך בנייה לפריסות של מקור מקומי כמו לפריסות של GitHub.

כדי לפרוס את האפליקציה ממקור מקומי:

  1. מריצים את הפקודה firebase init apphosting בספריית הפרויקט המקומית.
  2. בחלון ההנחיה, בוחרים באפשרות Use an existing project (שימוש בפרויקט קיים) ואז בוחרים את פרויקט Firebase הרצוי.
  3. בוחרים קצה עורפי חדש או קיים לפריסה. בשלב הזה מוגדרות פריסות של App Hosting בספרייה המקומית, ומוצגת בקשה להזנת המידע שנדרש כדי לפרוס את האפליקציה בהצלחה:App Hosting

    1. המזהה של ה-Backend שרוצים לפרוס אליו
    2. האזור שבו רוצים לפרוס (אם יוצרים קצה עורפי חדש)
    3. הנתיב לספריית הבסיס של קוד האפליקציה

    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

אם אתם צריכים שליטה גדולה יותר בתהליך הבנייה ובסביבת הפריסה, אתם יכולים לבצע פריסה באמצעות Terraform. בעזרת Terraform אפשר להגדיר ולנהל את משאבי App Hosting באמצעות קובצי הגדרות הצהרתיים, ולפרוס קובץ אימג' בקונטיינר שבניתם מראש ישירות אל App Hosting, במקום להסתמך על App Hosting כדי לבנות אותו מקוד המקור.

אם אתם חדשים ב-Terraform, כדאי לקרוא את המאמר תחילת העבודה עם Terraform ו-Firebase. אם אתם כבר מכירים את Terraform, תוכלו להתחיל עם קובצי תצורה לדוגמה ומשאבים אחרים של App Hosting.

פריסה באמצעות Firebase Studio

כשיוצרים אפליקציית אינטרנט באמצעות סוכן יצירת אב טיפוס של אפליקציות ב-Firebase Studio, אפשר לפרסם או לפרוס אותה ב-Firebase App Hosting ישירות מ-Firebase Studio. איך מפרסמים את האפליקציה באמצעות אירוח אפליקציות