פרסום התוסף

דף זה מסביר כיצד ניתן לפרסם תוסף ב- Extensions Hub.

לפני שאתה מתחיל

כדי לפרסם הרחבה, תחילה עליך להירשם כמוציא לאור של הרחבות .

מקורות ניתנים לאימות

כל ההרחבות המתפרסמות ב- Extensions Hub חייבות להיות מקור בר אימות ציבורי. במקום להעלות את קוד המקור של התוסף שלך ישירות ל- Extensions Hub, במקום זאת תציין את מיקום המקור ו- Extension Hub יוריד אותו ויבנה אותו משם.

נכון לעכשיו, המשמעות היא הפיכת קוד המקור של התוסף שלך לזמין במאגר GitHub ציבורי.

להעלאה ממקור ניתן לאימות יש מספר יתרונות:

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

מחזור פיתוח מומלץ

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

יכולת זו מאפשרת מחזור פיתוח כמו הבא:

  1. פתח וחזרה במהירות על התוסף שלך באמצעות Firebase Emulator Suite .

  2. בדוק את התוסף שלך בפרויקט אמיתי על ידי התקנתו ממקור מקומי:

    firebase ext:install /path/to/extension
    firebase deploy --only extensions
    
  3. העלה גרסה מוקדמת ל-Extensions Hub (ראה למטה). הפיצו את קישור ההתקנה לבדיקה רחבה יותר, וחזרו על ידי העלאת גרסאות טרום-הפצה נוספות לפי הצורך.

  4. העלה את הגרסה הסופית, היציבה, אל Extensions Hub (ראה למטה) ושלח אותה לבדיקה. אם התוסף יעבור בדיקה, הוא יפורסם ב- Extension Hub.

  5. הגדל את מספר הגרסה ב- extension.yaml וחזור על מחזור זה עבור הגרסה הבאה של ההרחבה שלך.

העלה תוסף חדש

כדי להעלות תוסף בפעם הראשונה:

  1. אופציונלי : העבר את הקוד שלך למאגר GitHub ציבורי.

  2. הפעל את הפקודה 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 לשדרג.

כדי להעלות עדכון:

  1. אופציונלי : העבר את הקוד שלך למאגר Git ציבורי.

  2. הפעל את הפקודה 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
    

שלח הרחבה לפרסום

כשתהיה מוכן לשחרר את התוסף שלך באופן ציבורי:

  1. העבר את הקוד שלך למאגר Git ציבורי. (נדרש עבור מהדורות ציבוריות.)

  2. הפעל את הפקודה ext:dev:upload של Firebase CLI, תוך ציון stable כשלב השחרור:

    firebase ext:dev:upload your_publisher_id/your_extension_id
    
  3. אם פרסמת בעבר גרסה של התוסף שלך, העלאת מהדורה יציבה חדשה תשלח אוטומטית את התוסף לבדיקה.

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

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

הוצא משימוש גרסה של הרחבה

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

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

לוח המחוונים של מוציאים לאור

  1. בלוח המחוונים של בעל האתר , לחץ על התוסף כדי לפתוח את תצוגת הפרטים שלו.
  2. בחר את הגרסה שברצונך להוציא משימוש.
  3. לחץ על הוצא משימוש גרסה .

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

נספח: פתרון שגיאות בנייה

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

  1. משבט את מאגר ה-GitHub שלך ובודק את ר' המקור שצוין.

  2. מתקין תלות של NPM על ידי הפעלת npm clean-install בכל ספריית מקור של פונקציה המצוינת ב- extension.yaml (ראה sourceDirectory במשאבי Cloud Function ).

    שימו לב לדברים הבאים:

    • לכל קובץ package.json חייב להיות קובץ package-lock.json מתאים. למידע נוסף, ראה npm-ci .

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

  3. בונה את הקוד שלך על ידי הפעלת npm run build בכל ספריית מקור של פונקציה שצוינה ב- extension.yaml .

רק ספריית השורש של התוסף שלך תישמר בחבילת ההרחבה הסופית שתשותף.

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