מסמך עזר של Firebase CLI

ב-CLI של Firebase (GitHub) יש מגוון כלים לניהול, לצפייה ולפריסה של פרויקטים ב-Firebase.

לפני שמשתמשים ב-CLI של Firebase, צריך להגדיר פרויקט ב-Firebase.

הגדרה או עדכון של ה-CLI

התקנת ה-CLI של Firebase

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

Windows macOS Linux

Windows

כדי להתקין את ה-CLI של Firebase ב-Windows, אתם יכולים להשתמש באחת מהאפשרויות הבאות:

אפשרות תיאור מומלץ בשביל...
קובץ בינארי עצמאי מורידים את הקובץ הבינארי העצמאי של ה-CLI. אחר כך אפשר לגשת לקובץ ההפעלה כדי לפתוח מעטפת שבה אפשר להריץ את הפקודה firebase. מפתחים חדשים

מפתחים שלא משתמשים ב-Node.js או לא מכירים את הסביבה הזו
npm משתמשים ב-npm (מנהל החבילות של Node) כדי להתקין את ה-CLI ולהפעיל את הפקודה firebase שזמינה באופן גלובלי. מפתחים שמשתמשים ב-Node.js

קובץ בינארי עצמאי

כדי להוריד ולהריץ את הקובץ הבינארי של ה-CLI של Firebase:

  1. מורידים את הקובץ הבינארי של ה-CLI של Firebase ל-Windows.

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

  3. ממשיכים להתחברות ובדיקה של ה-CLI.

npm

כדי להשתמש ב-npm (מנהל החבילות של Node) להתקנת ה-CLI של Firebase, פועלים לפי השלבים הבאים:

  1. מתקינים את Node.js באמצעות nvm-windows (מנהל הגרסאות של Node). כשמתקינים את Node.js, כלי הפקודה npm מותקנים באופן אוטומטי.

  2. מתקינים את ה-CLI של Firebase באמצעות npm על ידי הפעלת הפקודה הבאה:

    npm install -g firebase-tools

    הפקודה הזו מפעילה את הפקודה firebase שזמינה באופן גלובלי.

  3. ממשיכים להתחברות ובדיקה של ה-CLI.

macOS או Linux

כדי להתקין את ה-CLI של Firebase ב-macOS או ב-Linux, אתם יכולים להשתמש באחת מהאפשרויות הבאות:

אפשרות תיאור מומלץ בשביל...
סקריפט התקנה אוטומטי מריצים פקודה אחת שמזהה באופן אוטומטי את מערכת ההפעלה, מורידה את הגרסה האחרונה של ה-CLI ומפעילה את הפקודה firebase שזמינה באופן גלובלי. מפתחים חדשים

מפתחים שלא משתמשים ב-Node.js או לא מכירים את הסביבה הזו

פריסות אוטומטיות בסביבת CI/CD
קובץ בינארי עצמאי מורידים את הקובץ הבינארי העצמאי של ה-CLI. לאחר מכן, תוכלו להגדיר ולהריץ את הקובץ הבינארי בהתאם לתהליך העבודה שלכם. תהליכי עבודה שניתנים להתאמה אישית מלאה באמצעות ה-CLI
npm משתמשים ב-npm (מנהל החבילות של Node) כדי להתקין את ה-CLI ולהפעיל את הפקודה firebase שזמינה באופן גלובלי. מפתחים שמשתמשים ב-Node.js

סקריפט להתקנה אוטומטית

כדי להתקין את ה-CLI של Firebase באמצעות סקריפט ההתקנה האוטומטי:

  1. מריצים את פקודת ה-cURL הבאה:

    curl -sL https://firebase.tools | bash

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

  2. ממשיכים להתחברות ובדיקה של ה-CLI.

לדוגמאות נוספות ולפרטים על סקריפט ההתקנה האוטומטית, אפשר לעיין בקוד המקור של הסקריפט בכתובת firebase.tools.

קובץ בינארי עצמאי

כדי להוריד ולהריץ את הקובץ הבינארי של ה-CLI של Firebase שמתאים למערכת ההפעלה שלכם:

  1. מורידים את הקובץ הבינארי של ה-CLI של Firebase למערכת ההפעלה שלכם: macOS | Linux

  2. (אופציונלי) מגדירים את הפקודה firebase שזמינה באופן גלובלי.

    1. מריצים את הפקודה chmod +x ./firebase_tools כדי להפוך את הקובץ הבינארי לקובץ הפעלה.
    2. מוסיפים את הנתיב של הקובץ הבינארי ל-PATH.
  3. ממשיכים להתחברות ובדיקה של ה-CLI.

npm

כדי להתקין את ה-CLI של Firebase באמצעות npm (מנהל החבילות של Node):

  1. מתקינים את Node.js באמצעות nvm (מנהל הגרסאות של Node).
    התקנת Node.js מתקינה באופן אוטומטי את כלי הפקודות של npm.

  2. מתקינים את ה-CLI של Firebase באמצעות npm על ידי הפעלת הפקודה הבאה:

    npm install -g firebase-tools

    הפקודה הזו מפעילה את הפקודה firebase שזמינה באופן גלובלי.

  3. ממשיכים להתחברות ובדיקה של ה-CLI.

התחברות ובדיקה של ה-CLI של Firebase

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

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

    firebase login

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

  2. כדי לבדוק אם ה-CLI הותקן כמו שצריך ושיש לו גישה לחשבון, מציגים את רשימת הפרויקטים ב-Firebase. מריצים את הפקודה הבאה:

    firebase projects:list

    הרשימה שמוצגת צריכה להיות זהה לפרויקטים ב-Firebase שמופיעים במסוף Firebase.

עדכון לגרסה האחרונה של ה-CLI

באופן כללי, מומלץ להשתמש בגרסה העדכנית ביותר של ה-CLI של Firebase.

הדרך לעדכן את גרסת ה-CLI תלויה במערכת ההפעלה ובאופן שבו התקנתם את ה-CLI.

Windows

macOS

  • סקריפט התקנה אוטומטית: מריצים את curl -sL https://firebase.tools | upgrade=true bash

  • קובץ בינארי עצמאי: מורידים את הגרסה החדשה ומחליפים אותה במערכת.

  • ‫npm: מריצים את הפקודה npm install -g firebase-tools

Linux

  • סקריפט התקנה אוטומטית: מריצים את curl -sL https://firebase.tools | upgrade=true bash

  • קובץ בינארי עצמאי: מורידים את הגרסה החדשה ומחליפים אותה במערכת.

  • ‫npm: מריצים את הפקודה npm install -g firebase-tools

הסרת ה-CLI של Firebase

הדרך שבה מסירים את ה-CLI תלויה במערכת ההפעלה ובאופן שבו התקנתם את ה-CLI.

Windows

  • קובץ בינארי עצמאי: מוחקים את הקובץ הבינארי של firebase.exe שהורדתם.
  • ‫npm: מריצים את הפקודה npm uninstall -g firebase-tools

macOS

  • סקריפט התקנה אוטומטי: מריצים את הפקודה curl -sL https://firebase.tools | uninstall=true bash

  • קובץ בינארי עצמאי: מוחקים את הקובץ הבינארי של firebase שהורדתם. אם הוספתם את המיקום שלו למשתנה הסביבה PATH, הקפידו להסיר אותו.

  • ‫npm: מריצים את הפקודה npm uninstall -g firebase-tools

Linux

  • סקריפט התקנה אוטומטי: מריצים את הפקודה curl -sL https://firebase.tools | uninstall=true bash

  • קובץ בינארי עצמאי: מוחקים את הקובץ הבינארי של firebase שהורדתם. אם הוספתם את המיקום שלו למשתנה הסביבה PATH, הקפידו להסיר אותו.

  • ‫npm: מריצים את הפקודה npm uninstall -g firebase-tools

שימוש ב-CLI עם מערכות CI

מומלץ לבצע אימות באמצעות Application Default Credentials כשמשתמשים ב-CLI עם מערכות CI.

(מומלץ) שימוש ב-Application Default Credentials

אם מוגדרים Application Default Credentials, ה-CLI של Firebase יזהה אותם וישתמש בהם. הדרך הכי פשוטה לאמת את ה-CLI ב-CI ובסביבות אחרות ללא ממשק משתמש היא להגדיר את Application Default Credentials.

(גרסה קודמת) שימוש ב-FIREBASE_TOKEN

אפשר גם לבצע אימות באמצעות FIREBASE_TOKEN. השיטה הזו פחות מאובטחת מ-Application Default Credentials, וכבר לא מומלצת.

  1. במכונה עם דפדפן, מתקינים את ה-CLI של Firebase.

  2. כדי להתחיל את תהליך הכניסה, מריצים את הפקודה הבאה:

    firebase login:ci
  3. נכנסים לכתובת ה-URL שסופקה ומתחברים באמצעות חשבון Google.

  4. מדפיסים טוקן רענון חדש. הסשן הנוכחי של ה-CLI לא יושפע.

  5. שומרים את אסימון הפלט בצורה מאובטחת אבל נגישה במערכת ה-CI.

  6. צריך להשתמש בטוקן הזה כשמריצים פקודות firebase. אפשר להשתמש באחת משתי האפשרויות הבאות:

    • אפשרות 1: שומרים את הטוקן כמשתנה הסביבה FIREBASE_TOKEN. המערכת תשתמש בטוקן באופן אוטומטי.

    • אפשרות 2: מריצים את כל הפקודות של firebase עם הדגל --token TOKEN במערכת ה-CI.
      זהו סדר הקדימויות לטעינת טוקנים: דגל, משתנה סביבה, פרויקט Firebase הרצוי.

הפעלה של פרויקט Firebase

כדי לבצע הרבה משימות נפוצות באמצעות ה-CLI, כמו פריסה בפרויקט ב-Firebase, צריך ספריית פרויקט. כדי ליצור ספריית פרויקט, משתמשים בפקודה firebase init. תיקיית הפרויקט היא בדרך כלל אותה תיקייה כמו תיקיית השורש של בקרת המקור, ואחרי שמריצים את firebase init, התיקייה מכילה קובץ תצורה של firebase.json.

כדי להפעיל פרויקט Firebase חדש, מריצים את הפקודה הבאה מתוך הספרייה של האפליקציה:

firebase init

הפקודה firebase init תנחה אתכם בהגדרת ספריית הפרויקט ובחלק ממוצרי Firebase. במהלך ההפעלה של הפרויקט, ה-CLI של Firebase מבקש מכם לבצע את המשימות הבאות:

  • בוחרים פרויקט ברירת מחדל ב-Firebase.

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

    אפשר גם לשייך כמה פרויקטים ב-Firebase (כמו פרויקט Staging ופרויקט ייצור) לאותה ספריית פרויקטים.

  • בוחרים את מוצרי Firebase שרוצים להגדיר בפרויקט ב-Firebase.

    בשלב הזה תתבקשו להגדיר קבצים ספציפיים למוצרים או לתכונות שבחרתם. לפרטים נוספים על ההגדרות האלה, עיינו במסמכי התיעוד של המוצר הספציפי (לדוגמה, Hosting או Authentication). שימו לב שתמיד אפשר להריץ את firebase init מאוחר יותר כדי להגדיר מוצרי Firebase נוספים.

בסיום האתחול, Firebase יוצר באופן אוטומטי את שני הקבצים הבאים בתיקיית השורש של האפליקציה המקומית:

  • קובץ תצורה של firebase.json שמפרט את הגדרות הפרויקט.

  • קובץ .firebaserc שבו מאוחסנים הכינויים של הפרויקט.

הקובץ firebase.json

הפקודה firebase init יוצרת קובץ תצורה של firebase.json בספריית השורש של הפרויקט.

הקובץ firebase.json נדרש כדי לפרוס נכסים באמצעות ה-CLI של Firebase, כי הוא מציין אילו קבצים והגדרות מספריית הפרויקט נפרסים בפרויקט Firebase (כמו הגדרות Hosting, הגדרות ספק של Authentication, כללי אבטחה והגדרות Cloud Functions). אפשר להגדיר חלק מההגדרות בספריית הפרויקט או במסוף Firebase, לכן חשוב לפתור בעיות פוטנציאליות בפריסה.

אתם יכולים להגדיר את רוב האפשרויות של Firebase Hosting ישירות בקובץ firebase.json. עם זאת, בשירותי Firebase אחרים שאפשר לפרוס באמצעות ה-CLI של Firebase, הפקודה firebase init יוצרת קבצים ספציפיים שבהם אפשר להגדיר את השירותים האלה, כמו קובץ index.js בשביל Cloud Functions. אפשר גם להגדיר הוקים לפני פריסה או אחרי פריסה בקובץ firebase.json.

הקובץ firebase.json הבא הוא דוגמה מקיפה שמציגה אפשרויות הגדרה לשירותי Firebase רבים. הוא גם מדגים תכונות כמו Cloud Functions עם כמה בסיסי קוד, הגדרת Local Emulator Suite ותבנית Remote Config. שימו לב שקובץ firebase.json של פרויקט מסוים יכיל רק הגדרות של שירותי Firebase שהוגדרו לאותו פרויקט (לדוגמה, רק Firebase Hosting ו-Cloud Functions). הוספת המפתח $schema מאפשרת אימות והשלמה אוטומטית בהרבה עורכי קוד.

    {
      "$schema": "https://raw.githubusercontent.com/firebase/firebase-tools/master/schema/firebase-config.json",
      "hosting": {
        "public": "public",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ],
        "cleanUrls": true,
        "trailingSlash": false
      },
      "apphosting": {
        "backendId": "my-app",
        "rootDir": "backend",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ]
      },
      "firestore": {
        "rules": "firestore.rules",
        "indexes": "firestore.indexes.json"
      },
      "storage": {
        "rules": "storage.rules"
      },
      "database": {
        "rules": "database.rules.json"
      },
      "dataconnect": {
        "source": "dataconnect",
        "location": "us-central1"
      },
      "functions": [
        {
          "source": "functions",
          "codebase": "default",
          "ignore": [
            "**/.*",
            "**/node_modules/**"
          ],
          "predeploy": [
            "npm --prefix \"$RESOURCE_DIR\" run lint",
            "npm --prefix \"$RESOURCE_DIR\" run build"
          ]
        }
      ],
      "emulators": {
        "auth": {
          "port": 9099
        },
        "functions": {
          "port": 5001
        },
        "firestore": {
          "port": 8080
        },
        "hosting": {
          "port": 5000
        },
        "storage": {
          "port": 9199
        },
        "ui": {
          "enabled": true,
          "port": 4000
        },
        "singleProjectMode": true
      },
      "extensions": {
        "my-storage-resizer": "firebase/storage-resize-images@^0.1.0"
      },
      "auth": {
        "providers": {
          "anonymous": true,
          "emailPassword": true,
          "googleSignIn": {
            "oAuthBrandDisplayName": "My App",
            "supportEmail": "support@myapp.com"
          }
        }
      },
      "remoteconfig": {
        "template": "remoteconfig.template.json"
      }
    }

כברירת מחדל, המערכת משתמשת ב-firebase.json, אבל אפשר להעביר את הדגל --config PATH כדי לציין קובץ תצורה חלופי.

הגדרה של כמה מסדי נתונים ב-Cloud Firestore

כשמריצים את firebase init, הקובץ firebase.json יכיל מפתח firestore יחיד שתואם למסד הנתונים שמוגדר כברירת מחדל בפרויקט, כמו בדוגמה הקודמת.

אם הפרויקט מכיל כמה מסדי נתונים של Cloud Firestore, צריך לערוך את הקובץ firebase.json כדי לשייך לכל מסד נתונים קובצי מקור שונים של Cloud Firestore Security Rules ושל אינדקס מסד הנתונים. משנים את הקובץ באמצעות מערך JSON, עם רשומה אחת לכל מסד נתונים.

      "firestore": [
        {
          "database": "(default)",
          "rules": "firestore.default.rules",
          "indexes": "firestore.default.indexes.json"
        },
        {
          "database": "ecommerce",
          "rules": "firestore.ecommerce.rules",
          "indexes": "firestore.ecommerce.indexes.json"
        }
      ],

Cloud Functions קבצים שצריך להתעלם מהם בפריסה

בזמן פריסת הפונקציה, ה-CLI מציין באופן אוטומטי רשימה של קבצים בספרייה functions שצריך להתעלם מהם. כך נמנעת פריסה של קבצים מיותרים בקצה העורפי, שעלולים להגדיל את נפח הנתונים של הפריסה.

רשימת הקבצים שהמערכת מתעלמת מהם כברירת מחדל, בפורמט JSON:

"ignore": [
  ".git",
  ".runtimeconfig.json",
  "firebase-debug.log",
  "firebase-debug.*.log",
  "node_modules"
]

אם אתם מוסיפים ערכים מותאמים אישית משלכם ל-ignore ב-firebase.json, הקפידו לשמור (או להוסיף, אם היא חסרה) את רשימת הקבצים שמוצגת ברשימה הקודמת.

ניהול שמות חלופיים לפרויקטים

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

הוספת כינוי לפרויקט

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

firebase use --add

הפקודה הזו תבקש מכם לבחור פרויקט אחר ב-Firebase ולהקצות לו שם חלופי. הקצאות של כינויים נכתבות בקובץ .firebaserc בספריית הפרויקט.

שימוש בשמות חלופיים לפרויקטים

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

פקודה תיאור
firebase use הצגת רשימה של השמות החלופיים שהוגדרו לספריית הפרויקט
firebase use \
PROJECT_ID|ALIAS
מפנה את כל הפקודות להפעלה בפרויקט Firebase שצוין.
הפרויקט הזה מוגדר ב-CLI כ "פרויקט פעיל".
firebase use --clear מנקה את הפרויקט הפעיל.

מריצים את הפקודה firebase use PROJECT_ID|ALIAS כדי להגדיר פרויקט פעיל חדש לפני שמריצים פקודות CLI אחרות.

firebase use \
--unalias PROJECT_ALIAS
הסרת שם חלופי מספריית הפרויקט.

כדי לשנות את הפרויקט הפעיל, אפשר להעביר את הדגל --project עם כל פקודת CLI. לדוגמה: אתם יכולים להגדיר את ה-CLI כך שיפעל מול פרויקט ב-Firebase שהקציתם לו את השם הסודי staging. אם רוצים להריץ פקודה אחת בפרויקט ב-Firebase שהקציתם לו את השם החלופי prod, אפשר להריץ, לדוגמה, את הפקודה firebase deploy --project=prod.

בקרת מקור וכינויים של פרויקטים

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

אם יש לכם פרויקט פיתוח לשימושכם בלבד, אתם יכולים להעביר את הדגל --project עם כל פקודה או להריץ את firebase use PROJECT_ID בלי להקצות שם חלופי לפרויקט Firebase.

הצגה ובדיקה של פרויקט Firebase באופן מקומי

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

כדי לבצע אחת מהמשימות הבאות, מריצים את הפקודה הבאה מהשורש של ספריית הפרויקט המקומית:

  • צפייה בתוכן הסטטי של האפליקציה שמתארחת ב-Firebase.
  • אתם משתמשים ב-Cloud Functions כדי ליצור תוכן דינמי ל-Firebase Hosting ואתם רוצים להשתמש בפונקציות ה-HTTP של הייצור (שנפרסו) כדי לדמות את Hosting בכתובת URL מקומית.
firebase serve --only hosting

הדמיה של הפרויקט באמצעות פונקציות HTTP מקומיות

מריצים את אחת מהפקודות הבאות מספריית הפרויקט כדי לדמות את הפרויקט באמצעות פונקציות HTTP מקומיות.

  • כדי לדמות פונקציות HTTP ואירוח לבדיקה בכתובות URL מקומיות, משתמשים באחת מהפקודות הבאות:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • כדי לדמות רק פונקציות HTTP, משתמשים בפקודה הבאה:

    firebase serve --only functions

בדיקה ממכשירים מקומיים אחרים

כברירת מחדל, firebase serve מגיב רק לבקשות מ-localhost. זה אומר שתוכלו לגשת לתוכן שמתארח בדפדפן האינטרנט של המחשב, אבל לא ממכשירים אחרים ברשת. אם רוצים לבדוק ממכשירים מקומיים אחרים, משתמשים בדגל --host, כך:

firebase serve --host 0.0.0.0  // accepts requests to any host

פריסה בפרויקט Firebase

באמצעות ה-CLI של Firebase אפשר לנהל את פריסת הקוד והנכסים בפרויקט Firebase, כולל:

  • גרסאות חדשות של Firebase Hosting האתרים שלך
  • Cloud Functions for Firebase חדש, מעודכן או קיים
  • סכימות ומחברים חדשים או מעודכנים של Firebase SQL Connect
  • Security Rules של Firebase Realtime Database
  • Security Rules של Cloud Storage for Firebase
  • Security Rules של Cloud Firestore
  • מדדים של Cloud Firestore
  • הגדרות ל-Authentication

כדי לפרוס בפרויקט ב-Firebase, מריצים את הפקודה הבאה מספריית הפרויקט:

firebase deploy

אפשר להוסיף הערה לכל פריסה. ההערה הזו תוצג עם שאר פרטי הפריסה בדף Firebase Hosting של הפרויקט. לדוגמה:

firebase deploy -m "Deploying the best new feature ever."

כשמשתמשים בפקודה firebase deploy, חשוב לשים לב לדברים הבאים:

  • כדי לפרוס משאבים מספריית פרויקט, ספריית הפרויקט חייבת להכיל קובץ firebase.json. הקובץ הזה נוצר באופן אוטומטי על ידי הפקודה firebase init.

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

פריסת שירותים ספציפיים של Firebase

אם אתם רוצים לפרוס רק תכונות או שירותים ספציפיים של Firebase, אתם יכולים להשתמש ברשימה מופרדת בפסיקים בדגל בפקודה firebase deploy. לדוגמה, הפקודה הבאה פורסת את התוכן של Firebase Hosting ושל Cloud Storage Security Rules.

firebase deploy --only hosting,storage

בטבלה הבאה מפורטים השירותים והתכונות שאפשר לפרוס באופן חלקי. השמות בדגלים תואמים למפתחות בקובץ התצורה firebase.json.

תחביר הדגל השירות או התכונה שנפרסו
--only auth הגדרת הספק Authentication
--only database Firebase Realtime Database Security Rules
--only dataconnect סכימות ומחברים של Firebase SQL Connect
--only firestore Cloud Firestore Security Rules ואינדקסים לכל מסדי הנתונים שהוגדרו
--only functions Cloud Functions for Firebase
--only hosting תוכן בFirebase Hosting
--only storage Cloud Storage for Firebase Security Rules

התנגשויות בפריסה של Security Rules

ב-Firebase Realtime Database, ב-Cloud Storage for Firebase וב-Cloud Firestore, אתם יכולים להגדיר את Security Rules בספריית הפרויקט המקומית או במסוף Firebase.

אפשרות נוספת למניעת התנגשויות בפריסה היא להשתמש בפריסה חלקית ולהגדיר רק את Security Rules במסוף Firebase.

הגדרת משימות מתוסרטות לפני פריסה ואחרי פריסה

אפשר לחבר סקריפטים של מעטפת לפקודה firebase deploy כדי לבצע משימות לפני הפריסה או אחריה. לדוגמה, סקריפט לפני פריסה יכול לבצע טרנספילציה של קוד TypeScript ל-JavaScript, ו-hook אחרי פריסה יכול להודיע לאדמינים על פריסות תוכן חדשות באתר ב-Firebase Hosting.

כדי להגדיר הוקים לפני פריסה או אחרי פריסה, מוסיפים סקריפטים של Bash לקובץ התצורה של firebase.json. אפשר להגדיר סקריפטים קצרים ישירות בקובץ firebase.json, או להפנות לקבצים אחרים שנמצאים בספריית הפרויקט.

לדוגמה, הסקריפט הבא הוא ביטוי firebase.json למשימה אחרי פריסה, ששולחת הודעת Slack אחרי פריסה מוצלחת ב-Firebase Hosting.

"hosting": {
  // ...

  "postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
  "public": "public"
}

קובץ הסקריפט messageSlack.sh נמצא בספריית הפרויקט ונראה כך:

curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
     \https://SLACK_WEBHOOK_URL

אפשר להגדיר הוקים מסוג predeploy ו-postdeploy לכל אחד מהנכסים שאפשר לפרוס. חשוב לשים לב שהרצת הפקודה firebase deploy מפעילה את כל המשימות שלפני הפריסה ואחרי הפריסה שמוגדרות בקובץ firebase.json. כדי להריץ רק את המשימות שמשויכות לשירות Firebase ספציפי, השתמשו בפקודות פריסה חלקית.

גם ה-hook predeploy וגם ה-hook postdeploy מדפיסים את הפלט הסטנדרטי ואת זרמי השגיאות של הסקריפטים לטרמינל. אם הניסיון נכשל, חשוב לשים לב לנקודות הבאות:

  • אם הוק של פריסה מראש לא מסתיים כמצופה, הפריסה מבוטלת.
  • אם הפריסה נכשלת מסיבה כלשהי, ה-hooks של postdeploy לא מופעלים.

משתני סביבה

בסקריפטים שפועלים ב-hooks של predeploy ו-postdeploy, משתני הסביבה הבאים זמינים:

  • ‫$GCLOUD_PROJECT: מזהה הפרויקט הפעיל
  • ‫$PROJECT_DIR: תיקיית השורש שמכילה את הקובץ firebase.json
  • ‫$RESOURCE_DIR: (לסקריפטים של hosting ו-functions בלבד) המיקום של הספרייה שמכילה את המשאבים של Hosting או Cloud Functions לפריסה

מכסות פריסה

יכול להיות (אם כי לא סביר) שתחרגו ממכסה שמגבילה את הקצב או הנפח של פעולות הפריסה ב-Firebase. לדוגמה, כשפורסים מספר גדול מאוד של פונקציות, יכול להיות שתופיע הודעת השגיאה HTTP 429 Quota. כדי לפתור בעיות כאלה, נסו להשתמש בפריסה חלקית.

חזרה למצב קודם של פריסה

כדי להחזיר פריסה של Firebase Hosting לגרסה קודמת, בוחרים בפעולה Rollback לגרסה הרצויה בדף Firebase Hosting של הפרויקט.

אי אפשר לחזור לגרסאות קודמות של Security Rules ב-Firebase Realtime Database, ב-Cloud Storage for Firebase או ב-Cloud Firestore.

הפניה לפקודה

בקטע הזה מתוארות הפקודות הזמינות לתרחישים לדוגמה ולמוצרים הבאים:

פקודות ניהול ב-CLI

פקודה תיאור
help הצגת מידע עזרה על ה-CLI או על פקודות ספציפיות.
init משייכים ומגדירים פרויקט Firebase חדש בספרייה הנוכחית.
הפקודה הזו יוצרת קובץ תצורה בשם firebase.json בספרייה הנוכחית.
login

מאמתים את ה-CLI באמצעות חשבון Google. נדרשת גישה לדפדפן אינטרנט.

כדי להתחבר ל-CLI בסביבות מרוחקות שלא מאפשרות גישה אל localhost, משתמשים בדגל --no-localhost.

login:ci הוצא משימוש. במקום זאת, צריך להשתמש ב-Application Default Credentials עם חשבון שירות של Google Cloud‏ (GOOGLE_APPLICATION_CREDENTIALS).
יוצרים אסימון אימות לשימוש בסביבות לא אינטראקטיביות.
login:add להתחבר לחשבון Google נוסף.
login:list רשימה של כל חשבונות Google המאומתים.
login:use \
EMAIL_ADDRESS
מגדירים את חשבון Google הפעיל.
logout יוצאים מחשבון Google דרך ה-CLI.
open פותחים דפדפן למשאבי הפרויקט הרלוונטיים.
projects:list מציגה את כל הפרויקטים ב-Firebase שיש לכם גישה אליהם.
use

מגדירים את פרויקט Firebase הפעיל ל-CLI.

מידע נוסף על ניהול כינויים של פרויקטים

פקודות לניהול פרויקטים

פקודה תיאור
ניהול פרויקטים ב-Firebase
projects:addfirebase הוספת הגדרות ספציפיות ל-Firebase והפעלת שירותים ספציפיים ל-Firebase בפרויקט Google Cloud קיים.
projects:create יוצרים פרויקט חדש ב-Google Cloud, מוסיפים הגדרות ספציפיות ל-Firebase ומפעילים שירותים ספציפיים ל-Firebase בפרויקט החדש.
projects:list מציגה את כל הפרויקטים ב-Firebase שיש לכם גישה אליהם.
ניהול של אפליקציות Firebase (iOS, ‏Android, אינטרנט)
apps:create יוצרים אפליקציית Firebase חדשה.
apps:list הצגת רשימה של כל אפליקציות Firebase הרשומות בפרויקט Firebase הפעיל.
apps:sdkconfig \
[PLATFORM] \
[FIREBASE_APP_ID]

הדפסת הגדרות התצורה של אפליקציית Firebase שצוינה.

  • ‫PLATFORM יכול להיות IOS,‏ ANDROID או WEB (לא תלוי-רישיות). אם לא מציינים את האפליקציה, ה-CLI מבקש לבחור אפליקציה מתוך רשימה של כל האפליקציות בפרויקט הפעיל ב-Firebase. אם לפרויקט הפעיל ב-Firebase יש רק אפליקציית Firebase אחת, ה-CLI בוחר את האפליקציה הזו באופן אוטומטי.
  • ‫FIREBASE_APP_ID הוא מזהה האפליקציה ב-Firebase (צריך לציין קודם את PLATFORM). אם לא מציינים את האפליקציה, ה-CLI בוחר אותה באופן אוטומטי אם רק אפליקציה אחת תואמת, או מבקש לבחור אפליקציה אם יש כמה אפליקציות תואמות.

אם ה-CLI פועל במצב לא אינטראקטיבי:

  • אם בפרויקט הפעיל ב-Firebase יש רק אפליקציית Firebase אחת, אפשר להשמיט גם את PLATFORM וגם את FIREBASE_APP_ID.
  • אם לפרויקט הפעיל ב-Firebase יש כמה אפליקציות Firebase, צריך לציין את PLATFORM (ואת FIREBASE_APP_ID אם לפרויקט יש יותר מאפליקציית Firebase אחת מסוג הפלטפורמה הזה).

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • ‫-o או --out [FILENAME]
    כתיבת פלט ההגדרות בקובץ במקום הדפסה שלו בפלט סטנדרטי (stdout). אם לא מציינים את FILENAME, ברירת המחדל היא שם קובץ ספציפי לפלטפורמה (GoogleService-Info.plist ל-iOS,‏ google-services.json ל-Android או firebase-js-config.json לאינטרנט). אם קובץ היעד כבר קיים, ה-CLI מבקש לאשר את ההחלפה (או נכשל במצב לא אינטראקטיבי).
ניהול של גיבובי אישורי SHA (ב-Android בלבד)
apps:android:sha:create \
FIREBASE_ANDROID_APP_ID \
SHA_HASH
מוסיפים את גיבוב אישור ה-SHA שצוין לאפליקציית Firebase ל-Android שצוינה.
apps:android:sha:delete \
FIREBASE_ANDROID_APP_ID \
SHA_ID
מחיקת אישור ה-SHA שצוין (מזוהה לפי SHA_ID מ-apps:android:sha:list) מאפליקציית Firebase ל-Android שצוינה.
apps:android:sha:list \
FIREBASE_ANDROID_APP_ID
מציג את כל גיבובי האישורים של SHA עבור אפליקציית Android של Firebase שצוינה.

פריסה ופיתוח מקומי

הפקודות האלה מאפשרות לכם לפרוס את פרויקט Firebase ולבצע בו פעולות.

פקודה תיאור
deploy

פורסים קוד ונכסים מספריית הפרויקט לפרויקט Firebase הפעיל.

כדי להשתמש בפקודה הזו, צריך קובץ תצורה של firebase.json בספריית הפרויקט.

מידע נוסף על פריסה בפרויקט Firebase

serve

מפעילים שרת מקומי כדי לבדוק את ההגדרות של Firebase Hosting ו/או את ה-HTTP המקומי של Cloud Functions (לדוגמה, באמצעות --only hosting או --only functions).

כדי להשתמש בפקודה הזו, צריך קובץ תצורה של firebase.json בספריית הפרויקט.

מידע נוסף על הצגה ובדיקה באופן מקומי

פקודות App Distribution

פקודה תיאור
appdistribution:distribute \
RELEASE_BINARY_FILE \
--app FIREBASE_APP_ID
מעלים את הקובץ הבינארי של הגרסה שצוינה (.apk, .aab או .ipa) ומאפשרים לבודקים להוריד אותו לאפליקציית Firebase שצוינה.
appdistribution:testers:add \
[EMAILS...]

מוסיפים בודק אחד או יותר (מופרדים ברווחים EMAILS) לפרויקט Firebase הפעיל. אם משמיטים את EMAILS, צריך להעביר את --file FILE.

הפקודה הזו רק מוסיפה בודקים שלא נמצאים בפרויקט, היא לא מסירה או מחליפה בודקים קיימים.

הפקודה הזו תומכת בדגלים האופציונליים הבאים:

  • --file FILE
    צריך לציין נתיב לקובץ לא ריק, שמופרד באמצעות פסיקים או שורות חדשות ומכיל את כתובות האימייל של הבודקים שרוצים להוסיף. אם גם EMAILS וגם --file מועברים, EMAILS מקבל עדיפות.
  • --group-alias GROUP_ALIAS
    צריך גם להוסיף את הבודקים שצוינו לקבוצת הבודקים שזוהתה על ידי GROUP_ALIAS.
appdistribution:testers:remove \
[EMAILS...]

הסרת בודקים (שצוינו כ-EMAILS מופרדים ברווחים) מהפרויקט הפעיל ב-Firebase. אם משמיטים את EMAILS, צריך להעביר את --file FILE.

הפקודה הזו תומכת בדגלים האופציונליים הבאים:

  • --file FILE
    צריך לציין נתיב לקובץ שמופרד בפסיקים או במעברי שורה, שמכיל את כתובות האימייל של הבודקים שרוצים להסיר. (אם גם EMAILS וגם --file מועברים, EMAILS מקבל עדיפות).
  • --group-alias GROUP_ALIAS
    הסרת הבודקים שצוינו רק מקבוצת הבודקים שמזוהה על ידי GROUP_ALIAS, במקום להסיר אותם מהפרויקט הפעיל ב-Firebase.
appdistribution:testers:list הצגת רשימה של בודקים בפרויקט Firebase הפעיל.
appdistribution:groups:create \
DISPLAY_NAME \
[GROUP_ALIAS]
יצירת קבוצת בודקים עם DISPLAY_NAME שצוין ו-GROUP_ALIAS אופציונלי.
אם משמיטים את GROUP_ALIAS, נוצר באופן אוטומטי כינוי מ-DISPLAY_NAME.
appdistribution:groups:delete \
GROUP_ALIAS
מחיקת קבוצת הבודקים עם הכינוי שצוין.
appdistribution:groups:list רשימה של כל קבוצות הבודקים בפרויקט Firebase הפעיל.

פקודות App Hosting

פקודה תיאור
apphosting:backends:create \
--backend BACKEND_ID \
--primary-region REGION_NAME \
--app FIREBASE_WEB_APP_ID

יוצרים את אוסף המשאבים המנוהלים שמקושרים לבסיס קוד אחד שכולל בקאנד של App Hosting.

הפקודה הזו תומכת בדגלים האופציונליים (אבל המומלצים) הבאים:

  • --backend BACKEND_ID
    מציינים את המזהה של הקצה העורפי החדש של App Hosting. אם משמיטים את המאפיין במצב אינטראקטיבי, ה-CLI מבקש להזין מזהה לקצה העורפי.
  • --primary-region REGION_NAME
    מציינים את האזור הראשי שבו רוצים ליצור את הקצה העורפי של App Hosting. אם לא מציינים את המיקום במצב אינטראקטיבי, ה-CLI מבקש לבחור מיקום. מידע על מיקומים נתמכים ב-App Hosting
  • -a או --app FIREBASE_WEB_APP_ID
    מציינים את מזהה האפליקציה של אפליקציית אינטרנט קיימת ב-Firebase. אם משמיטים את האפשרות הזו, ה-CLI יוצר ומשייך באופן אוטומטי אפליקציית אינטרנט חדשה ב-Firebase שנקראת על שם BACKEND_ID (אלא אם הפרויקט הגיע למכסת האפליקציות ב-Firebase).

הפקודה הזו תומכת גם בדגלים האופציונליים הבאים:

  • --root-dir ROOT_DIR
    מציינים את תיקיית השורש של האפליקציה ביחס למאגר. אם לא מציינים את הספרייה במצב אינטראקטיבי, ה-CLI מבקש לציין אותה (ברירת המחדל היא /).
  • ‫-s או --service-account SERVICE_ACCOUNT
    מציינים את חשבון השירות שמשמש להפעלת השרת. אם לא מציינים חשבון שירות, ברירת המחדל היא חשבון השירות של App Hosting Compute.

אם ה-CLI פועל במצב לא אינטראקטיבי, צריך להשתמש גם ב---backend וגם ב---primary-region.

apphosting:backends:get \
BACKEND_ID

אחזור הפרטים, כולל כתובת ה-URL הציבורית, של הקצה העורפי של App Hosting שצוין.

אם כמה אזורים מכילים קצה עורפי עם ה-BACKEND_ID שצוין, ה-CLI מתעד אזהרה ומדפיס את הקצה העורפי התואם הראשון (שימו לב שהפקודה הזו לא תומכת בדגל --location).

apphosting:backends:list הצגת רשימה של כל הקצוות העורפיים הפעילים של App Hosting בפרויקט Firebase הפעיל.
apphosting:backends:delete \
BACKEND_ID

מחיקת הקצה העורפי שצוין ב-App Hosting.

ב-CLI תוצג בקשה לאישור לפני ביצוע הפעולה. כדי לדלג על בקשת האישור (נדרש במצב לא אינטראקטיבי), מעבירים את הדגלים הבאים: -f או --force.

אם כמה אזורים מכילים קצה עורפי עם ה-BACKEND_ID שצוין, ה-CLI יבקש מכם במצב אינטראקטיבי לבחור אילו קצוות עורפיים למחוק, והוא ייכשל אם מועבר -f או --force (שימו לב שהפקודה הזו לא תומכת בדגל --location).

apphosting:rollouts:create \
BACKEND_ID

יצירת השקה שמופעלת ידנית בשביל ה-backend שצוין ב-App Hosting.

הפקודה הזו תומכת בדגלים האופציונליים הבאים, שהם בלעדיים הדדית. אם לא צוין אף אחד מהם, ה-CLI יבקש לבחור מתוך רשימה של ענפים. במצב לא אינטראקטיבי, חובה לציין אחד מהדגלים האלה.

  • ‫-b או --git-branch BRANCH_NAME
    פריסת השמירה האחרונה בהסתעפות Git שצוינה.
  • ‫-g או --git-commit COMMIT_ID
    פריסת ה-commit שצוין ב-Git.

אם כמה אזורים מכילים קצה עורפי עם הערך שצוין בשדה BACKEND_ID, הפקודה הזו נכשלת גם במצב אינטראקטיבי וגם במצב לא אינטראקטיבי (שימו לב שהפקודה הזו לא תומכת בדגל --location).

apphosting:secrets:set \
SECRET_NAME \
--data-file DATA_FILE_PATH

יוצרים או מעדכנים סוד ב-Google Cloud Secret Manager עם ה-SECRET_NAME שצוין.

הפקודה הזו תומכת בדגל האופציונלי (אבל המומלץ) הבא:

  • --data-file DATA_FILE_PATH
    מציינים נתיב שממנו ייקראו נתונים סודיים, או מגדירים את הערך - כדי לקרוא נתונים סודיים מקלט סטנדרטי (stdin). אם משמיטים את האפשרות הזו, ה-CLI מבקש להזין את ערך הסוד (עם קלט מוסתר), או קורא מקלט סטנדרטי (stdin) אם הקלט הסטנדרטי מועבר בצינור עיבוד נתונים.

הפקודה הזו תומכת גם בדגל האופציונלי הבא:

  • ‫-l או --location REGION_NAME
    כשיוצרים סוד חדש, מגבילים את הרפליקציה שלו לאזור Google Cloud Secret Manager שצוין. אם לא מציינים את הפרמטר, Google Cloud Secret Manager משתמש ברפליקציה גלובלית אוטומטית. (אי אפשר לשנות את מדיניות השכפול של סודות קיימים).

אם ה-CLI פועל במצב לא אינטראקטיבי, מעבירים את --data-file DATA_FILE_PATH (או מעבירים את ערך הסוד לקלט סטנדרטי (stdin)).

apphosting:secrets:grantaccess \
SECRET_NAME

נותנים הרשאות לסודות שצוינו לקבוצה של כתובות אימייל של משתמשים או קבוצות, או לחשבון שירות של קצה עורפי. אחר כך, App Hosting יכול לגשת לסודות בזמן ה-build או בזמן הריצה.

אפשר להעביר ערך אחד או יותר של SECRET_NAME, מופרדים בפסיק. צריך לציין את --emails או את --backend (שני הדגלים האלה לא יכולים להתקיים בו-זמנית).

כדי לתת גישה לקבוצה של כתובות אימייל של משתמשים או קבוצות:

  • -e או --emails EMAILS
    צריך לציין רשימה מופרדת בפסיקים של כתובות אימייל של משתמשים או קבוצות שצריכים לקבל גישה לסודות שצוינו.

נותנים גישה לחשבון השירות של הקצה העורפי:

  • ‫-b או --backend BACKEND_ID
    מציינים את הקצה העורפי של App Hosting שחשבון השירות שלו צריך לקבל גישה לסודות שצוינו.
  • ‫-l או --location REGION_NAME
    מציינים את האזור של הקצה העורפי של App Hosting. אם לא מציינים את האזור, ה-CLI מחפש בכל האזורים את ה-BACKEND_ID התואם. אם יש כמה אזורים עם בקאנד עם המזהה הזה, ה-CLI מבקש לבחור אחד במצב אינטראקטיבי (במצב לא אינטראקטיבי, חובה לציין את --location).
apphosting:secrets:revokeaccess \
SECRET_NAME

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

אפשר להעביר ערך אחד או יותר של SECRET_NAME, מופרדים בפסיק. צריך לציין את --emails או את --backend (שני הדגלים האלה לא יכולים להתקיים בו-זמנית).

כדי לבטל את הגישה של קבוצה של כתובות אימייל של משתמשים או קבוצות:

  • ‫-e או --emails EMAILS
    מציינים רשימה מופרדת בפסיקים של כתובות אימייל של משתמשים או קבוצות שרוצים לבטל את הגישה שלהם לסודות שצוינו.

ביטול הגישה מחשבון השירות של הקצה העורפי:

  • -b או --backend BACKEND_ID
    מציינים את הקצה העורפי של App Hosting שצריך לבטל את הגישה של חשבון השירות שלו לסודות שצוינו.
  • ‫-l או --location REGION_NAME
    מציינים את האזור של הקצה העורפי של App Hosting. אם לא מציינים את האזור, ה-CLI מחפש בכל האזורים את ה-BACKEND_ID התואם. אם יש כמה אזורים עם בקאנד עם המזהה הזה, ה-CLI מבקש לבחור אחד במצב אינטראקטיבי (במצב לא אינטראקטיבי, חובה לציין את --location).
apphosting:secrets:describe \
SECRET_NAME
אחזור המטא-נתונים והגרסאות של שם הסוד שצוין.
apphosting:secrets:access \
SECRET_NAME[@VERSION]
גישה לערך של הסוד לפי שם הסוד שצוין בגרסה שצוינה.
אם משמיטים את [@VERSION], כברירת מחדל תהיה גישה לגרסה העדכנית.

פקודות Authentication (ניהול משתמשים)

פקודה תיאור
auth:export \
DATA_FILE

ייצוא של חשבונות המשתמשים בפרויקט Firebase הפעיל לקובץ JSON או CSV.

מידע נוסף זמין בדף auth:import ו-auth:export.

auth:import \
DATA_FILE

מייבאים את חשבונות המשתמשים מקובץ JSON או CSV לפרויקט Firebase הפעיל.

מידע נוסף זמין בדף auth:import ו-auth:export.

פקודות Cloud Firestore

פקודה תיאור
firestore:locations

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

מידע על המיקומים הזמינים למהדורת Standard, למהדורת Enterprise ולתאימות ל-MongoDB.

firestore:databases:create \
DATABASE_ID \
--location REGION_NAME

יוצרים את המכונה שצוינה של מסד הנתונים של Cloud Firestore (במצב מקורי) במיקום שצוין.
מריצים את הפקודה firebase firestore:locations כדי להציג את המיקומים הזמינים ל-REGION_NAME.

הפקודה הזו תומכת בדגלים האופציונליים הבאים:

  • --delete-protection DELETION_PROTECTION_STATE
    אפשר לאשר או למנוע את המחיקה של מכונת מסד הנתונים שצוינה ב-Cloud Firestore. הערכים התקינים הם ENABLED או DISABLED. אם לא מציינים ערך, ברירת המחדל היא DISABLED.
  • --point-in-time-recovery PITR_STATE
    הגדרת האפשרות להפעיל שחזור מערכת מנקודה מסוימת בזמן (PITR) במכונה של מסד הנתונים Cloud Firestore. הערכים התקינים הם ENABLED או DISABLED. אם לא מציינים ערך, ברירת המחדל היא DISABLED.
  • --edition EDITION
    הגדרת המהדורה של מכונת מסד הנתונים של Cloud Firestore שצוינה.
    הערכים התקינים הם standard או enterprise. אם לא מציינים ערך, ברירת המחדל היא standard.
  • --firestore-data-access ENABLEMENT_STATE
    (מהדורת Enterprise בלבד) שליטה בזמינות של ממשק ה-API של Cloud Firestore. הערכים התקינים הם ENABLED או DISABLED. אם משמיטים את הפרמטר, ערך ברירת המחדל הוא ENABLED (אבל כש---mongodb-compatible-data-access הוא ENABLED, ערך ברירת המחדל הוא DISABLED).
  • --mongodb-compatible-data-access ENABLEMENT_STATE
    (מהדורת Enterprise בלבד) שליטה בזמינות של API שתואם ל-MongoDB. הערכים התקינים הם ENABLED או DISABLED. אם לא מציינים ערך, ברירת המחדל היא DISABLED.
  • --realtime-updates ENABLEMENT_STATE
    (מהדורת Enterprise בלבד) הפעלה או השבתה של התכונה "צפייה" (בזמן אמת). הערכים התקינים הם ENABLED או DISABLED. אם לא מציינים את הפרמטר, ברירת המחדל היא ENABLED כשהערך של --firestore-data-access הוא ENABLED (אחרת, המערכת משתמשת בברירת המחדל של השרת).
    כדי להגדיר את הדגל הזה, צריך להגדיר את --firestore-data-access לערך ENABLED.
firestore:databases:list

הצגת רשימה של כל המופעים של מסד הנתונים Cloud Firestore בפרויקט Firebase הפעיל.

firestore:databases:get \
[DATABASE_ID]

אחזור ההגדרות של מסד הנתונים Cloud Firestore שצוין.
אם משמיטים את DATABASE_ID, ברירת המחדל היא מופע מסד הנתונים Cloud Firestore כברירת מחדל של פרויקט Firebase הפעיל.

פלט הטבלה כולל את Edition של מסד הנתונים לכל מסדי הנתונים. שדות הסטטוס של הגישה לנתונים ארגוניים ועדכונים בזמן אמת נכללים בפלט JSON גולמי רק כשמעבירים את --json.

firestore:databases:update \
DATABASE_ID

עדכון הגדרות מסד הנתונים של המכונה שצוינה של מסד הנתונים Cloud Firestore.

צריך להזין לפחות דגל אחד (דגלים שלא הוזנו ישמרו על ההגדרות הנוכחיות שלהם). הפקודה הזו תומכת בדגלים הבאים:

  • --delete-protection DELETION_PROTECTION_STATE
    אפשר לאשר או למנוע את המחיקה של מכונת מסד הנתונים שצוינה ב-Cloud Firestore. הערכים התקינים הם ENABLED או DISABLED.
  • --point-in-time-recovery PITR_STATE
    הגדרת האפשרות להפעיל שחזור מערכת מנקודה מסוימת בזמן (PITR) במכונה של מסד הנתונים Cloud Firestore. הערכים התקינים הם ENABLED או DISABLED.
firestore:databases:delete \
DATABASE_ID

מחיקת המכונה שצוינה של מסד הנתונים ב-Cloud Firestore.

ב-CLI תוצג בקשה לאישור לפני ביצוע הפעולה. כדי לדלג על בקשת האישור (נדרש במצב לא אינטראקטיבי), מעבירים את הדגל --force. (בניגוד לפקודות אחרות, הפקודה firestore:databases:delete לא תומכת בקיצור -f).

firestore:indexes

הצגת רשימה של כל האינדקסים של מכונה של מסד נתונים ב-Cloud Firestore.

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --database DATABASE_ID
    מציינים את המכונה של מסד הנתונים ב-Cloud Firestore שרוצים להציג את האינדקסים שלה. אם לא מציינים מזהה, מוצגים האינדקסים של מופע מסד הנתונים Cloud Firestore כברירת מחדל בפרויקט Firebase הפעיל.
firestore:delete \
[PATH]

מחיקת מסמכים בנתיב מסד הנתונים שצוין (PATH) ממכונה של מסד נתונים ב-Cloud Firestore.

חובה להזין את PATH, אלא אם מעבירים את --all-collections. מחיקה של אוסף או מסמך שיש לו אוספי משנה נכשלת, אלא אם מעבירים את -r/--recursive או את --shallow.

חשוב לזכור שמחיקת נתונים מ-Cloud Firestore באמצעות ה-CLI כרוכה בעלויות קריאה ומחיקה. מידע נוסף זמין במאמר הסבר על החיוב ב-Cloud Firestore.

הפקודה הזו תומכת בדגלים האופציונליים הבאים:

  • --database DATABASE_ID
    מציינים את מסד הנתונים ב-Cloud Firestore שממנו רוצים למחוק מסמכים. אם לא מציינים את המזהה, המסמכים נמחקים ממכונת מסד הנתונים Cloud Firestore כברירת מחדל של פרויקט Firebase הפעיל.
  • --all-collections
    מוחקים את כל האוספים במסד הנתונים. (אל תעבירו את PATH כשאתם משתמשים בדגל הזה).
  • -r או --recursive
    מחיקה רקורסיבית של כל המסמכים ואוספי המשנה בנתיב שצוין. (אי אפשר להעביר עם --shallow.)
  • --shallow
    מחיקת מסמכים רק ברמה שצוינה והתעלמות ממסמכים באוספי משנה. חשוב לזכור שהפעולה הזו עלולה להשאיר מסמכים בתצוגת עץ ללא הורה. (אי אפשר להעביר עם -r או --recursive.)

ב-CLI תוצג בקשה לאישור לפני ביצוע הפעולה. כדי לדלג על בקשת האישור (נדרש במצב לא אינטראקטיבי), מעבירים את הדגלים הבאים: -f או --force.

פקודות Cloud Functions for Firebase

מידע נוסף מופיע במאמרי העזרה בנושא הגדרת הסביבה.

פקודה תיאור
functions:config:export

ייצוא של הגדרות זמן הריצה הקודמות של פרויקט Firebase הפעיל functions.config() כסוד JSON יחיד ב-Google Cloud Secret Manager (לשימוש עם defineJsonSecret).

הפקודה הזו תומכת בדגלים האופציונליים הבאים:

  • --secret SECRET_NAME
    מציינים את השם של הסוד שרוצים ליצור או לעדכן ב-Google Cloud Secret Manager. אם לא מציינים שם, ה-CLI מבקש להזין שם (ברירת המחדל היא FUNCTIONS_CONFIG_EXPORT).
  • -f או --force
    שימוש בשם ברירת המחדל של הסוד (FUNCTIONS_CONFIG_EXPORT) בלי להציג בקשה, והוספת גרסה חדשה של הסוד בלי אישור אם הסוד כבר קיים. (נדרש כדי להוסיף גרסה חדשה לסוד קיים במצב לא אינטראקטיבי).
functions:delete \
FUNCTION_NAME...

מחיקה של פונקציה אחת או יותר שצוינו מהפרויקט הפעיל ב-Firebase.

ב-CLI תוצג בקשה לאישור לפני ביצוע הפעולה. כדי לדלג על בקשת האישור (נדרש במצב לא אינטראקטיבי), מעבירים את הדגלים הבאים: -f או --force.

functions:list הצגת רשימה של כל הפונקציות שנפרסו בפרויקט Firebase הפעיל.
functions:log קריאת יומנים מכל Cloud Functions שנפרסו בפרויקט Firebase הפעיל.
functions:secrets:access \
SECRET_NAME[@VERSION]
גישה לערך של הסוד לפי שם הסוד שצוין בגרסה שצוינה.
אם משמיטים את [@VERSION], כברירת מחדל תהיה גישה לגרסה העדכנית.
functions:secrets:destroy \
SECRET_NAME[@VERSION]

השמדת הגרסה שצוינה של הסוד שצוין.
אם לא מציינים את [@VERSION], כברירת מחדל מושמדת הגרסה העדכנית.

לפני ביצוע הפעולה, ה-CLI מציג בקשת אישור שמאושרת באופן אוטומטי במצב לא אינטראקטיבי בלי -f או --force. אבל אם הסוד עדיין מקושר לנקודות קצה פעילות של פונקציות, צריך להעביר את -f או את --force כדי להשמיד אותו.

functions:secrets:get \
SECRET_NAME
אחזור המטא-נתונים והגרסאות של שם הסוד שצוין.
functions:secrets:prune השמדת כל הסודות שלא בשימוש בפרויקט Firebase הפעיל.
functions:secrets:set \
SECRET_NAME
יוצרים או מעדכנים את הסוד שצוין.
functions:shell הפעלת מעטפת אינטראקטיבית מקומית לבדיקת פונקציות.
functions:config:clone \
--from PROJECT_ID

הוצא משימוש.
שכפול סביבה של פרויקט אחר לפרויקט הפעיל ב-Firebase.

מושבתת כברירת מחדל. כדי להשתמש בפקודה הזו, קודם צריך להריץ את הפקודה firebase experiments:enable legacyRuntimeConfigCommands.

functions:config:get הוצא משימוש.
מאחזרים את ערכי ההגדרות הקיימים של Cloud Functions בפרויקט הפעיל ב-Firebase.
functions:config:set \
KEY=VALUE...

הוצא משימוש.
אחסון ערכי הגדרות של זמן ריצה של Cloud Functions בפרויקט Firebase הפעיל.

מושבתת כברירת מחדל. כדי להשתמש בפקודה הזו, קודם צריך להריץ את הפקודה firebase experiments:enable legacyRuntimeConfigCommands.

functions:config:unset \
KEY...

הוצא משימוש.
הסרת ערכים מהגדרות זמן הריצה של פרויקט Firebase הפעיל.

מושבתת כברירת מחדל. כדי להשתמש בפקודה הזו, קודם צריך להריץ את הפקודה firebase experiments:enable legacyRuntimeConfigCommands.

פקודות Crashlytics

פקודה תיאור
crashlytics:mappingfile:generateid \
--resource-file PATH/TO/ANDROID_RESOURCE.XML
יוצרים מזהה ייחודי לקובץ המיפוי בקובץ המשאבים של Android‏ (XML) שצוין.
crashlytics:mappingfile:upload \
--app FIREBASE_APP_ID \
--resource-file PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
מעלים קובץ מיפוי (TXT) שתואם ל-Proguard לאפליקציית Firebase שצוינה, ומשייכים אותו למזהה של קובץ המיפוי שהוצהר בקובץ המשאבים (XML) של Android שצוין.
crashlytics:symbols:upload \
--app FIREBASE_APP_ID \
PATH/TO/SYMBOLS...

יוצרים קובץ סמלים שתואם ל-Crashlytics לקריסות של ספריית Native ב-Android (לדוגמה, Android NDK או גרסאות build של Unity או Flutter ל-Android) ומעלים אותו לשרתי Firebase.

הפקודה הזו נתמכת רק ב-Android. ל-dSYM של iOS, משתמשים בסקריפט upload-symbols של Apple SDK.

פקודות Extensions

פקודה תיאור
ext הצגת מידע על אופן השימוש בפקודות של Firebase Extensions.
הצגת רשימה של מופעי התוספים שמותקנים בפרויקט הפעיל.
ext:configure \
EXTENSION_INSTANCE_ID
מגדירים מחדש את ערכי הפרמטרים של מופע התוסף במניפסט של התוסף.
ext:info \
PUBLISHER_ID/EXTENSION_ID
הדפסת מידע מפורט על תוסף.
ext:install \
PUBLISHER_ID/EXTENSION_ID
מוסיפים מופע חדש של תוסף למניפסט של התוסף.
ext:sdk:install \
EXTENSION_NAME
התקנת ערכות SDK להגדרת תוספים בפונקציות.
ext:list הצגת רשימה של כל המופעים של התוספים שמותקנים בפרויקט ב-Firebase.
מדפיסים את מזהה המכונה של כל תוסף.
ext:uninstall \
EXTENSION_INSTANCE_ID
מסירים מופע של תוסף ממניפסט התוסף.
ext:update \
EXTENSION_INSTANCE_ID \
[UPDATE_SOURCE]

מעדכנים מופע של תוסף לגרסה העדכנית (או לגרסת UPDATE_SOURCE שפורסמה וצוינה) במניפסט של התוסף. חשוב לזכור שאין תמיכה בנתיבים מקומיים ובכתובות URL ב-UPDATE_SOURCE.

ב-CLI תוצג בקשה לאישור לפני ביצוע הפעולה. אפשר להעביר את -f או את --force כדי לדלג על ההנחיה הזו במצב אינטראקטיבי. עם זאת, ext:update היא פקודה אינטראקטיבית בלבד, והיא לא נתמכת במצב לא אינטראקטיבי, גם עם -f או --force.

ext:export מייצאים את כל המופעים של התוספים המותקנים מהפרויקט אל מניפסט התוספים.

פקודות Extensions לבעלי תוכן דיגיטלי

פקודה תיאור
ext:dev:init מאתחלים בסיס קוד שלד לתוסף חדש בספרייה הנוכחית.
ext:dev:list \
PUBLISHER_ID
הדפסת רשימה של כל התוספים שהועלו על ידי בעל תוכן דיגיטלי.
ext:dev:register מושבת.
אין יותר תמיכה ברישום של מזהי פרופיל חדשים של בעלי תוכן דיגיטלי.
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
[VERSION_PREDICATE]
הוצאה משימוש של גרסאות תוספים שתואמות לפרדיקט הגרסה.
הפרדיקט של הגרסה יכול להיות גרסה אחת (כמו 1.0.0), או טווח של גרסאות (כמו >1.0.0).
אם לא צוין פרדיקט של גרסה, כל הגרסאות של התוסף הזה יוצאות משימוש.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
ביטול ההוצאה משימוש של גרסאות תוספים שתואמות לפרדיקט הגרסה.
הפרדיקט של הגרסה יכול להיות גרסה אחת (כמו 1.0.0), או טווח של גרסאות (כמו >1.0.0).
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
העלאת גרסה חדשה של תוסף.
ext:dev:usage \
PUBLISHER_ID
הצגת מספר ההתקנות ומדדי השימוש של תוספים שהועלו על ידי בעל האפליקציה.

פקודות Hosting

פקודה תיאור
hosting:disable

הפסקת הצגת תנועה מסוג Firebase Hosting באתר Hosting.

אחרי הרצת הפקודה הזו, בכתובת ה-URL של האתר Hosting תוצג ההודעה "האתר לא נמצא".

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --site SITE_ID
    מציינים את האתר ב-Hosting שרוצים להשבית. אם לא מציינים את האפשרות הזו, ברירת המחדל היא האתר המוגדר כברירת מחדל של Hosting בפרויקט Firebase הפעיל.

ב-CLI תוצג בקשה לאישור לפני ביצוע הפעולה. כדי לדלג על בקשת האישור (נדרש במצב לא אינטראקטיבי), מעבירים את הדגלים הבאים: -f או --force.

ניהול של Hosting אתרים
hosting:sites:create \
[SITE_ID]

יצירת אתר Hosting חדש באמצעות SITE_ID שצוין.

אם ה-CLI פועל במצב לא אינטראקטיבי, צריך להשתמש ב-SITE_ID.

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --app FIREBASE_APP_ID
    צריך לציין אפליקציית אינטרנט קיימת ב-Firebase כדי לשייך אותה לאתר החדש ב-Hosting.
hosting:sites:delete \
SITE_ID

מוחקים את האתר שצוין ב-Hosting.

ב-CLI תוצג בקשה לאישור לפני ביצוע הפעולה. כדי לדלג על בקשת האישור (נדרש במצב לא אינטראקטיבי), מעבירים את הדגלים הבאים: -f או --force.

hosting:sites:get \
SITE_ID

אחזור הפרטים של אתר Hosting שצוין.

הפלט של הטבלה כולל את מזהה האתר, כתובת ה-URL שמוגדרת כברירת מחדל ומזהה אפליקציית האינטרנט ב-Firebase (אם היא מקושרת). מטא-נתונים נוספים (כמו אם האתר הוא DEFAULT_SITE או USER_SITE) נכללים רק בפלט JSON גולמי כשמועבר --json.

hosting:sites:list הצגת רשימה של כל האתרים של Hosting בפרויקט Firebase הפעיל.
ניהול ערוצי גרסת טרום-השקה (Preview)
hosting:channel:create \
[CHANNEL_ID]

יצירת ערוץ חדש של גרסת טרום-השקה (Preview) לאתר Hosting באמצעות CHANNEL_ID שצוין.
הפקודה הזו לא פורסת את האפליקציה בערוץ.

אם ה-CLI פועל במצב לא אינטראקטיבי, צריך להשתמש ב-CHANNEL_ID.

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --site SITE_ID
    מציינים את האתר ב-Hosting שבו רוצים ליצור את ערוץ גרסת טרום-ההשקה (Preview). אם לא מציינים את האפשרות הזו, ברירת המחדל היא האתר המוגדר כברירת מחדל של Hosting בפרויקט Firebase הפעיל.
hosting:channel:delete \
CHANNEL_ID

מחיקת ערוץ התצוגה המקדימה שצוין. אי אפשר למחוק את הערוץ הפעיל של האתר.

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --site SITE_ID
    מציינים את האתר ב-Hosting שממנו רוצים למחוק את ערוץ גרסת טרום-ההשקה (Preview). אם לא מציינים את האפשרות הזו, ברירת המחדל היא האתר המוגדר כברירת מחדל של Hosting בפרויקט Firebase הפעיל.

ב-CLI תוצג בקשה לאישור לפני ביצוע הפעולה. כדי לדלג על בקשת האישור (נדרש במצב לא אינטראקטיבי), מעבירים את הדגלים הבאים: -f או --force.

hosting:channel:deploy \
CHANNEL_ID

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

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --only TARGETS
    צריך לציין רשימה מופרדת בפסיקים של יעדי Hosting שהוגדרו ב-firebase.json כדי לפרוס בערוץ גרסת טרום-ההשקה (Preview). אם האפשרות הזו מושמטת, הפריסה תתבצע בכל האתרים של Hosting שהוגדרו ב-firebase.json.
hosting:channel:list

הצגת רשימה של כל הערוצים (כולל הערוץ "בשידור חי") של אתר Hosting.

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --site SITE_ID
    מציינים את האתר ב-Hosting שרוצים להציג את הערוצים שלו. אם לא מציינים את האפשרות הזו, ברירת המחדל היא האתר המוגדר כברירת מחדל של Hosting בפרויקט הפעיל ב-Firebase.
hosting:channel:open \
[CHANNEL_ID]

פותחים דפדפן בכתובת ה-URL של הערוץ שצוין, או מחזירים את כתובת ה-URL אם אי אפשר לפתוח אותה בדפדפן.

אם ה-CLI פועל במצב לא אינטראקטיבי, צריך להשתמש ב-CHANNEL_ID.

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --site SITE_ID
    מציינים את האתר ב-Hosting לערוץ של גרסת טרום-ההשקה (Preview). אם לא מציינים את האפשרות הזו, ברירת המחדל היא האתר המוגדר כברירת מחדל של Hosting בפרויקט Firebase הפעיל.
שכפול גרסאות
hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

שכפול הגרסה האחרונה שנפרסה בערוץ "המקור" שצוין לערוץ "היעד" שצוין.

הפקודה הזו גם פורסת את האפליקציה בערוץ "היעד" שצוין. אם ערוץ ה-"target" עדיין לא קיים, הפקודה הזו יוצרת ערוץ חדש לתצוגה מקדימה באתר Hosting של ה-"target" לפני הפריסה בערוץ.

hosting:clone \
SOURCE_SITE_ID@VERSION_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

משכפלים את הגרסה שצוינה לערוץ "היעד" שצוין.

הפקודה הזו גם פורסת את האפליקציה בערוץ "היעד" שצוין. אם ערוץ ה-"target" עדיין לא קיים, הפקודה הזו יוצרת ערוץ חדש לתצוגה מקדימה באתר Hosting של ה-"target" לפני הפריסה בערוץ.

אפשר למצוא את VERSION_ID במרכז הבקרה של Hosting במסוף Firebase.

פקודות Realtime Database

שימו לב שאפשר ליצור את המכונה הראשונית של Realtime Database שמוגדרת כברירת מחדל במסוף Firebase, או באמצעות תהליך העבודה הכללי של firebase init או התהליך הספציפי של firebase init database.

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

פקודה תיאור
database:get \
PATH

אחזור נתונים במיקום שצוין במסד הנתונים (PATH) של מופע Realtime Database והצגת הנתונים כ-JSON. תמיכה בשאילתות על נתונים שנוספו לאינדקס.

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --instance DATABASE_NAME
    מציינים את המכונה של Realtime Database לפעולה. אם לא מציינים את המזהה, כברירת מחדל המערכת משתמשת במופע ברירת המחדל של Realtime Database בפרויקט הפעיל ב-Firebase.
database:instances:create \
DATABASE_NAME \
--location REGION_NAME

יוצרים מכונה של Realtime Database עם DATABASE_NAME שצוין במיקום שצוין.

הפקודה הזו תומכת בדגל האופציונלי (אבל המומלץ) הבא:

אי אפשר להשתמש בפקודה הזו כדי ליצור את מכונת ברירת המחדל של Realtime Database בפרויקט Firebase הפעיל. אם בפרויקט אין מכונות Realtime Database קיימות, תתבקשו להריץ את התהליך firebase init כדי ליצור את המכונה הראשונה של Realtime Database בפרויקט (מכונת ברירת המחדל).

database:instances:list

הצגת רשימה של כל המופעים של Realtime Database בפרויקט הפעיל ב-Firebase.

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --location REGION_NAME
    מציינים מיקום ספציפי כדי להציג את המכונות של Realtime Database. כדי לראות את שמות האזורים הזמינים, קראו את המאמר מיקומים של Realtime Database.
database:profile

יצירת פרופיל של פעולות למכונה של Realtime Database.
לפרטים נוספים, קראו את המאמר סוגי פעולות ב-Realtime Database.

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --instance DATABASE_NAME
    מציינים את המכונה של Realtime Database לפעולה. אם לא מציינים את המזהה, כברירת מחדל המערכת משתמשת במופע ברירת המחדל של Realtime Database בפרויקט הפעיל ב-Firebase.
database:push \
PATH \
[INFILE]

העברה ב-push של נתונים חדשים לרשימה במיקום מסוים במסד הנתונים (PATH) במכונה של Realtime Database.

מקבל קלט מקובץ (INFILE), מ-STDIN או מהדגל -d (--data).

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --instance DATABASE_NAME
    מציינים את המכונה של Realtime Database לפעולה. אם לא מציינים את המזהה, כברירת מחדל המערכת משתמשת במופע ברירת המחדל של Realtime Database בפרויקט הפעיל ב-Firebase.
database:remove \
PATH

מחיקת כל הנתונים במיקום שצוין במסד הנתונים (PATH) במכונה של Realtime Database.

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --instance DATABASE_NAME
    מציינים את המכונה של Realtime Database לפעולה. אם לא מציינים את המזהה, כברירת מחדל המערכת משתמשת במופע ברירת המחדל של Realtime Database בפרויקט הפעיל ב-Firebase.

ב-CLI תוצג בקשה לאישור לפני ביצוע הפעולה. כדי לדלג על בקשת האישור (נדרש במצב לא אינטראקטיבי), מעבירים את הדגלים הבאים: -f או --force.

database:set \
PATH \
[INFILE]

החלפת כל הנתונים במיקום שצוין במסד הנתונים (PATH) במופע של Realtime Database.

מקבל קלט מקובץ (INFILE), מ-STDIN או מהדגל -d (--data).

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --instance DATABASE_NAME
    מציינים את המכונה של Realtime Database לפעולה. אם לא מציינים את המזהה, כברירת מחדל המערכת משתמשת במופע ברירת המחדל של Realtime Database בפרויקט הפעיל ב-Firebase.

ב-CLI תוצג בקשה לאישור לפני ביצוע הפעולה. כדי לדלג על בקשת האישור (נדרש במצב לא אינטראקטיבי), מעבירים את הדגלים הבאים: -f או --force.

database:update \
PATH \
[INFILE]

ביצוע עדכון חלקי במיקום שצוין במסד הנתונים (PATH) במכונה של Realtime Database.

מקבל קלט מקובץ (INFILE), מ-STDIN או מהדגל -d (--data).

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --instance DATABASE_NAME
    מציינים את המכונה של Realtime Database לפעולה. אם לא מציינים את המזהה, כברירת מחדל המערכת משתמשת במופע ברירת המחדל של Realtime Database בפרויקט הפעיל ב-Firebase.

ב-CLI תוצג בקשה לאישור לפני ביצוע הפעולה. כדי לדלג על בקשת האישור (נדרש במצב לא אינטראקטיבי), מעבירים את הדגלים הבאים: -f או --force.

פקודות Remote Config

הפקודות האלה ותרחישי השימוש שלהן מפורטים במאמר שינוי Remote Config באופן פרוגרמטי.

פקודה תיאור
remoteconfig:versions:list

מציגים את כל הגרסאות של התבנית Remote Config.

הפקודה הזו תומכת בדגל האופציונלי הבא:

  • --limit NUMBER_OF_VERSIONS
    מציינים את מספר הגרסאות המקסימלי שיוחזרו. מציינים את הערך 0 כדי להחזיר את כל הגרסאות הקיימות. אם לא מציינים ערך, ברירת המחדל היא 10.
remoteconfig:get \
--version-number VERSION_NUMBER

אחזור הפרטים של התבנית Remote Config בגרסה שצוינה.

הפקודה הזו תומכת בדגלים האופציונליים (אבל המומלצים) הבאים:

  • ‫-v או --version-number VERSION_NUMBER
    מציינים את הגרסה של התבנית Remote Config שרוצים לאחזר. אם לא מציינים גרסה, ברירת המחדל היא הגרסה העדכנית.
  • ‫-o או --output FILENAME
    כתיבת הפלט בקובץ JSON עם שם הקובץ שצוין במקום להדפיס אותו כטבלה.
remoteconfig:rollback \
--version-number VERSION_NUMBER

חזרה לגרסה הקודמת שצוינה של התבנית Remote Config.

הפקודה הזו תומכת בדגל האופציונלי (אבל המומלץ) הבא:

  • -v או --version-number VERSION_NUMBER
    מציינים את הגרסה של התבנית Remote Config שאליה רוצים לחזור. אם לא מציינים את הפרמטר, ברירת המחדל היא הגרסה הקודמת (הגרסה הנוכחית פחות 1).

ב-CLI תוצג בקשה לאישור לפני ביצוע הפעולה. כדי לדלג על בקשת האישור (נדרש במצב לא אינטראקטיבי), מעבירים את הדגלים הבאים: -f או --force.

remoteconfig:experiments:list

הצגת רשימה של כל הניסויים ב-Remote Config בפרויקט Firebase הפעיל.

הפקודה הזו תומכת בדגלים האופציונליים הבאים:

  • --filter EXPRESSION
    מציינים את הביטוי לסינון הניסויים.
  • --pageSize NUMBER
    מציינים את מספר הניסויים שיוצגו בכל דף. אם לא מציינים ערך, ברירת המחדל היא 10.
  • --pageToken TOKEN
    מציינים את ההיסט ההתחלתי של הרשימה.
remoteconfig:experiments:get \
EXPERIMENT_ID

אחזור הפרטים של הניסוי שצוין ב-Remote Config.

הטבלה שמוצגת כוללת את שם המשאב של הניסוי, השם המוצג, המצב (PENDING,‏ RUNNING,‏ DONE או EXPIRED), זמני ההתחלה והסיום, הווריאציות (שמות ומשקלים של הקצאת תנועה) והיעדים/המדדים שהוגדרו. תיאור הניסוי נכלל רק בפלט JSON גולמי כשמועבר הפרמטר --json.

remoteconfig:experiments:delete \
EXPERIMENT_ID

מחיקת הניסוי שצוין ב-Remote Config.

לפני ביצוע הפעולה, ה-CLI מציג בקשת אישור ולא תומך בדגל -f או --force. במצב לא אינטראקטיבי, ברירת המחדל של האישור היא "לא" והפקודה מסתיימת בלי למחוק את הניסוי.

remoteconfig:rollouts:list

הצגת רשימה של כל ההשקות של Remote Config בפרויקט Firebase הפעיל.

הפקודה הזו תומכת בדגלים האופציונליים הבאים:

  • --filter EXPRESSION
    מציינים את הביטוי לסינון ההשקות.
  • --pageSize NUMBER
    מציינים את מספר ההשקות שיוצגו בכל דף. אם לא מציינים ערך, ברירת המחדל היא 10.
  • --pageToken TOKEN
    מציינים את ההיסט ההתחלתי של הרשימה.
remoteconfig:rollouts:get \
ROLLOUT_ID
אחזור הפרטים של ההשקה שצוינה ב-Remote Config.
remoteconfig:rollouts:delete \
ROLLOUT_ID

מחיקת ההשקה שצוינה של Remote Config.

לפני ביצוע הפעולה, ה-CLI מציג בקשת אישור ולא תומך בדגל -f או --force. (במצב לא אינטראקטיבי, ברירת המחדל של האישור היא "לא" והפקודה מסתיימת בלי למחוק את ההשקה).

פקודות SQL Connect

הפקודות האלה ותרחישי השימוש שלהן מפורטים במדריך העזר ל-CLI של SQL Connect.

פקודה תיאור
dataconnect:services:list הצגת רשימה של כל שירותי SQL Connect שנפרסו בפרויקט הפעיל ב-Firebase.
dataconnect:sql:diff

הצגת ההבדלים בין סכימה מקומית של SQL Connect לבין סכימת מסד הנתונים של Cloud SQL.

הפקודה הזו תומכת בדגלים האופציונליים הבאים:

  • --service SERVICE_ID
    מציינים את מזהה השירות של SQL Connect. אם לא מציינים את המאפיין, המערכת משתמשת בשירות היחיד שהוגדר ב-firebase.json. אם מוגדרים כמה שירותים, הפקודה תיכשל אלא אם תציינו את --service ואת --location, אם צריך.
  • --location LOCATION
    מציינים את המיקום של שירות SQL Connect. צריך לציין את המיקום רק אם מזהה השירות משמש בכמה מיקומים.
dataconnect:sql:migrate

מעבירים את הסכימה של מסד הנתונים ב-Cloud SQL כך שתתאים לסכימה המקומית ב-SQL Connect.

הפקודה הזו תומכת בדגלים האופציונליים הבאים:

  • --service SERVICE_ID
    מציינים את מזהה השירות של SQL Connect. אם משמיטים את הדגל, המערכת משתמשת בשירות היחיד שהוגדר ב-firebase.json (אם הוגדרו כמה שירותים, הפקודה נכשלת אלא אם מציינים את --service ואת --location, במקרה הצורך).
  • --location LOCATION
    מציינים את המיקום של שירות SQL Connect. צריך לציין את המיקום רק אם מזהה השירות משמש בכמה מיקומים.

במצב אינטראקטיבי, ה-CLI מציג בקשת אישור לפני ביצוע פעולה. במצב לא אינטראקטיבי, העברות לא הרסניות פועלות באופן אוטומטי, ושינויים הרסניים מבוטלים, אלא אם מעבירים את -f או את --force (שגם מדלגים על בקשות לאישור במצב אינטראקטיבי).

dataconnect:sql:grant \
--role SQL_ROLE \
--email EMAIL_ADDRESS

מקצים את הערך שצוין ב-SQL_ROLE (אחד מהערכים: owner,‏ writer או reader) לערך שצוין ב-EMAIL_ADDRESS של המשתמש או של חשבון השירות.

הפקודה הזו תומכת בדגלים האופציונליים הבאים:

  • --service SERVICE_ID
    מציינים את מזהה השירות של SQL Connect. אם משמיטים את הדגל, המערכת משתמשת בשירות היחיד שהוגדר ב-firebase.json (אם הוגדרו כמה שירותים, הפקודה נכשלת אלא אם מציינים את --service ואת --location, במקרה הצורך).
  • --location LOCATION
    מציינים את המיקום של שירות SQL Connect. צריך לציין את המיקום רק אם מזהה השירות משמש בכמה מיקומים.
dataconnect:sdk:generate

יצירת ערכות SDK עם סוגים מוגדרים למחברים של SQL Connect.

הפקודה הזו תומכת בדגלים האופציונליים הבאים:

  • --service SERVICE_ID
    מציינים את מזהה השירות של SQL Connect. אם משמיטים את הפרמטר, המערכת יוצרת ערכות SDK לכל השירותים שהוגדרו.
  • --location LOCATION
    מציינים את המיקום של שירות SQL Connect. צריך לציין את המיקום רק אם מזהה השירות משמש בכמה מיקומים.
  • --watch
    צריך לעקוב אחרי שינויים בקובצי ה-GQL של המחבר וליצור מחדש את ערכות ה-SDK כשיש עדכונים.