דף זה מסביר כיצד ניתן לפרסם תוסף ב- Extensions Hub.
לפני שאתה מתחיל
כדי לפרסם הרחבה, תחילה עליך להירשם כמוציא לאור של הרחבות .
מקורות ניתנים לאימות
כל ההרחבות המתפרסמות ב- Extensions Hub חייבות להיות מקור בר אימות ציבורי. במקום להעלות את קוד המקור של התוסף שלך ישירות ל- Extensions Hub, במקום זאת תציין את מיקום המקור ו- Extension Hub יוריד אותו ויבנה אותו משם.
נכון לעכשיו, המשמעות היא הפיכת קוד המקור של התוסף שלך לזמין במאגר GitHub ציבורי.
להעלאה ממקור ניתן לאימות יש מספר יתרונות:
- משתמשים יכולים לבדוק את קוד המקור של הגרסה הספציפית של התוסף שיותקן.
- אתה יכול להבטיח שאתה מעלה רק את מה שאתה מתכוון להעלות, ולא, למשל, עבודה בתהליך, או קבצים תועים שנותרו מפיתוח.
מחזור פיתוח מומלץ
כלי הפיתוח של Firebase Extensions תומכים בהעלאת גרסאות טרום-הפצה של התוספים שלך, מה שמקל עליך לבדוק את התוספים שלך ואת תהליך התקנת התוספים באותה סביבה שבה הם ישוחררו בסופו של דבר.
יכולת זו מאפשרת מחזור פיתוח כמו הבא:
פתח וחזרה במהירות על התוסף שלך באמצעות Firebase Emulator Suite .
בדוק את התוסף שלך בפרויקט אמיתי על ידי התקנתו ממקור מקומי:
firebase ext:install /path/to/extension
firebase deploy --only extensions
העלה גרסה מוקדמת ל-Extensions Hub (ראה למטה). הפיצו את קישור ההתקנה לבדיקה רחבה יותר, וחזרו על ידי העלאת גרסאות טרום-הפצה נוספות לפי הצורך.
העלה את הגרסה הסופית, היציבה, אל Extensions Hub (ראה למטה) ושלח אותה לבדיקה. אם התוסף יעבור בדיקה, הוא יפורסם ב- Extension Hub.
הגדל את מספר הגרסה ב-
extension.yaml
וחזור על מחזור זה עבור הגרסה הבאה של ההרחבה שלך.
העלה תוסף חדש
כדי להעלות תוסף בפעם הראשונה:
אופציונלי : העבר את הקוד שלך למאגר GitHub ציבורי.
הפעל את הפקודה
ext:dev:upload
של Firebase CLI:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_id
מקור מקומי
cd /path/to/extension
firebase ext:dev:upload your_publisher_id/your_extension_id --local
בהזמנת הפקודה שלך, אתה מציין את הדברים הבאים:
מזהה בעל האתר שרשמת .
מחרוזת מזהה שתזהה את ההרחבה. תן שם לתוספים שלך בפורמט הבא:
firebase-product - description-of-tasks-performed
. לדוגמה:firestore-bigquery-export
הפקודה תבקש ממך מידע נוסף:
אם אתה מעלה מ-GitHub:
כתובת האתר למאגר התוסף ב-GitHub. שימו לב שמאגר יכול להכיל הרחבות מרובות כל עוד לכל הרחבה יש שורש ייחודי.
כאשר אתה מעלה תוסף חדש בפעם הראשונה, המאגר יירשם כמקור הקנוני עבור ההרחבה שלך.
הספרייה במאגר המכילה את התוסף שלך.
ההפניה ל-Git של ה-commit שממנו אתה רוצה לבנות את מקור גרסת ההרחבה שלך. זה יכול להיות commit hash, תג או שם סניף.
שלב השחרור של הגרסה שאתה מעלה.
alpha
,beta
ו-rc
(מועמד לשחרור) מיועדים להעלאת גרסאות טרום-הפצה עבור בודקים להתקנה. השתמש באחד מהשלבים האלה להעלאה ראשונית של תוסף חדש.השלב
stable
משמש לשחרורים ציבוריים שיתפרסמו ב- Extensions Hub. העלאת מהדורהstable
תתחיל סקירה אוטומטית, ואם היא תעבור, תפרסם את התוסף.
שים לב שאינך מציין מספר גרסה - ערך זה מגיע מהקובץ
extension.yaml
. כאשר אתה מעלה גרסת תוסף טרום-הפצה, השלב ומספר ההעלאה מצורף לגרסה. לדוגמה, אםextension.yaml
מציין את גרסה 1.0.1 ואתה מעלה מועמד לשחרור, זה יביא לגרסה1.0.1-rc.0
; העלאת מועמד שחרור אחר מאותה גרסה תגדיל אוטומטית את הספירה, וכתוצאה מכך1.0.1-rc.1
וכן הלאה.
כעת, לאחר שהעלית גרסה מוקדמת של התוסף, תוכל לשתף אותה עם אחרים לצורך בדיקה. משתמשים יכולים להתקין את התוסף שלך בשתי דרכים:
עם המסוף : משתמשים יכולים להתקין את התוסף על ידי לחיצה על קישור בפורמט הבא:
https://console.firebase.google.com/project/_/extensions/install?ref=your_publisher_id/your_extension_id@version
אתה יכול לשתף את הקישור הישיר עם הבודקים שלך.
עם ה-CLI : משתמשים יכולים להתקין את התוסף על ידי העברת מחרוזת מזהה ההרחבה לפקודה
ext:install
:firebase ext:install your_publisher_id/your_extension_id@version \ --project=destination_project_id
העלה גרסה מעודכנת
לאחר שהעלית את הגרסה הראשונה של תוסף, תוכל להעלות עדכונים כדי לתקן בעיות, להוסיף תכונות או להתקדם בשלב השחרור. כאשר אתה מעלה גרסה חדשה, משתמשים שמותקנת אצלם גרסה ישנה יותר של התוסף שלך יתבקשו במסוף Firebase לשדרג.
כדי להעלות עדכון:
אופציונלי : העבר את הקוד שלך למאגר Git ציבורי.
הפעל את הפקודה
ext:dev:upload
של Firebase CLI:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_id
הפעם לא תתבקש לציין את מאגר GitHub או את ספריית השורש של התוסף מכיוון שהם כבר הוגדרו עבור התוסף שלך. אם מאז ביצעת מחדש את מבנה המאגר שלך או עברת למאגר חדש, אתה יכול לשנות אותם עם ארגומנטי הפקודה
--root
ו----repo
.מקור מקומי
cd /path/to/extension
firebase ext:dev:upload your_publisher_id/your_extension_id --local
שלח הרחבה לפרסום
כשתהיה מוכן לשחרר את התוסף שלך באופן ציבורי:
העבר את הקוד שלך למאגר Git ציבורי. (נדרש עבור מהדורות ציבוריות.)
הפעל את הפקודה
ext:dev:upload
של Firebase CLI, תוך ציוןstable
כשלב השחרור:firebase ext:dev:upload your_publisher_id/your_extension_id
אם פרסמת בעבר גרסה של התוסף שלך, העלאת מהדורה יציבה חדשה תשלח אוטומטית את התוסף לבדיקה.
אם העלית את המהדורה היציבה הראשונה של התוסף, מצא את התוסף בלוח המחוונים של בעל האתר שלך ולחץ על פרסם למרכז ההרחבות .
לאחר ההגשה, הבדיקה עשויה להימשך מספר ימים. אם תתקבל, ההרחבה תפורסם ב- Extensions Hub. אם נדחה, תקבל הודעה המסבירה את הסיבה; לאחר מכן תוכל לטפל בבעיות שדווחו ולהגיש מחדש לבדיקה.
כדי לזרז את הסקירה ולהגדיל את הסיכויים שלך לעבור את הניסיון הראשון, לפני השליחה, בדוק שוב את הדברים הבאים:
- בדקתם ביסודיות את התוסף ואת תהליך ההתקנה.
- התיעוד שלך מלא ונכון, ומוצג היטב במסוף Firebase.
- שם בעל האתר והמיתוג שלך מזהים אותך בצורה ברורה ומדויקת כמוציא לאור.
- השם, התיאור והסמל של התוסף שלך מייצגים בצורה ברורה ומדויקת את מטרת התוסף שלך.
- החלת תגים מועילים ומדויקים.
- הצהרת ב-
extension.yaml
על כל ממשקי ה-API של Google ולא של Google שבהם אתה משתמש, וכל סוגי האירועים שהתוסף שלך פולט. - אתה מבקש גישה רק לתפקידים הדרושים לתפקוד התוסף, והסברת בבירור למשתמשים מדוע אתה זקוק לגישה כזו.
- קובצי המקור שלך בעלי רישיון ברור תחת התנאים של
Apache-2.0
.
נהל תוספים שהועלו ופורסמו
רשום את התוספים שהעלית
כדי לרשום את התוספים שהעלית תחת מזהה בעל האתר שלך, בצע אחת מהפעולות הבאות:
לוח המחוונים של מוציאים לאור
הצג אותם בלוח המחוונים של בעל האתר .
Firebase CLI
הפעל את הפקודה ext:dev:list
:
firebase ext:dev:list your_publisher_id
הצג את השימוש בתוספים שהעלית
כדי להציג את השימוש בתוספים שהעלית תחת מזהה בעל האתר שלך, בצע אחת מהפעולות הבאות:
לוח המחוונים של מוציאים לאור
למרכז השליטה של בעל האתר יש מדדי שימוש מצטברים עבור כל התוספים שלך ומדדים בודדים עבור כל תוסף.
Firebase CLI
הפעל את הפקודה ext:dev:usage
:
firebase ext:dev:usage your_publisher_id
הוצא משימוש גרסה של הרחבה
בשלב מסוים, ייתכן שתרצה להוציא משימוש גרסה ישנה של התוסף שלך. לדוגמה, אם אתה משחרר גרסה חדשה שמתקנת באג קריטי או מעדכנת תלות בעדכון אבטחה חשוב, חשוב למנוע ממשתמשים חדשים להתקין גרסה ישנה ולעודד משתמשים קיימים לשדרג.
כדי לבטל גרסה של הרחבה, בצע אחת מהפעולות הבאות:
לוח המחוונים של מוציאים לאור
- בלוח המחוונים של בעל האתר , לחץ על התוסף כדי לפתוח את תצוגת הפרטים שלו.
- בחר את הגרסה שברצונך להוציא משימוש.
- לחץ על הוצא משימוש גרסה .
Firebase CLI
הפעל את הפקודה ext:dev:deprecate
:
firebase ext:dev:deprecate your_publisher_id/your_extension_id versions \
[--message "deprecation_message"]
אתה יכול לציין גרסה בודדת או טווח של גרסאות. דוגמאות:
-
1.0.2
-
1.1.0-1.1.7
-
<1.2.0
-
1.1.*
גרסאות שהוצאו משימוש של הרחבה אינן מופיעות ב- Extensions Hub ולא ניתן להתקין אותן. משתמשים שבפרויקטים שלהם מותקנת גרסה שהוצאה משימוש יראו הודעה המעודדת אותם לשדרג; הם עדיין יכולים להשתמש ולהגדיר מחדש את התוסף בינתיים.
אם כל גרסה של תוסף הוצאה משימוש, התוסף ייחשב הוצא משימוש והוא יוסר ממרכז התוספים. העלאת גרסה חדשה של תוסף שהוצא משימוש תניע אוטומטית בדיקה ועם קבלתה, תפרסם אותה שוב ב- Extensions Hub.
כדי להפוך הוצאה משימוש, השתמש בלוח המחוונים של בעל האתר, או הפעל את הפקודה ext:dev:undeprecate
של Firebase CLI:
firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions
נספח: פתרון שגיאות בנייה
כאשר אתה מעלה את התוסף שלך, הקצה העורפי בונה תחילה את קוד המקור שלך באמצעות התהליך הבא:
משבט את מאגר ה-GitHub שלך ובודק את ר' המקור שצוין.
מתקין תלות של NPM על ידי הפעלת
npm clean-install
בכל ספריית מקור של פונקציה המצוינת ב-extension.yaml
(ראהsourceDirectory
במשאבי Cloud Function ).שימו לב לדברים הבאים:
לכל קובץ
package.json
חייב להיות קובץpackage-lock.json
מתאים. למידע נוסף, ראה npm-ci .סקריפטים לאחר התקנה לא יופעלו במהלך התקנת תלות. אם בניית קוד המקור שלך מסתמכת על סקריפטים שלאחר ההתקנה, שנה אותו לפני ההעלאה.
בונה את הקוד שלך על ידי הפעלת
npm run build
בכל ספריית מקור של פונקציה שצוינה ב-extension.yaml
.
רק ספריית השורש של התוסף שלך תישמר בחבילת ההרחבה הסופית שתשותף.
אם אתה מקבל שגיאות בנייה בזמן העלאת התוסף שלך, שכפל את שלבי הבנייה שלמעלה באופן מקומי בספריה חדשה עד שלא יהיו שגיאות, ולאחר מכן נסה להעלות שוב.