מסמך עזר של Firebase CLI

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

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

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

התקנת Firebase CLI

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

‫Windows ‫macOS ‫Linux

‫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.

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

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

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

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

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

npm

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

  1. מתקינים את Node.js באמצעות nvm (מנהל גרסאות Node).
    התקנה של 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.

(גרסה קודמת) אפשר להשתמש ב-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. אפשר גם להגדיר ווים (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
  • סכימות ומחברים חדשים או מעודכנים ל-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.

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

הטיזרים 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 הפרויקט על ידי בחירת הפעולה ביטול לגרסה שנבחרה.

אי אפשר לחזור לגרסאות קודמות של 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 והפעלת שירותי Firebase בפרויקט Google Cloudקיים.
projects:create יוצר פרויקט חדש Google Cloud, ואז מוסיף משאבי Firebase לפרויקט החדש.
projects:list מוצגת רשימה של כל הפרויקטים ב-Firebase שיש לכם גישה אליהם.
ניהול אפליקציות Firebase ‏ (iOS, ‏ Android, ‏ Web)
apps:create יצירת אפליקציית Firebase חדשה בפרויקט הפעיל.
apps:list רשימה של אפליקציות Firebase רשומות בפרויקט הפעיל.
apps:sdkconfig הפקודה מדפיסה את ההגדרה של אפליקציית Firebase.
setup:web הוצא משימוש. במקום זאת, משתמשים ב-apps:sdkconfig ומציינים את web כארגומנט של הפלטפורמה.
הפלטה של הגדרות Firebase של אפליקציית אינטרנט ב-Firebase.
ניהול של גיבובי אישורים מסוג SHA (ב-Android בלבד)
apps:android:sha:create \
FIREBASE_APP_ID SHA_HASH
הוספת הגיבוב של אישור ה-SHA שצוין לאפליקציית Firebase Android שצוינה.
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 only) to control MongoDB-compatible API availability. ברירת המחדל היא 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 only) to control MongoDB-compatible API availability.
  • ‫‎--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 ‫Deprecated.
משכפל את הסביבה של פרויקט אחר לפרויקט הפעיל ב-Firebase.
functions:config:export מייצא את הגדרות זמן הריצה של הפרויקט הפעיל אל Google Cloud Secret Manager.
functions:config:get ‫Deprecated.
מאחזר ערכי הגדרות קיימים של Cloud Functions בפרויקט הפעיל.
functions:config:set ‫Deprecated.
מאחסן ערכי הגדרות זמן ריצה של 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 עבור קריסות של ספריות Native ב-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

יוצר ערוץ חדש של גרסת Preview באתר default 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

הפקודות האלה והתרחישים לדוגמה לשימוש בהן מוסברים בפירוט במאמר בנושא שינוי 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
מציג רשימה של כל Remote Config ההשקות של תכונות בפרויקט, עם אפשרות סינון, מספר ההשקות שיוחזרו בכל דף (ברירת המחדל היא 10) וטוקן דף כהיסטור התחלתי לרשימה.
remoteconfig:rollouts:get \
ROLLOUT_ID
הפעולה מחזירה את הפרטים של Remote Config ההשקה שצוינה.
remoteconfig:rollouts:delete \
ROLLOUT_ID
מחיקת הפריסה שצוינה של Remote Config.