התייחסות ל-CLI של Firebase

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

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

הגדר או עדכן את ה-CLI

התקן את Firebase CLI

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

Windows macOS Linux

חלונות

אתה יכול להתקין את Firebase CLI עבור Windows באמצעות אחת מהאפשרויות הבאות:

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

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

בינארי עצמאי

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

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

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

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

npm

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

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

  2. התקן את Firebase CLI דרך npm על ידי הפעלת הפקודה הבאה:

    npm install -g firebase-tools

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

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

macOS או לינוקס

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

אוֹפְּצִיָה תיאור מומלץ עבור...
סקריפט התקנה אוטומטי הפעל פקודה בודדת שמזהה אוטומטית את מערכת ההפעלה שלך, מוריד את מהדורת ה-CLI העדכנית, ואז מפעיל את פקודת firebase הזמינה ברחבי העולם. מפתחים חדשים

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

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

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

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

  1. הפעל את הפקודה cURL הבאה:

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

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

  2. המשך להתחבר ולבדוק את ה-CLI .

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

בינארי עצמאי

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

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

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

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

npm

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

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

  2. התקן את Firebase CLI דרך npm על ידי הפעלת הפקודה הבאה:

    npm install -g firebase-tools

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

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

היכנס ובדוק את Firebase CLI

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

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

    firebase login

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

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

    firebase projects:list

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

עדכן לגרסת CLI העדכנית ביותר

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

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

חלונות

macOS

  • סקריפט התקנה אוטומטי : הפעל curl -sL https://firebase.tools | upgrade=true bash
  • בינארי עצמאי : הורד את הגרסה החדשה ולאחר מכן החלף אותה במערכת שלך
  • npm : הפעל את npm install -g firebase-tools

לינוקס

  • סקריפט התקנה אוטומטי : הפעל curl -sL https://firebase.tools | upgrade=true bash
  • בינארי עצמאי : הורד את הגרסה החדשה ולאחר מכן החלף אותה במערכת שלך
  • npm : הפעל את npm install -g firebase-tools

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

ה-CLI של Firebase דורש דפדפן כדי להשלים את האימות, אך ה-CLI תואם באופן מלא ל-CI ולסביבות חסרות ראש אחרות.

  1. במחשב עם דפדפן, התקן את Firebase CLI .

  2. התחל את תהליך הכניסה על ידי הפעלת הפקודה הבאה:

    firebase login:ci
  3. בקר בכתובת האתר שסופקה, ולאחר מכן התחבר באמצעות חשבון 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 init מאוחר יותר כדי להגדיר מוצרים נוספים של Firebase.

  • בחר פרויקט Firebase המוגדר כברירת מחדל.

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

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

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

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

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

הקובץ firebase.json

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

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

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

להלן דוגמה לקובץ firebase.json עם הגדרות ברירת מחדל אם תבחר ב-Firebase Hosting, Cloud Firestore ו-Cloud Functions for Firebase (עם בחירה במקור TypeScript ואפשרויות מוך) במהלך האתחול.

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  },
  "firestore": {
      "rules": "firestore.rules",
      "indexes": "firestore.indexes.json"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ]
  }
}

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

תצורה עבור מסדי נתונים מרובים של Cloud Firestore

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

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

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

קבצי ענן שיש להתעלם מהם בעת הפריסה

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

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

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

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

נהל כינויים של פרויקטים

אתה יכול לשייך פרויקטים מרובים של Firebase לאותה ספריית פרויקטים. לדוגמה, ייתכן שתרצה להשתמש בפרויקט אחד של Firebase לביצוע ובאחר להפקה. על ידי שימוש בסביבות פרויקט שונות, תוכל לאמת שינויים לפני הפריסה לייצור. הפקודה 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 הייצור (הפרוסות) שלך כדי לחקות אירוח בכתובת 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
  • פונקציות ענן חדשות, מעודכנות או קיימות עבור Firebase
  • כללים עבור מסד נתונים בזמן אמת של Firebase
  • כללים עבור אחסון בענן עבור Firebase
  • כללים עבור Cloud Firestore
  • אינדקסים עבור Cloud Firestore

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

firebase deploy

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

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

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

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

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

התנגשויות פריסה עבור כללי אבטחה

עבור Firebase Realtime Database, Cloud Storage for Firebase ו-Cloud Firestore, אתה יכול להגדיר כללי אבטחה בספריית הפרויקט המקומית שלך או במסוף Firebase .

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

מכסות פריסה

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

הפוך פריסה לאחור

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

כרגע לא ניתן להחזיר מהדורות של כללי אבטחה עבור Firebase Realtime Database, Cloud Storage for Firebase או Cloud Firestore.

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

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

firebase deploy --only hosting,storage

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

תחביר הדגל שירות או תכונה נפרסו
--only hosting תוכן אירוח של Firebase
--only database כללי מסד נתונים של Firebase בזמן אמת
--only storage כללי Cloud Storage for Firebase
--only firestore כללים ואינדקסים של Cloud Firestore עבור כל מסדי הנתונים המוגדרים
--only functions פונקציות ענן עבור Firebase ( אפשרויות גרסאות ספציפיות יותר של הדגל הזה )

פרוס פונקציות ספציפיות

בעת פריסת פונקציות, אתה יכול למקד לפונקציות ספציפיות. לדוגמה:

firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2

אפשרות נוספת היא לקבץ פונקציות לקבוצות ייצוא בקובץ /functions/index.js שלך. קיבוץ פונקציות מאפשר לך לפרוס פונקציות מרובות באמצעות פקודה אחת.

לדוגמה, אתה יכול לכתוב את הפונקציות הבאות כדי להגדיר groupA וקבוצה groupB :

var functions = require('firebase-functions');

exports.groupA = {
  function1: functions.https.onRequest(...),
  function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');

בדוגמה זו, קובץ functions/groupB.js נפרד מכיל פונקציות נוספות שמגדירות באופן ספציפי את הפונקציות ב- groupB . לדוגמה:

var functions = require('firebase-functions');

exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);

בדוגמה זו, אתה יכול לפרוס את כל הפונקציות groupA על ידי הפעלת הפקודה הבאה מספריית הפרויקט שלך:

firebase deploy --only functions:groupA

או שאתה יכול למקד לפונקציה ספציפית בתוך קבוצה על ידי הפעלת הפקודה הבאה:

firebase deploy --only functions:groupA.function1,groupB.function4

מחק פונקציות

Firebase CLI תומך בפקודות ובאפשרויות הבאות למחיקת פונקציות שנפרסו בעבר:

  • מוחק את כל הפונקציות התואמות לשם שצוין בכל האזורים:

    firebase functions:delete FUNCTION-1_NAME

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

    firebase functions:delete FUNCTION-1_NAME --region REGION_NAME

  • מוחק יותר מפונקציה אחת:

    firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME

  • מוחק קבוצת פונקציות שצוינה:

    firebase functions:delete GROUP_NAME

  • עוקף את בקשת האישור:

    firebase functions:delete FUNCTION-1_NAME --force

הגדר משימות סקריפטים מראש ואחרי פריסה

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

כדי להגדיר Hooks Predeploy או Post Deploy, הוסף סקריפטים של 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

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

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

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

משתני סביבה

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

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

נהל מופעי מסד נתונים מרובים בזמן אמת

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

עם זאת, אתה יכול ליצור אינטראקציה עם מופע מסד נתונים שאינו ברירת מחדל על ידי שימוש ב- --instance DATABASE_NAME . הפקודות הבאות תומכות בדגל --instance :

  • firebase database:get
  • firebase database:profile
  • firebase database:push
  • firebase database:remove
  • firebase database:set
  • firebase database:update

הפניה לפקודה

פקודות מנהליות של CLI

פקודה תיאור
עֶזרָה מציג מידע עזרה על ה-CLI או פקודות ספציפיות.
init משייך ומגדיר פרויקט Firebase חדש בספרייה הנוכחית. פקודה זו יוצרת קובץ תצורה firebase.json בספרייה הנוכחית.
התחברות מאמת את ה-CLI לחשבון Firebase שלך. דורש גישה לדפדפן אינטרנט.
כדי להיכנס ל-CLI בסביבות מרוחקות שאינן מאפשרות גישה ל- localhost , השתמש ב- --דגל --no-localhost .
כניסה: ci יוצר אסימון אימות לשימוש בסביבות לא אינטראקטיביות.
להתנתק מוציא את ה-CLI מחשבון Firebase שלך.
לִפְתוֹחַ פותח דפדפן למשאבי פרויקט רלוונטיים.
פרויקטים: רשימה מפרט את כל הפרויקטים של Firebase שאליהם יש לך גישה.
להשתמש מגדיר את פרויקט Firebase הפעיל עבור ה-CLI.
מנהל כינויים של פרויקטים .

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

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

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

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

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

פקודות הפצת אפליקציות

פקודה תיאור
appdistribution:distribute \
--אפליקציה FIREBASE_APP_ID
הופך את ה-build זמין לבודקים.
appdistribution:testers:add מוסיף בודקים לפרויקט.
appdistribution:testers:remove מסיר בודקים מהפרויקט.

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

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

פקודות Cloud Firestore

פקודה תיאור
firestore:מיקומים

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

firestore:databases:create DATABASE_ID

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

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

  • --location <שם אזור> כדי לציין את מיקום הפריסה עבור מסד הנתונים. שים לב שאתה יכול להפעיל את Firebase firestore:locations כדי לרשום מיקומים זמינים. נדרש .
  • --delete-protection <deleteProtectionState> כדי לאפשר או למנוע מחיקה של מסד הנתונים שצוין. ערכים חוקיים הם ENABLED או DISABLED . ברירת המחדל ל- DISABLED .
  • --point-in-time-recovery <PITRState> כדי להגדיר אם שחזור נקודת זמן מופעל. ערכים חוקיים הם ENABLED או DISABLED . ברירת המחדל ל- DISABLED . אופציונאלי.
firestore:databases:list

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

firestore:databases:קבל DATABASE_ID

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

firestore:databases:עדכון DATABASE_ID

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

נדרש דגל אחד לפחות. הפקודה לוקחת את הדגלים הבאים:

  • --delete-protection <deleteProtectionState> כדי לאפשר או למנוע מחיקה של מסד הנתונים שצוין. ערכים חוקיים הם ENABLED או DISABLED . ברירת המחדל ל- DISABLED .
  • --point-in-time-recovery <PITRState> כדי להגדיר אם שחזור נקודת זמן מופעל. ערכים חוקיים הם ENABLED או DISABLED . ברירת המחדל ל- DISABLED . אופציונאלי.
firestore:databases:מחק DATABASE_ID

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

firestore:אינדקסים

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

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

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

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

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

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

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

פונקציות ענן עבור פקודות Firebase

פקודה תיאור
functions:config:clone משבט סביבה של פרויקט אחר לפרויקט Firebase הפעיל.
functions:config:get מאחזר ערכי תצורה קיימים של פונקציות הענן של הפרויקט הפעיל.
functions:config:set מאחסן ערכי תצורת זמן ריצה של פונקציות הענן של הפרויקט הפעיל.
functions:config:unset מסיר ערכים מתצורת זמן הריצה של הפרויקט הפעיל.
פונקציות: יומן קורא יומנים מפונקציות ענן פרוסות.

למידע נוסף, עיין בתיעוד תצורת הסביבה .

פקודות Crashlytics

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

פקודות הרחבות

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

פקודות מוציא לאור של הרחבות

פקודה תיאור
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:העלה \
PUBLISHER_ID/EXTENSION_ID
מעלה גרסה חדשה של תוסף.
ext:dev:usage \
PUBLISHER_ID
מציג ספירות התקנות ומדדי שימוש עבור תוספים שהועלו על ידי בעל אתר.

פקודות אירוח

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

מפסיק להגיש תעבורת Firebase Hosting עבור פרויקט Firebase הפעיל.

כתובת האתר לאירוח של הפרויקט שלך תציג הודעת "אתר לא נמצא" לאחר הפעלת פקודה זו.

ניהול אתרי אחסון אתרים
firebase hosting:sites:create \
SITE_ID

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

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

firebase hosting:sites:delete \
SITE_ID

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

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

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

firebase hosting:sites:get \
SITE_ID

מאחזר מידע על אתר האירוח שצוין

firebase hosting:sites:list

מפרט את כל אתרי האירוח עבור פרויקט Firebase הפעיל

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

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

פקודה זו אינה נפרסת לערוץ.

firebase hosting:channel:delete \
CHANNEL_ID

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

אינך יכול למחוק ערוץ חי של אתר.

firebase hosting:channel:deploy \
CHANNEL_ID

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

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

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

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

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

אירוח Firebase: שיבוט \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

משובץ את הגרסה שצוינה לערוץ "יעד" שצוין

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

אתה יכול למצוא את VERSION_ID בלוח המחוונים האירוח של קונסולת Firebase.

פקודות מסד נתונים בזמן אמת

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

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

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

פקודות תצורה מרחוק

פקודה תיאור
RemoteConfig: גרסאות: רשימה \
-מגביל NUMBER_OF_VERSIONS
מפרט את עשר הגרסאות האחרונות של התבנית. ציין 0 כדי להחזיר את כל הגרסאות הקיימות, או לחלופין להעביר את האפשרות --limit כדי להגביל את מספר הגרסאות המוחזרות.
RemoteConfig: קבל \
-v, version_number VERSION_NUMBER
-O, שם FILENAME
מקבל את התבנית לפי גרסה (ברירת מחדל לגירסה האחרונה) ומוצא את קבוצות הפרמטרים, הפרמטרים ושמות המצב והגרסה לטבלה. לחלופין, באפשרותך לכתוב את הפלט לקובץ שצוין עם -o, FILENAME .
RemoteConfig: Rollback \
-v, version_number VERSION_NUMBER
--כּוֹחַ
מגלגל חזרה תבנית תצורה מרחוק למספר גרסה קודמת שצוינה או ברירת מחדל לגירסה הקודמת המיידית (גרסה נוכחית -1). אלא אם כן מועבר --force , מבקש Y/N לפני שתמשיך להחזיר.