מסמך עזר של Firebase CLI

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

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

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

התקנת Firebase CLI

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

WindowsmacOSLinux

Windows

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

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

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

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

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

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

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

  3. ממשיכים להיכנס ולבדוק את ה-CLI.

npm

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

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

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

    npm install -g firebase-tools

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

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

macOS או Linux

אפשר להתקין את Firebase CLI ב-macOS או ב-Linux באמצעות אחת מהאפשרויות הבאות:

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

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

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

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

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

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

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

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

  2. ממשיכים להיכנס ולבדוק את ה-CLI.

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

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

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

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

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

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

npm

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

  1. מתקינים את Node.js באמצעות nvm (Node Version Manager).
    כשמתקינים את Node.js, כלי הפקודות npm מותקנים אוטומטית.

  2. מתקינים את Firebase CLI באמצעות 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

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

הדרך לעדכן את גרסת ה-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

הסרת Firebase CLI

הדרך להסרת ה-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

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

(Legacy) שימוש ב-FIREBASE_TOKEN

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

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

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

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

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

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

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

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

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

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

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

הקובץ firebase.json

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

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

אפשר להגדיר את רוב האפשרויות של Firebase Hosting ישירות בקובץ firebase.json. עם זאת, עבור שירותי Firebase אחרים שאפשר לפרוס באמצעות ה-CLI של Firebase, הפקודה firebase init יוצרת קבצים ספציפיים שבהם אפשר להגדיר את ההגדרות של השירותים האלה, כמו קובץ index.js עבור Cloud Functions. אפשר גם להגדיר predeploy או postdeploy hooks בקובץ 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

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

  • פריטים חדשים באתרים שלך Firebase Hosting
  • חדש, מעודכן או קיים Cloud Functions for Firebase
  • סכימות ורכיבי Connector חדשים או מעודכנים עבור 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.

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

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

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

לדוגמה, הסקריפט הבא הוא הביטוי firebase.json למשימה מסוג postdeploy ששולחת הודעה ב-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

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

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

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

משתני סביבה

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

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

מכסות פריסה

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

החזרה של פריסה

אפשר לבטל פריסה של Firebase Hosting מהפרויקט Firebase Hosting בדף על ידי בחירת הפעולה Rollback (ביטול פריסה) לגרסה הרצויה.

אי אפשר לבטל את העדכונים של Security Rules ב-Firebase Realtime Database,‏ Cloud Storage for Firebase או Cloud Firestore.

הפניות לפקודות

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

פקודה תיאור
עזרה מציגה מידע עזרה לגבי ה-CLI או פקודות ספציפיות.
init הפקודה משייכת ומגדירה פרויקט Firebase חדש בספרייה הנוכחית. הפקודה הזו יוצרת קובץ תצורה firebase.json בספרייה הנוכחית.
login מאמתים את ה-CLI באמצעות חשבון Google. נדרשת גישה לדפדפן אינטרנט.
כדי להיכנס ל-CLI בסביבות מרוחקות שלא מאפשרות גישה ל-localhost, משתמשים בדגל --no-localhost.
login:ci יצירת אסימון אימות לשימוש בסביבות לא אינטראקטיביות.
login:add כניסה לחשבון Google נוסף.
login:list רשימה של כל חשבונות Google המאומתים.
login:use הגדרת חשבון Google פעיל.
logout המערכת תוציא אתכם מחשבון Google ב-CLI.
open פותח דפדפן עם משאבי פרויקט רלוונטיים.
projects:list רשימה של כל הפרויקטים ב-Firebase שיש לכם גישה אליהם.
use מגדיר את פרויקט Firebase הפעיל עבור ה-CLI.
ניהול כינויים לפרויקטים.

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

פקודה תיאור
ניהול פרויקטים ב-Firebase
projects:addfirebase הוספת משאבי Firebase לפרויקט Google Cloud קיים.
projects:create יוצר פרויקט חדש Google Cloud, ואז מוסיף משאבי Firebase לפרויקט החדש.
projects:list רשימה של כל הפרויקטים ב-Firebase שיש לכם גישה אליהם.
ניהול אפליקציות Firebase ‏ (iOS, ‏ Android, ‏ Web)
apps:create יוצר אפליקציית Firebase חדשה בפרויקט הפעיל.
apps:list רשימה של אפליקציות Firebase רשומות בפרויקט הפעיל.
apps:sdkconfig הפקודה מדפיסה את הגדרות שירותי Google של אפליקציית Firebase.
setup:web הוצא משימוש. במקום זאת, משתמשים ב-apps:sdkconfig ומציינים את web כארגומנט של הפלטפורמה.
הפלטפורמה מדפיסה את הגדרת שירותי Google של אפליקציית אינטרנט ב-Firebase.
ניהול של גיבובים של אישורי SHA (ל-Android בלבד)
apps:android:sha:create \
FIREBASE_APP_ID SHA_HASH
הוספת הגיבוב של אישור ה-SHA שצוין לאפליקציית Android של Firebase שצוינה.
apps:android:sha:delete \
FIREBASE_APP_ID SHA_HASH
מוחק את הגיבוב של אישור ה-SHA שצוין מאפליקציית Android ב-Firebase שצוינה.
apps:android:sha:list \
FIREBASE_APP_ID
מציג רשימה של גיבובי אישורים מסוג SHA עבור אפליקציית Firebase ל-Android שצוינה.

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

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

פקודה תיאור
deploy הכלי פורס קוד ונכסים מספריית הפרויקט לפרויקט הפעיל. בשביל Firebase Hosting, צריך קובץ הגדרה firebase.json.
serve מפעיל שרת אינטרנט מקומי עם ההגדרה של Firebase Hosting. בשביל Firebase Hosting, צריך קובץ הגדרה firebase.json.

פקודות App Distribution

פקודה תיאור
appdistribution:distribute \
--app FIREBASE_APP_ID
הופכים את הגרסה לזמינה לבודקים.
appdistribution:testers:add הוספת בודקים לפרויקט.
appdistribution:testers:remove הסרת בודקים מהפרויקט.
appdistribution:testers:list מציג רשימה של בודקים בפרויקט.
appdistribution:groups:create יוצר קבוצת בודקים.
appdistribution:groups:delete מחיקת קבוצת בודקים.
appdistribution:groups:list הצגת רשימה של קבוצות בודקים בפרויקט.

פקודות App Hosting

פקודה תיאור
apphosting:backends:create \
--project PROJECT_ID \
--location REGION --app APP_ID
יוצר את אוסף המשאבים המנוהלים שמקושרים לבסיס קוד יחיד שכולל קצה עורפי של App Hosting. אפשר לציין אפליקציית אינטרנט קיימת ב-Firebase באמצעות מזהה האפליקציה ב-Firebase.
apphosting:backends:get \
BACKEND_ID \
--project PROJECT_ID \
--location REGION
הסוכן מאחזר פרטים ספציפיים, כולל כתובת ה-URL הציבורית, של קצה עורפי.
apphosting:backends:list \
--project PROJECT_ID
אחזור רשימה של כל השרתים העורפיים הפעילים שמשויכים לפרויקט.
firebase apphosting:backends:delete \
BACKEND_ID \
--project PROJECT_ID \
--location REGION
מחיקה של קצה עורפי מהפרויקט.
firebase apphosting:config:export \
--project PROJECT_ID \
--secrets ENVIRONMENT_NAME
מייצא סודות לשימוש באמולציית אפליקציות.
ברירת המחדל היא סודות שמאוחסנים ב-apphosting.yaml, או שאפשר להשתמש ב---secrets כדי לציין כל סביבה שיש לה קובץ apphosting.ENVIRONMENT_NAME.yaml תואם.
firebase apphosting:rollouts:create \
BACKEND_ID \
--git_branch BRANCH_NAME \
--git_commit COMMIT_ID
יצירת השקה שמופעלת באופן ידני.
אפשר לציין את הקומיט האחרון לענף או קומיט ספציפי. אם לא מוצגות אפשרויות, המערכת תבקש לבחור מתוך רשימת הסתעפויות.
apphosting:secrets:set KEY --project PROJECT_ID \
--location REGION \
--data-file DATA_FILE_PATH
מאחסן חומר סודי ב-Secret Manager.
אפשר לספק נתיב שממנו ייקראו נתונים סודיים. ההגדרה צריכה להיות _ כדי לקרוא נתונים סודיים מקלט רגיל.
apphosting:secrets:grantaccess KEY \
--backend BACKEND_ID \
--emails EMAILS \
--project PROJECT_ID \
--location REGION
ההרשאות שניתנות לסודות שצוינו מאפשרות לחשבונות שירות, למשתמשים או לקבוצות לגשת אליהם בזמן הבנייה או בזמן הריצה של App Hosting. אפשר להעביר סוד אחד או יותר, מופרדים בפסיקים.
apphosting:secrets:describe KEY \
--project PROJECT_ID
אחזור המטא-נתונים של סוד והגרסאות שלו.
firebase apphosting:secrets:access \
KEY[@version] \
--project PROJECT_ID
הפונקציה ניגשת לערך סודי בהינתן הסוד והגרסה שלו. ברירת המחדל היא גישה לגרסה האחרונה.

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

פקודה תיאור
auth:export מייצא את חשבונות המשתמשים של הפרויקט הפעיל לקובץ JSON או CSV. פרטים נוספים זמינים בדף auth:import ו-auth:export.
auth:import מייבא את חשבונות המשתמשים מקובץ JSON או CSV לפרויקט הפעיל. פרטים נוספים זמינים בדף auth:import ו-auth:export.

פקודות Cloud Firestore

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

רשימת המיקומים הזמינים למסד הנתונים של Cloud Firestore.

firestore:databases:create DATABASE_ID

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

הפקודה מקבלת את הדגלים הבאים:

  • ‎--location <region name> כדי לציין את מיקום הפריסה של מסד הנתונים. הערה: אפשר להריץ את הפקודה firebase firestore:locations כדי לראות רשימה של המיקומים הזמינים. חובה.
  • ‎--delete-protection <deleteProtectionState> כדי לאפשר או למנוע מחיקה של מסד הנתונים שצוין. הערכים התקינים הם ENABLED או DISABLED. ברירת המחדל היא DISABLED.
  • ‎--point-in-time-recovery <PITRState> כדי להגדיר אם שחזור מערכת מנקודה מסוימת בזמן מופעל. הערכים התקינים הם ENABLED או DISABLED. ברירת המחדל היא DISABLED. זה שינוי אופציונלי.
  • ‎--edition <edition> כדי לציין את רמת מסד הנתונים. כדי להשתמש בתכונות של Enterprise, צריך להגדיר את הערך enterprise.
  • ‎--firestore-data-access <ENABLED|DISABLED> (Enterprise בלבד) כדי לשלוט בזמינות של Firestore API. ברירת המחדל היא ENABLED.
  • --mongodb-compatible-data-access <ENABLED|DISABLED> (Enterprise בלבד) כדי לשלוט בזמינות של API שתואם ל-MongoDB. ברירת המחדל היא DISABLED.
  • ‎--realtime-updates <ENABLED|DISABLED> (Enterprise only) to enable or disable the "Watch" (realtime) feature. הערך של --firestore-data-access חייב להיות ENABLED. ברירת המחדל היא ENABLED.
firestore:databases:list

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

firestore:databases:get DATABASE_ID

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

במסדי נתונים של Enterprise, הפלט כולל את הסטטוסים Edition,‏ Firestore Data Access,‏ MongoDB Compatible Data Access ו-Realtime Updates.

firestore:databases:update DATABASE_ID

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

צריך להוסיף לפחות דגל אחד. הפקודה מקבלת את הדגלים הבאים:

  • ‎--delete-protection <deleteProtectionState> כדי לאפשר או למנוע מחיקה של מסד הנתונים שצוין. הערכים התקינים הם ENABLED או DISABLED. ברירת המחדל היא DISABLED.
  • ‎--point-in-time-recovery <PITRState> כדי להגדיר אם שחזור מערכת מנקודה מסוימת בזמן מופעל. הערכים התקינים הם ENABLED או DISABLED. ברירת המחדל היא DISABLED. זה שינוי אופציונלי.
  • ‎--firestore-data-access <ENABLED|DISABLED> (Enterprise בלבד) כדי לשלוט בזמינות של Firestore API.
  • --mongodb-compatible-data-access <ENABLED|DISABLED> (Enterprise בלבד) כדי לשלוט בזמינות של API שתואם ל-MongoDB.
  • ‎--realtime-updates <ENABLED|DISABLED> (Enterprise only) to enable or disable the "Watch" (realtime) feature. הערך של --firestore-data-access חייב להיות ENABLED.
firestore:databases:delete DATABASE_ID

מחיקת מסד נתונים בפרויקט Firebase.

firestore:indexes

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

הפקודה מקבלת את הדגל הבא:

  • ‎--database DATABASE_ID כדי לציין את שם מסד הנתונים שעבורו רוצים להציג את האינדקסים. אם לא מציינים מסד נתונים, המערכת מציגה את האינדקסים של מסד הנתונים שמוגדר כברירת מחדל.
firestore:delete

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

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

הפקודה מקבלת את הדגל הבא:

  • ‎--database DATABASE_ID כדי לציין את שם מסד הנתונים שממנו נמחקים המסמכים. אם לא מציינים מסד נתונים, המסמכים נמחקים ממסד הנתונים שמוגדר כברירת מחדל. זה שינוי אופציונלי.

פקודות Cloud Functions for Firebase

פקודה תיאור
functions:config:clone הוצא משימוש.
משכפל את הסביבה של פרויקט אחר לפרויקט Firebase הפעיל.
functions:config:export מייצא את הגדרות זמן הריצה של הפרויקט הפעיל אל Google Cloud Secret Manager.
functions:config:get Deprecated.
מאחזר ערכי הגדרות קיימים של Cloud Functions בפרויקט הפעיל.
functions:config:set הוצא משימוש.
מאחסן ערכי הגדרות זמן ריצה של Cloud Functions הפרויקט הפעיל.
functions:config:unset Deprecated.
הפונקציה מסירה ערכים מההגדרה של זמן הריצה של הפרויקט הפעיל.
functions:delete \
FUNCTION_NAME
מחיקת הפונקציה שצוינה.
functions:list רשימה של פונקציות שנפרסו.
functions:log קריאת יומנים מ-Cloud Functions שנפרס.
functions:secrets:access \
SECRET_NAME
הפונקציה ניגשת לערך סודי בהינתן הסוד והגרסה שלו.
functions:secrets:destroy \
SECRET_NAME
מחיקת סוד.
functions:secrets:get \
SECRET_NAME
אחזור המטא-נתונים של סוד והגרסאות שלו.
functions:secrets:prune הפונקציה משמידה סודות שלא נעשה בהם שימוש.
functions:secrets:set \
SECRET_NAME
יוצר או מעדכן סוד.
functions:shell מפעיל מעטפת אינטראקטיבית מקומית לבדיקת פונקציות.

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

פקודות Crashlytics

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

פקודות SQL Connect

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

פקודה תיאור
dataconnect:services:list רשימה של כל שירותי SQL Connect שנפרסו בפרויקט Firebase.
dataconnect:sql:diff \
SERVICE_ID
הפלטה מציגה את ההבדלים בין סכימת SQL Connect מקומית לבין סכימת מסד הנתונים של Cloud SQL בשירות שצוין.
dataconnect:sql:migrate \
--force \
SERVICE_ID
העברה של הסכימה של מסד הנתונים ב-Cloud SQL כך שתתאים לסכימה המקומית שלכם SQL Connect.
dataconnect:sql:grant\
--role=ROLE \
--email=EMAIL \
SERVICE_ID
הפקודה מעניקה את תפקיד ה-SQL לכתובת האימייל שצוינה של המשתמש או של חשבון השירות.
עבור הדגל --role, תפקיד ה-SQL שרוצים להעניק הוא אחד מהתפקידים הבאים: owner,‏ writer או reader.
בדגל --email, מציינים את כתובת האימייל של המשתמש או של חשבון השירות שרוצים להקצות לו את התפקיד.
dataconnect:sdk:generate ליצור ערכות SDK מוקלדות למחברים של SQL Connect.

פקודות Extensions

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

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

פקודה תיאור
ext:dev:init יוצר בסיס קוד שלד לתוסף חדש בספרייה הנוכחית.
ext:dev:list \
PUBLISHER_ID
הפקודה מדפיסה רשימה של כל התוספים שהועלו על ידי מו"ל.
ext:dev:register רושם פרויקט Firebase כפרויקט לפרסום תוספים.
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 בפרויקט הפעיל ב-Firebase.

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

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

יוצר אתר Hosting חדש בפרויקט Firebase הפעיל באמצעות SITE_ID שצוין

(אופציונלי) כדי לשייך אפליקציית אינטרנט קיימת ב-Firebase לאתר החדש, מעבירים את הדגל הבא: --app FIREBASE_APP_ID

firebase hosting:sites:delete \
SITE_ID

מחיקת האתר Hosting שצוין

ממשק ה-CLI יציג בקשת אישור לפני מחיקת האתר.

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

firebase hosting:sites:get \
SITE_ID

שליפת מידע על Hosting אתר ספציפי

firebase hosting:sites:list

רשימה של כל האתרים בHosting בפרויקט Firebase הפעיל

ניהול ערוצי תצוגה מקדימה
firebase hosting:channel:create \
CHANNEL_ID

יוצר ערוץ חדש לתצוגה מקדימה באתר Hosting שמוגדר כברירת מחדל באמצעות CHANNEL_ID

הפקודה הזו לא מופעלת בערוץ.

firebase hosting:channel:delete \
CHANNEL_ID

מחיקת ערוץ התצוגה המקדימה שצוין

אי אפשר למחוק ערוץ שידור חי של אתר.

firebase hosting:channel:deploy \
CHANNEL_ID

פריסת התוכן וההגדרות של Hosting בערוץ התצוגה המקדימה שצוין

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

firebase hosting:channel:list רשימה של כל הערוצים (כולל הערוץ 'בשידור חי') באתר ברירת המחדל Hosting
firebase hosting:channel:open \
CHANNEL_ID
פותח דפדפן לכתובת ה-URL של הערוץ שצוין או מחזיר את כתובת ה-URL אם אי אפשר לפתוח בדפדפן
שיבוט גרסה
firebase hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

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

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

firebase hosting:clone \
SOURCE_SITE_ID:@VERSION_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

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

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

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

פקודות Realtime Database

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

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

פקודה תיאור
database:get מאחזר נתונים ממסד הנתונים של הפרויקט הפעיל ומציג אותם בפורמט JSON. תמיכה בשליחת שאילתות על נתונים שעברו אינדוקס.
database:instances:create יצירת מכונת מסד נתונים עם שם מכונה שצוין. מקבל את האפשרות --location ליצירת מסד נתונים באזור מסוים. שמות האזורים שבהם אפשר להשתמש באפשרות הזו מפורטים במאמר בנושא בחירת מיקומים לפרויקט. אם לא קיים מופע של מסד נתונים בפרויקט הנוכחי, תתבקשו להפעיל את התהליך firebase init כדי ליצור מופע.
database:instances:list הצגת רשימה של כל מופעי מסד הנתונים בפרויקט הזה. מקבל את האפשרות --location לרישום מסדי נתונים באזור מסוים. שמות האזורים שבהם אפשר להשתמש באפשרות הזו מפורטים במאמר בנושא בחירת מיקומים לפרויקט.
database:profile יוצר פרופיל של פעולות במסד הנתונים של הפרויקט הפעיל. מידע נוסף זמין במאמר בנושא סוגי פעולות של Realtime Database.
database:push הפונקציה דוחפת נתונים חדשים לרשימה במיקום שצוין במסד הנתונים של הפרויקט הפעיל. מקבל קלט מקובץ, מ-STDIN או מארגומנט של שורת פקודה.
database:remove מחיקה של כל הנתונים במיקום שצוין במסד הנתונים של הפרויקט הפעיל.
database:set החלפת כל הנתונים במיקום שצוין במסד הנתונים של הפרויקט הפעיל. מקבל קלט מקובץ, מ-STDIN או מארגומנט של שורת פקודה.
database:update מבצע עדכון חלקי במיקום שצוין במסד הנתונים של הפרויקט הפעיל. מקבל קלט מקובץ, מ-STDIN או מארגומנט של שורת פקודה.

פקודות Remote Config

פקודה תיאור
remoteconfig:versions:list \
--limit NUMBER_OF_VERSIONS
מוצגות עשר הגרסאות האחרונות של התבנית. מציינים 0 כדי להחזיר את כל הגרסאות הקיימות, או לחלופין מעבירים את האפשרות --limit כדי להגביל את מספר הגרסאות שמוחזרות.
remoteconfig:get \
--v, version_number VERSION_NUMBER
--o, output FILENAME
מקבל את התבנית לפי גרסה (ברירת המחדל היא הגרסה האחרונה) ומפיק טבלה עם קבוצות הפרמטרים, הפרמטרים, שמות התנאים והגרסה. אפשר גם לכתוב את הפלט בקובץ שצוין באמצעות -o, FILENAME.
remoteconfig:rollback \
--v, version_number VERSION_NUMBER
--force
מחזירה את תבנית Remote Config לגרסה קודמת ספציפית או לגרסה הקודמת האחרונה (הגרסה הנוכחית פחות 1). אלא אם מועבר --force, מוצגות הנחיות Y/N לפני שממשיכים להחזרה למצב הקודם.
remoteconfig:experiments:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
מציג את כל הניסויים Remote Config בפרויקט, עם אפשרות סינון, מספר הניסויים שיוחזרו בכל דף (ברירת המחדל היא 10) וטוקן דף כהיסטור התחלתי לרשימה.
remoteconfig:experiments:get \
EXPERIMENT_ID
הפעולה מחזירה את הפרטים של הניסוי Remote Config שצוין.
remoteconfig:experiments:delete \
EXPERIMENT_ID
מחיקת הRemote Config הניסוי שצוין.
remoteconfig:rollouts:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
מציגה את כל ההשקות של פרויקט, עם אפשרות סינון, מספר ההשקות שיוחזרו בכל דף (ברירת המחדל היא 10) וטוקן דף כהיסט התחלתי לרשימה.Remote Config
remoteconfig:rollouts:get \
ROLLOUT_ID
הפעולה מחזירה את הפרטים של Remote Config ההשקה שצוינה.
remoteconfig:rollouts:delete \
ROLLOUT_ID
מחיקת ההשקה שצוינה של Remote Config.