מניפסט של הרחבות הוא רשימה של מופעי הרחבות ותצורותיהם. עם המניפסט, אתה יכול:
- שתף את תצורת התוספים שלך עם אחרים
- העתק את תצורת ההרחבות שלך בין פרויקטים שונים (כגון מפרויקט ההיערכות שלך לפרויקט ההפקה שלך)
- פרוס את כל ההרחבות שלך בבת אחת
- בדוק כיצד התוספים שלך עובדים עם האפליקציה שלך באמצעות Firebase Local Emulator Suite
- הגדר את תצורת התוספים שלך לבקרת מקור
- כלול הרחבות בצנרת ה-CI/CD שלך
מניפסט הרחבות כולל שני חלקים:
קטע
extensions
שלfirebase.json
שלך, שהוא מפה של מזהה מופע להפניה לגרסת הרחבה. לדוגמה:{ "extensions": { "my-bigquery-extension": "firebase/firestore-bigquery-export@^0.1.18", "my-image-resizer": "firebase/storage-resize-images@^0.1.22", } }
קובצי
.env
המכילים את התצורה עבור כל אחד ממופעי ההרחבה שלך, בספריית המשנהextensions/
של ספריית פרויקט Firebase שלך. לדוגמה, למופע שלstorage-resize-images
עשוי להיות קובץ.env
כמו הבא:IMAGE_TYPE=jpeg LOCATION=us-central1 IMG_BUCKET=${param:PROJECT_ID}.appspot.com IMG_SIZES=100x100 DELETE_ORIGINAL_FILE=false
צור מניפסט של הרחבות
ישנן שלוש דרכים לבנות מניפסט הרחבות:
- נהל את מניפסט ההרחבות שלך באמצעות Firebase CLI
- ייצא את תצורת ההרחבות של פרויקט
- ערוך את קבצי המניפסט באופן ידני
שתי השיטות הראשונות מוסברות להלן.
נהל את מניפסט ההרחבות שלך באמצעות Firebase CLI
אתה יכול להריץ את רוב הפקודות ext:
של Firebase CLI עם האפשרות --local
לעדכון מניפסט ההרחבות מבלי לשנות בפועל את התצורה הנוכחית של הפרויקט.
לדוגמה:
firebase ext:install --local firebase/firestore-bigquery-export
הפעלת הפקודה לעיל תנחה אותך להגדיר את הגרסה העדכנית ביותר של הרחבת firebase/firestore-bigquery-export
ולשמור את התצורה במניפסט, אך היא לא תפרוס את התצורה לפרויקט שלך.
הנה עוד כמה דוגמאות לפקודות שמשנות את מניפסט ההרחבות:
# ext:configure changes the params for an extension instance in your extensions manifest
$ firebase ext:configure my-bigquery-extension --local
# ext:update --local updates an instance in your extensions manifest
# to the latest version of that extension
$ firebase ext:update my-bigquery-extension --local
# You can also specify a version if you don't want to update to the latest version
$ firebase ext:update my-bigquery-extension firebase/firestore-bigquery-export@0.1.10 --local
# ext:uninstall --local removes an instance from your extensions manifest
$ firebase ext:uninstall my-bigquery-extension --local
ייצא את תצורת ההרחבות של פרויקט
כדי לשמור את תצורת ההרחבות הנוכחית של פרויקט במניפסט, בצע את הפעולות הבאות:
- אם עדיין לא עשית זאת, הגדר את Firebase CLI
- מהודעת מעטפת, שנה לספריית הפרויקט. (ספריית הפרויקט שלך מכילה את הקובץ
firebase.json
). - הפעל את הפקודה
ext:export
:firebase ext:export
הפקודה ext:export
תוסיף קטע extensions
לקובץ firebase.json
. בנוסף, הפקודה ext:export
יוצרת ספריית extensions
המכילה קובץ .env
עבור כל מופע סיומת שהתקנת. קבצים אלה מכילים את פרמטרי התצורה עבור כל מופע.
בדוק תצורת הרחבות עם Firebase Local Emulator Suite
לאחר שהוספת כמה מופעי הרחבות למניפסט התוספים שלך, תוכל לבדוק אותם באמצעות ה- Local Emulator Suite.
התחל את חבילת האמולטור המקומית :
- כדי להפעיל את Emulator Suite באופן אינטראקטיבי, הפעל:
firebase emulators:start
- כדי להפעיל את Emulator Suite ולהפעיל סקריפט בדיקה, הרץ:
firebase emulators:exec my-test.sh
- כדי להפעיל את Emulator Suite באופן אינטראקטיבי, הפעל:
כעת, אם יש לך מופעי הרחבות הרשומים במניפסט שלך, ה- Local Emulator Suite תוריד את קוד המקור של ההרחבות האלה ל- ~/.cache/firebase/extensions
. לאחר הורדתם, חבילת האמולטור המקומית תתחיל ותוכל להפעיל כל אחת מהפונקציות המופעלות ברקע של התוספים ולחבר את האפליקציה שלך לחבילת האמולטור כדי לבדוק את השילוב שלהן עם האפליקציה שלך.
פרוס תצורת הרחבות לפרויקט
לאחר שהוספת כמה מופעי הרחבה למניפסט התוסף שלך, תוכל לפרוס אותו לפרויקט באמצעות Firebase CLI. כאשר אתה פורס עם מניפסט של הרחבות, אתה מתקין, מעדכן ומגדיר את כל מופעי ההרחבה במניפסט לפרויקט בבת אחת.
כדי לפרוס מניפסט תוספים:
- מהודעת מעטפת, שנה לספרייה המכילה את תצורת ההרחבות השמורה. (זו הספרייה המכילה
firebase.json
. אם רק הרצתםext:export
, אתם כבר בספרייה הנכונה.) - הפעל את פקודת
deploy
. אם ברצונך לפרוס את ההרחבות לפרויקט שאינו הנוכחי, ציין גם--project=
:firebase deploy --only extensions –-project=YOUR_PROJECT_ID
הפקודה deploy
תאמת כל תצורת מופע, תשאל אם ברצונך למחוק מופעי הרחבה כלשהם מפרויקט היעד שלך שאינם רשומים ב- firebase.json
, ולאחר מכן תפרוס את כל מופעי ההרחבה שלך.
תצורות הרחבה ספציפיות לפרויקט
ניתן להשתמש בתצורות של הרחבות שמורות לפריסה למספר פרויקטים שונים: לדוגמה, פרויקט היערכות ופרויקט ייצור. כאשר עושים זאת, ייתכן שערכי פרמטר מסוימים יהיו שונים עבור כל פרויקט. קובצי .env
ספציפיים לפרויקט מאפשרים זאת:
- שים ערכי פרמטרים שונים בין פרויקטים
extensions/ EXTENSION_INSTANCE_ID .env. YOUR_PROJECT_ID
- שים ערכי פרמטרים משותפים
extensions/ EXTENSION_INSTANCE_ID .env
.
לפעמים, ייתכן שתרצה להשתמש בערך פרמטר אחר בעת חיקוי התוספים שלך: לדוגמה, ייתכן שתרצה לספק מפתח API לבדיקה במקום מפתח ייצור. שים את הפרמטרים האלה בקובץ .local
:
- שים פרמטרים לא סודיים שבהם ברצונך להשתמש במהלך אמולציה
extensions/ EXTENSION_INSTANCE_ID .env.local
- שים ערכי פרמטר סודיים ב-
extensions/ EXTENSION_INSTANCE_ID .secret.local