פריסה ב-Firebase

בדף הזה מוסבר איך לפרוס אפליקציות ל-Firebase באמצעות Cloud Build. אם אתם חדשים ב-Cloud Build, כדאי קודם לקרוא את המדריכים למתחילים ואת הסקירה הכללית על הגדרת Build.

לפני שמתחילים

  • מפעילים את Cloud Build,‏ Firebase ו-Resource Manager APIs, אם אחד מהם לא מופעל.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    הפעלת ממשקי ה-API

  • כדי להריץ את הפקודות gcloud שבדף הזה, צריך להתקין את Google Cloud CLI.

  • חשוב לשמור בהישג יד את קוד המקור של האפליקציה, כולל firebase.json. קוד המקור צריך להיות מאוחסן במאגר, כמו Cloud Source Repositories,‏ GitHub או Bitbucket.

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

הרשאות IAM נדרשות

  1. במסוף Google Cloud , נכנסים לדף Cloud Build Permissions:

    עוברים אל הרשאות

  2. בוחרים את חשבון השירות של הגרסה.

  3. מגדירים את הסטטוס של התפקידים הבאים למופעל:

    • חשבון שירות של Cloud Build | מאפשר לחשבון השירות מדור קודם של Cloud Build לעדכן גרסאות build, לכתוב יומני build ולאחסן ארטיפקטים של build.
    • Firebase Admin | מאפשר ל-Cloud Build לגשת ל-Firebase.
    • API Keys Viewer | מאפשר ל-Cloud Build לגשת להגדרות הנוכחיות של Firebase Hosting במהלך פריסת ה-build.

שימוש בקובץ אימג' של Docker‏ firebase

‫Cloud Build מספק קובץ אימג' של builder שאפשר להשתמש בו כדי להפעיל פקודות firebase ב-Cloud Build. כדי להשתמש בבונה הזה בקובץ הגדרות של Cloud Build, אפשר להשתמש בשלב ה-build‏ firebase כדי לפרוס ל-Firebase:

  1. יוצרים קובץ הגדרות build בשם cloudbuild.yaml או cloudbuild.json, כאשר PROJECT_ID הוא מזהה הפרויקט ב-Google Cloud ו-FIREBASE_PROJECT_ID הוא מזהה הפרויקט ב-Firebase:

    YAML

    steps:
    - name: "us-docker.pkg.dev/firebase-cli/us/firebase"
       args: ['deploy', '--project=FIREBASE_PROJECT_ID', '--only=hosting']
    ## Or, target a specific version of firebase-tools
    - name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z
       args: ['deploy', '--project=FIREBASE_PROJECT_ID', '--only=hosting']
    

    JSON

    {
      "steps": [
       {
          "name": "us-docker.pkg.dev/firebase-cli/us/firebase",
          "args": [
             "deploy",
             "--project",
             "FIREBASE_PROJECT_ID",
             "--only",
             "hosting"
           ]
      }
      ]
    }
    

    אפשר לבחור גרסה ספציפית של firebase-tools באמצעות
    name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z

  2. מפעילים את ה-build באמצעות קובץ התצורה של ה-build:

    gcloud builds submit --region=REGION --config CONFIG_FILE_PATH SOURCE_DIRECTORY
    

    כאשר:

    • ‫REGION הוא אחד מאזורי הבנייה הנתמכים.
    • ‫CONFIG_FILE_PATH הוא הנתיב לקובץ התצורה של ה-build.
    • ‫SOURCE_DIRECTORY הוא הנתיב או כתובת ה-URL של קוד המקור.

פריסה רציפה

כדי לבצע פריסה אוטומטית של התוכנה ב-Firebase, אפשר ליצור טריגרים של Cloud Build. אתם יכולים להגדיר טריגרים כדי לבצע build ולפרוס תמונות בכל פעם שאתם מעדכנים את קוד המקור.

כדי להפוך את הפריסה ל-Firebase לאוטומטית:

  1. מאחסנים במאגר קובץ הגדרות build עם שלבים להפעלת הפקודה firebase deploy, כאשר PROJECT_ID הוא מזהה הפרויקט Google Cloud :

    YAML

    steps:
          - name: us-docker.pkg.dev/firebase-cli/us/firebase
            args: ['deploy', '--project=PROJECT_ID', '--only=hosting']
    

    JSON

    {
      "steps": [
       {
          "name": "us-docker.pkg.dev/firebase-cli/us/firebase",
          "args": [
             "deploy",
             "--project",
             "PROJECT_ID",
             "--only",
             "hosting"
           ]
      }
      ]
    }
    
  2. יוצרים טריגר באמצעות קובץ תצורת ה-build שנוצר בשלב הקודם:

    1. פותחים את הדף Triggers במסוף Google Cloud :

      פתיחת הדף Triggers

    2. בוחרים את הפרויקט מהתפריט הנפתח של בורר הפרויקטים בחלק העליון של הדף.

    3. לוחצים על פתיחה.

    4. לוחצים על Create trigger (יצירת ביטוי להפעלה).

      בדף Create trigger, מזינים את ההגדרות הבאות:

      1. מזינים שם לטריגר.

      2. בוחרים את אירוע המאגר כדי להפעיל את הטריגר.

      3. בוחרים את המאגר שמכיל את קובץ קוד המקור ואת קובץ ההגדרות של ה-build.

      4. מציינים את הביטוי הרגולרי לשם הענף או התג שיפעיל את הטריגר.

      5. Configuration: בוחרים את קובץ התצורה של ה-build שיצרתם קודם.

    5. לוחצים על יצירה כדי לשמור את טריגר לפיתוח גרסת Build.

בכל פעם שתדחפו קוד חדש למאגר, תתחילו באופן אוטומטי פיתוח גרסת build ופריסה ב-Firebase.

מידע נוסף על יצירת טריגרים של Cloud Build זמין במאמר בנושא יצירה וניהול של טריגרים של Build.

קוד לדוגמה

כדי לראות קוד לדוגמה לפריסה ב-Firebase באמצעות Cloud Build, עוברים אל deploy-firebase-example.

המאמרים הבאים