Erweiterung veröffentlichen

Auf dieser Seite wird erläutert, wie Sie eine Erweiterung im Extensions Hub veröffentlichen.

Hinweis

Wenn du eine Erweiterung veröffentlichen möchtest, musst du zuerst als Publisher für Erweiterungen registrieren.

Überprüfbare Quellen

Alle im Erweiterungs-Hub veröffentlichten Erweiterungen müssen eine öffentlich nachprüfbare Quelle haben. Anstatt den Quellcode Ihrer Erweiterung direkt in Erweiterungen hochzuladen Hub ist, geben Sie stattdessen den Quellspeicherort an, der dann vom Erweiterungs-Hub heruntergeladen wird. und bauen es dort auf.

Derzeit bedeutet dies, dass der Quellcode Ihrer Erweiterung öffentlich verfügbar ist. GitHub-Repository

Das Hochladen aus einer überprüfbaren Quelle hat mehrere Vorteile:

  • Nutzer können den Quellcode der jeweiligen Version der Erweiterung einsehen das installiert wird.
  • So können Sie sicherstellen, dass nur das hochgeladen wird, was Sie hochladen möchten, und nicht beispielsweise in Arbeit befindliche Projekte oder übrig gebliebene Dateien aus der Entwicklungsphase.

Empfohlener Entwicklungszyklus

Die Firebase Extensions-Entwicklertools unterstützen das Hochladen von Vorabveröffentlichungen Ihrer Erweiterungen, sodass Sie sie und die in derselben Umgebung, in der sie installiert werden, veröffentlicht werden.

Diese Funktion ermöglicht einen Entwicklungszyklus wie den folgenden:

  1. Mit der Firebase Emulator Suite können Sie Ihre Erweiterung entwickeln und schnell iterieren.

  2. Testen Sie Ihre Erweiterung in einem echten Projekt, indem Sie sie aus einer lokalen Quelle installieren:

    firebase ext:install /path/to/extension
    firebase deploy --only extensions
  3. Laden Sie eine Vorabversion in Extensions Hub hoch (siehe unten). Verteilen Sie die Installationslink für umfassendere Tests. Laden Sie weitere Vorabversionen verfügbar.

  4. Laden Sie die endgültige, stabile Version in den Erweiterungs-Hub hoch (siehe unten) und reichen Sie sie ein. überprüfen lassen. Wenn die Erweiterung die Überprüfung besteht, wird sie hier veröffentlicht: Erweiterungs-Hub.

  5. Erhöhen Sie die Versionsnummer in extension.yaml und wiederholen Sie diesen Zyklus für die nächste Version Ihrer Erweiterung.

Neue Erweiterung hochladen

So laden Sie eine Erweiterung zum ersten Mal hoch:

  1. Optional: Speichern Sie Ihren Code per Commit an ein öffentliches GitHub-Repository.

  2. Führen Sie den Befehl ext:dev:upload der Firebase CLI aus:

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id

    Lokale Quelle

    cd /path/to/extension
    firebase ext:dev:upload your_publisher_id/your_extension_id --local

    Geben Sie im Befehlsaufruf Folgendes an:

    • Die Publisher-ID, die Sie registriert haben.

    • Ein ID-String, mit dem die Erweiterung identifiziert wird. Erweiterungen benennen mit im folgenden Format: firebase-product-description-of-tasks-performed Beispiel: firestore-bigquery-export

    Der Befehl fordert Sie zur Eingabe weiterer Informationen auf:

    • Wenn Sie Inhalte von GitHub hochladen:

      • Die URL zum Repository der Erweiterung in GitHub. Ein Repository kann mehrere Erweiterungen enthalten, solange jede Erweiterung einen eindeutigen Stamm hat.

        Wenn Sie zum ersten Mal eine neue Erweiterung hochladen, wird das Repository als kanonische Quelle für Ihre Erweiterung registriert.

      • Das Verzeichnis im Repository, das Ihre Erweiterung enthält.

      • Die Git-Referenz des Commits, mit dem Sie Ihre Erweiterungsversion erstellen möchten „Quelle“. Dies kann ein Commit-Hash, ein Tag oder ein Zweigname sein.

    • Die Release-Phase der Version, die Sie hochladen.

      Die Phasen alpha, beta und rc (Releasekandidat) sind für den Upload vorgesehen Vorabversionen, die Tester installieren können. Verwenden Sie eine dieser Phasen für wenn Sie eine neue Erweiterung hochladen.

      Die Phase stable wird für die Veröffentlichung öffentlicher Releases auf Erweiterungs-Hub Wenn Sie einen stable-Release hochladen, wird automatisch eine Überprüfung gestartet. Wenn diese erfolgreich ist, wird die Erweiterung veröffentlicht.

    Beachten Sie, dass Sie keine Versionsnummer angeben. Dieser Wert stammt aus dem extension.yaml-Datei. Wenn Sie eine Vorabversion der Erweiterung hochladen, sowie die Upload-Nummer an die Version angehängt werden. Wenn beispielsweise extension.yaml gibt Version 1.0.1 an und Sie laden einen Releasekandidaten hoch. würde dies zu der Version 1.0.1-rc.0 führen. Weiteren Release hochladen für dieselbe Version automatisch erhöht die Anzahl, was zu 1.0.1-rc.1 führt usw.

Nachdem Sie eine Vorabversion der Erweiterung hochgeladen haben, können Sie sie zum Testen mit anderen teilen. Nutzer können Ihre Erweiterung auf zwei Arten installieren Möglichkeiten:

  • Über die Konsole: Nutzer können die Erweiterung installieren, indem sie auf einen Link klicken. im folgenden Format:

    https://console.firebase.google.com/project/_/extensions/install?ref=your_publisher_id/your_extension_id@version

    Sie können den direkten Link mit Ihren Testern teilen.

  • Über die Befehlszeile: Nutzer können die Erweiterung installieren, indem sie sie übergeben. ID-String für den Befehl ext:install:

    firebase ext:install your_publisher_id/your_extension_id@version \
        --project=destination_project_id
    

Aktualisierte Version hochladen

Nachdem Sie die erste Version einer Erweiterung hochgeladen haben, können Sie Updates hochladen um Probleme zu beheben, Funktionen hinzuzufügen oder die Veröffentlichungsphase voranzutreiben. Wenn Sie eine neue Version hochladen, werden Nutzer, die eine ältere Version Ihrer Erweiterung installiert haben, in der Firebase-Konsole zum Aktualisieren aufgefordert.

So laden Sie ein Update hoch:

  1. Optional: Führen Sie einen Commit Ihres Codes an ein öffentliches Git-Repository durch.

  2. Führen Sie den Befehl ext:dev:upload der Firebase CLI aus:

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id

    Diesmal werden Sie nicht aufgefordert, das GitHub-Repository oder den Stammverzeichnis der Erweiterung, da diese bereits für Ihr . Wenn Sie Ihre Repository-Struktur später refaktoriert haben oder in ein neues Repository migriert haben, können Sie sie mit dem Befehl die Argumente --root und --repo.

    Lokale Quelle

    cd /path/to/extension
    firebase ext:dev:upload your_publisher_id/your_extension_id --local

Erweiterung zur Veröffentlichung einreichen

Wenn Sie die Erweiterung veröffentlichen möchten, gehen Sie so vor:

  1. Übertragen Sie Ihren Code per Commit an ein öffentliches Git-Repository. (Erforderlich für öffentliche Releases.)

  2. Führen Sie den Befehl ext:dev:upload der Firebase CLI aus und geben Sie stable als Veröffentlichungsphase:

    firebase ext:dev:upload your_publisher_id/your_extension_id
  3. Wenn Sie bereits eine Version der Erweiterung veröffentlicht haben, laden Sie eine neue Bei einem stabilen Release wird die Erweiterung automatisch zur Überprüfung eingereicht.

    Wenn Sie die erste stabile Version der Erweiterung hochgeladen haben, suchen Sie die Erweiterung unter Publisher-Dashboard und klicken Sie auf Im Erweiterungs-Hub veröffentlichen.

Die Überprüfung kann einige Tage dauern. Wenn die Frist akzeptiert wird, im Erweiterungs-Hub veröffentlicht. Bei einer Ablehnung wird in einer Nachricht erklärt, Grund; können Sie die gemeldeten Probleme beheben und die Website noch einmal zur Überprüfung einreichen.

Um die Überprüfung zu beschleunigen und Ihre Chancen zu erhöhen, beim ersten Versuch zu bestehen, Überprüfen Sie vor dem Einreichen Folgendes:

  • Sie haben Ihre Erweiterung und den Installationsprozess gründlich getestet.
  • Ihre Dokumentation ist vollständig und korrekt und wird in der Firebase Console korrekt dargestellt.
  • Ihr Name und Ihr Branding als Publisher müssen klar und deutlich erkennbar sein.
  • Der Name, die Beschreibung und das Symbol Ihrer Erweiterung geben für den Zweck Ihrer Erweiterung.
  • Sie haben nützliche und korrekte Tags angewendet.
  • Sie haben in extension.yaml alle von Ihnen verwendeten Google-APIs und APIs von Drittanbietern deklariert. und alle Ereignistypen, die Ihre Erweiterung ausgibt.
  • Sie fordern nur Zugriff auf die Rollen an, die für die Erweiterung erforderlich sind. und Sie haben den Nutzenden klar erläutert, warum Sie einen solchen Zugriff benötigen.
  • Ihre Quelldateien sind gemäß den Bedingungen von Apache-2.0 lizenziert.

Hochgeladene und veröffentlichte Erweiterungen verwalten

Liste der hochgeladenen Erweiterungen aufrufen

Führen Sie einen der folgenden Schritte aus, um die Erweiterungen aufzulisten, die Sie unter Ihrer Publisher-ID hochgeladen haben Folgendes:

Publisher-Dashboard

Sie können sie sich im Publisher-Dashboard ansehen.

Firebase CLI

Führen Sie den Befehl ext:dev:list aus:

firebase ext:dev:list your_publisher_id

Nutzung der hochgeladenen Erweiterungen ansehen

So rufen Sie die Nutzung der Erweiterungen auf, die Sie unter Ihrer Publisher-ID hochgeladen haben:

Publisher-Dashboard

Das Publisher-Dashboard enthält kumulative Nutzungsmesswerte für alle Ihre und einzelne Messwerte für jede Erweiterung.

Firebase CLI

Führen Sie den Befehl ext:dev:usage aus:

firebase ext:dev:usage your_publisher_id

Version einer Erweiterung einstellen

Möglicherweise möchten Sie irgendwann eine alte Version Ihrer Erweiterung einstellen. Für Wenn Sie z. B. eine neue Version veröffentlichen, mit der ein kritischer Fehler behoben oder eine von Abhängigkeiten mit einem wichtigen Sicherheitsupdate sind, ist es wichtig, Nutzer daran zu hindern, eine alte Version zu installieren, und um bestehende Nutzer zum Upgraden anzuregen.

Führen Sie einen der folgenden Schritte aus, um eine Version einer Erweiterung einzustellen:

Publisher-Dashboard

  1. Klicken Sie auf dem Dashboard des Publishers auf die Erweiterung, um die Detailansicht zu öffnen.
  2. Wählen Sie die Version aus, die Sie einstellen möchten.
  3. Klicken Sie auf Version einstellen.

Firebase CLI

Führen Sie den Befehl ext:dev:deprecate aus:

firebase ext:dev:deprecate your_publisher_id/your_extension_id versions \
    [--message "deprecation_message"]

Sie können eine einzelne Version oder einen Versionsbereich angeben. Beispiele:

  • 1.0.2
  • 1.1.0-1.1.7
  • <1.2.0
  • 1.1.*

Eingestellte Versionen einer Erweiterung sind nicht im Erweiterungs-Hub aufgeführt und können nicht installiert werden. Nutzer, in deren Projekten eine eingestellte Version installiert ist, werden aufgefordert, ein Upgrade durchzuführen. In der Zwischenzeit können sie die Erweiterung weiterhin verwenden und neu konfigurieren.

Wenn alle Versionen einer Erweiterung veraltet sind, wird die Erweiterung berücksichtigt. eingestellt und wird aus dem Erweiterungs-Hub entfernt. Wenn Sie eine neue Version einer eingestellten Erweiterung hochladen, wird automatisch eine Überprüfung gestartet. Nach der Genehmigung wird die Erweiterung noch einmal im Extensions Hub veröffentlicht.

Wenn Sie eine Einstellung rückgängig machen möchten, verwenden Sie das Publisher-Dashboard oder führen Sie die Befehl ext:dev:undeprecate:

firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions

Anhang: Fehlerbehebung bei Build-Fehlern

Wenn Sie Ihre Erweiterung hochladen, erstellt das Backend zuerst den Quellcode mithilfe von den folgenden Prozess:

  1. Klont Ihr GitHub-Repository und prüft die angegebene Quellreferenz.

  2. NPM-Abhängigkeiten installieren, indem in jeder Funktion npm clean-install ausgeführt wird Quellverzeichnis, das in extension.yaml angegeben ist (siehe sourceDirectory in Cloud Functions-Ressourcen).

    Wichtige Hinweise:

    • Jede package.json-Datei muss eine entsprechende package-lock.json haben -Datei. Weitere Informationen finden Sie unter npm-ci.

    • Skripts nach der Installation werden während der Abhängigkeitsinstallation nicht ausgeführt. Wenn Ihr Quellcode-Build auf Skripts nach der Installation basiert, vor dem Hochladen refaktorieren.

  3. Erstellt Ihren Code, indem Sie npm run build in jeder Funktionsquelle ausführen Verzeichnis, das in extension.yaml angegeben ist.

Nur das Stammverzeichnis der Erweiterung wird in der endgültigen Erweiterung gespeichert Pakets erstellen, das freigegeben wird.

Wenn beim Hochladen der Erweiterung Build-Fehler auftreten, replizieren Sie den Build. lokal in einem neuen Verzeichnis, bis keine Fehler mehr vorliegen, noch einmal hochladen.