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

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

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

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

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

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

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

    1. המזהה של ה-backend שרוצים לפרוס
    2. האזור שבו רוצים לפרוס (אם יוצרים קצה עורפי חדש)
    3. הנתיב לספריית הבסיס של קוד האפליקציה
    4. סביבת זמן הריצה המועדפת של 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 כדי לבצע build מקוד המקור.

אם אתם חדשים ב-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, צריך להעביר את הפרויקט. איך מבצעים העברה