Firebase CLI ( GitHub ) מספק מגוון כלים לניהול, הצגה ופריסה לפרויקטים של Firebase.
לפני השימוש ב-Firebase CLI, הגדר פרויקט Firebase .
הגדר או עדכן את ה-CLI
התקן את Firebase CLI
אתה יכול להתקין את Firebase CLI באמצעות שיטה התואמת את מערכת ההפעלה, רמת הניסיון ו/או מקרה השימוש שלך. לא משנה איך אתה מתקין את ה-CLI, יש לך גישה לאותה פונקציונליות ולפקודה firebase
.
חלונות
אתה יכול להתקין את Firebase CLI עבור Windows באמצעות אחת מהאפשרויות הבאות:
אוֹפְּצִיָה | תיאור | מומלץ עבור... |
---|---|---|
בינארי עצמאי | הורד את הקובץ הבינארי העצמאי עבור ה-CLI. לאחר מכן, תוכל לגשת לקובץ ההפעלה כדי לפתוח מעטפת שבה תוכל להפעיל את פקודת firebase . | מפתחים חדשים מפתחים שאינם משתמשים או לא מכירים את Node.js |
npm | השתמש ב-npm (מנהל חבילות הצומת) כדי להתקין את ה-CLI ולאפשר את פקודת firebase הזמינה ברחבי העולם. | מפתחים המשתמשים ב-Node.js |
בינארי עצמאי
כדי להוריד ולהפעיל את הקובץ הבינארי עבור Firebase CLI, בצע את השלבים הבאים:
גש לבינארי כדי לפתוח מעטפת שבה תוכל להפעיל את פקודת
firebase
.המשך להתחבר ולבדוק את ה-CLI .
npm
כדי להשתמש npm
(מנהל חבילות הצומת) כדי להתקין את Firebase CLI, בצע את השלבים הבאים:
התקן את Node.js באמצעות nvm-windows (מנהל גרסאות הצומת). התקנת Node.js מתקינה אוטומטית את כלי הפקודות
npm
.התקן את Firebase CLI דרך
npm
על ידי הפעלת הפקודה הבאה:npm install -g firebase-tools
פקודה זו מאפשרת את פקודת
firebase
הזמינה ברחבי העולם.המשך להתחבר ולבדוק את ה-CLI .
macOS או לינוקס
אתה יכול להתקין את Firebase CLI עבור macOS או Linux באמצעות אחת מהאפשרויות הבאות:
אוֹפְּצִיָה | תיאור | מומלץ עבור... |
---|---|---|
סקריפט התקנה אוטומטי | הפעל פקודה בודדת שמזהה אוטומטית את מערכת ההפעלה שלך, מוריד את מהדורת ה-CLI העדכנית, ואז מפעיל את פקודת firebase הזמינה ברחבי העולם. | מפתחים חדשים מפתחים שאינם משתמשים או לא מכירים את Node.js פריסה אוטומטית בסביבת CI/CD |
בינארי עצמאי | הורד את הקובץ הבינארי העצמאי עבור ה-CLI. לאחר מכן, תוכל להגדיר ולהפעיל את הבינארי כך שיתאים לזרימת העבודה שלך. | זרימות עבודה הניתנות להתאמה מלאה באמצעות ה-CLI |
npm | השתמש ב-npm (מנהל חבילות הצומת) כדי להתקין את ה-CLI ולאפשר את פקודת firebase הזמינה ברחבי העולם. | מפתחים המשתמשים ב-Node.js |
סקריפט התקנה אוטומטי
כדי להתקין את Firebase CLI באמצעות סקריפט ההתקנה האוטומטית, בצע את השלבים הבאים:
הפעל את הפקודה cURL הבאה:
curl -sL https://firebase.tools | bash
סקריפט זה מזהה אוטומטית את מערכת ההפעלה שלך, מוריד את המהדורה העדכנית ביותר של Firebase CLI ולאחר מכן מפעיל את פקודת
firebase
הזמינה ברחבי העולם.המשך להתחבר ולבדוק את ה-CLI .
לקבלת דוגמאות ופרטים נוספים על סקריפט ההתקנה האוטומטית, עיין בקוד המקור של הסקריפט בכתובת firebase.tools .
בינארי עצמאי
כדי להוריד ולהפעיל את הקובץ הבינארי עבור Firebase CLI הספציפי למערכת ההפעלה שלך, בצע את השלבים הבאים:
הורד את הקובץ הבינארי של Firebase CLI עבור מערכת ההפעלה שלך: macOS | לינוקס
(אופציונלי) הגדר את פקודת
firebase
הזמינה בכל העולם.- הפוך את קובץ ההפעלה הבינארי על ידי הפעלת
chmod +x ./firebase_tools
. - הוסף את הנתיב של הבינארי ל-PATH שלך.
- הפוך את קובץ ההפעלה הבינארי על ידי הפעלת
המשך להתחבר ולבדוק את ה-CLI .
npm
כדי להשתמש npm
(מנהל חבילות הצומת) כדי להתקין את Firebase CLI, בצע את השלבים הבאים:
התקן את Node.js באמצעות nvm (מנהל גרסאות הצומת).
התקנת Node.js מתקינה אוטומטית את כלי הפקודותnpm
.התקן את Firebase CLI דרך
npm
על ידי הפעלת הפקודה הבאה:npm install -g firebase-tools
פקודה זו מאפשרת את פקודת
firebase
הזמינה ברחבי העולם.המשך להתחבר ולבדוק את ה-CLI .
היכנס ובדוק את Firebase CLI
לאחר התקנת ה-CLI, עליך לבצע אימות. לאחר מכן תוכל לאשר את האימות על ידי רישום הפרויקטים שלך ב-Firebase.
היכנס ל-Firebase באמצעות חשבון Google שלך על ידי הפעלת הפקודה הבאה:
firebase login
פקודה זו מחברת את המחשב המקומי שלך ל-Firebase ומעניקה לך גישה לפרויקטים שלך ב-Firebase.
בדוק שה-CLI מותקן כהלכה וניגש לחשבון שלך על ידי רישום הפרויקטים שלך ב-Firebase. הפעל את הפקודה הבאה:
firebase projects:list
הרשימה המוצגת צריכה להיות זהה לפרויקטים של Firebase הרשומים במסוף Firebase .
עדכן לגרסת CLI העדכנית ביותר
בדרך כלל, אתה רוצה להשתמש בגרסת Firebase CLI העדכנית ביותר.
אופן העדכון של גרסת ה-CLI תלוי במערכת ההפעלה שלך ובאופן שבו התקנת את ה-CLI.
חלונות
- בינארי עצמאי : הורד את הגרסה החדשה ולאחר מכן החלף אותה במערכת שלך
- npm : הפעל את
npm install -g firebase-tools
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 ולסביבות חסרות ראש אחרות.
במחשב עם דפדפן, התקן את Firebase CLI .
התחל את תהליך הכניסה על ידי הפעלת הפקודה הבאה:
firebase login:ci
בקר בכתובת האתר שסופקה, ולאחר מכן התחבר באמצעות חשבון Google.
הדפס אסימון רענון חדש. הפעלת CLI הנוכחית לא תושפע.
אחסן את אסימון הפלט בצורה מאובטחת אך נגישה במערכת ה-CI שלך.
השתמש באסימון זה בעת הפעלת פקודות
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 \ | מפנה את כל הפקודות לפעול מול פרויקט Firebase שצוין. ה-CLI משתמש בפרויקט זה כ"פרויקט הפעיל כרגע". |
firebase use --clear | מנקה את הפרויקט הפעיל. הפעל את |
firebase use \ | מסיר כינוי מספריית הפרויקט שלך. |
אתה יכול לעקוף את מה שמשמש כפרויקט הפעיל כעת על ידי העברת דגל --project
עם כל פקודת CLI. כדוגמה: אתה יכול להגדיר את ה-CLI שלך כך שיפעל מול פרויקט Firebase שהקצית לו את כינוי ה- staging
. אם ברצונך להריץ פקודה בודדת נגד פרויקט Firebase שהקצית לו את הכינוי 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 שלך. הפקודה לוקחת את הדגלים הבאים:
|
firestore:databases:list | רשום מסדי נתונים בפרויקט Firebase שלך. |
firestore:databases:קבל DATABASE_ID | קבל תצורת מסד נתונים עבור מסד נתונים מוגדר בפרויקט Firebase שלך. |
firestore:databases:עדכון DATABASE_ID | עדכן את תצורת מסד הנתונים של מסד נתונים שצוין בפרויקט Firebase שלך. נדרש דגל אחד לפחות. הפקודה לוקחת את הדגלים הבאים:
|
firestore:databases:מחק DATABASE_ID | מחק מסד נתונים בפרויקט Firebase שלך. |
firestore:אינדקסים | רשום אינדקסים עבור מסד נתונים בפרויקט Firebase שלך. הפקודה לוקחת את הדגל הבא:
|
firestore:מחק | מוחק מסמכים במסד הנתונים של הפרויקט הפעיל. באמצעות ה-CLI, אתה יכול למחוק רקורסיבית את כל המסמכים באוסף. שימו לב שמחיקת נתוני Cloud Firestore עם ה-CLI כרוכה בעלויות קריאה ומחיקה. למידע נוסף, ראה הבנת חיוב Cloud Firestore . הפקודה לוקחת את הדגל הבא:
|
פונקציות ענן עבור פקודות 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 הפעיל באמצעות (אופציונלי) ציין יישום אינטרנט קיים של Firebase לשיוך לאתר החדש על ידי העברת הדגל הבא: |
firebase hosting:sites:delete \ SITE_ID | מוחק את אתר האירוח שצוין ה-CLI מציג בקשת אישור לפני מחיקת האתר. (אופציונלי) דלג על בקשת האישור על ידי העברת הדגלים הבאים: |
firebase hosting:sites:get \ SITE_ID | מאחזר מידע על אתר האירוח שצוין |
firebase hosting:sites:list | מפרט את כל אתרי האירוח עבור פרויקט Firebase הפעיל |
ניהול ערוצי תצוגה מקדימה | |
firebase hosting:channel:create \ 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 | משובץ את הגרסה שצוינה לערוץ "יעד" שצוין פקודה זו פורסת גם לערוץ "היעד" שצוין. אם ערוץ "היעד" עדיין לא קיים, פקודה זו יוצרת ערוץ תצוגה מקדימה חדש באתר האירוח "יעד" לפני הפריסה לערוץ. אתה יכול למצוא את |
פקודות מסד נתונים בזמן אמת
שים לב שאתה יכול ליצור את מופע מסד הנתונים הראשוני שלך, ברירת המחדל בזמן אמת במסוף 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 לפני שתמשיך להחזיר. |