Opublikuj rozszerzenie

Z tego artykułu dowiesz się, jak opublikować rozszerzenie w Centrum rozszerzeń.

Zanim zaczniesz

Aby opublikować rozszerzenie, najpierw musisz: zarejestruj się jako wydawca rozszerzeń.

Możliwe do zweryfikowania źródła

Wszystkie rozszerzenia opublikowane w Centrum rozszerzeń muszą mieć publicznie weryfikowane rozszerzenia źródła. Zamiast przesyłać kod źródłowy rozszerzenia bezpośrednio do rozszerzeń Centrum rozszerzeń, musisz zamiast tego określić lokalizację źródłową, a Centrum rozszerzeń ją pobierze. i na tej podstawie stworzymy rozwiązanie.

Obecnie oznacza to udostępnienie kodu źródłowego rozszerzenia publicznie repozytorium GitHub.

Przesyłanie z możliwego do zweryfikowania źródła ma kilka zalet:

  • Użytkownicy mogą sprawdzać kod źródłowy konkretnej wersji rozszerzenia która zostanie zainstalowana.
  • Możesz mieć pewność, że prześlesz tylko to, co chcesz, a nie np. w trakcie opracowywania lub w przypadku niepotrzebnych plików.
.

Zalecany cykl programowania

Narzędzia dla programistów Rozszerzeń w Firebase obsługują przesyłanie przedpremierowych wersji o rozszerzeniach, co ułatwia testowanie instalacji rozszerzenia w tym samym środowisku, w którym zostaną ostatecznie wydane.

Ta funkcja umożliwia cykl programowania w ten sposób:

  1. Twórz i szybko ulepszaj rozszerzenie za pomocą Pakiet emulatorów Firebase.

  2. Przetestuj rozszerzenie w prawdziwym projekcie, instalując je ze źródła lokalnego:

    firebase ext:install /path/to/extension
    firebase deploy --only extensions
    
  3. Prześlij do Centrum rozszerzeń wersję przedpremierową (patrz poniżej). Rozpowszechniaj link instalacyjny, aby przeprowadzić szersze testy, a także iterację, przesyłając więcej materiałów wersji przedpremierowych.

  4. Prześlij ostateczną, stabilną wersję do centrum rozszerzeń (patrz poniżej) i prześlij ją do sprawdzenia. Jeśli rozszerzenie przejdzie weryfikację, zostanie opublikowane Centrum rozszerzeń.

  5. Zwiększ numer wersji w tabeli extension.yaml i powtórz ten cykl przez na kolejną wersję Twojego rozszerzenia.

Prześlij nowe rozszerzenie

Aby przesłać rozszerzenie po raz pierwszy:

  1. Opcjonalnie: prześlij kod do publicznego repozytorium GitHub.

  2. Uruchom polecenie ext:dev:upload w interfejsie wiersza poleceń Firebase:

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id
    

    Źródło lokalne

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

    W wywołaniu polecenia podajesz te informacje:

    • Zarejestrowany identyfikator wydawcy.

    • Ciąg identyfikatora identyfikujący rozszerzenie. Nadaj rozszerzeniom nazwę w tym formacie: firebase-product-description-of-tasks-performed Przykład: firestore-bigquery-export

    Polecenie spowoduje wyświetlenie dodatkowych informacji:

    • Jeśli przesyłasz dane z GitHuba:

      • Adres URL repozytorium rozszerzenia w GitHubie. Pamiętaj, że może zawierać wiele rozszerzeń, o ile każde z nich ma i unikalny pierwiastek.

        Gdy po raz pierwszy prześlesz nowe rozszerzenie, repozytorium zostanie zarejestrować jako kanoniczne źródło rozszerzenia.

      • Katalog w repozytorium zawierający Twoje rozszerzenie.

      • Odwołanie do Gita zatwierdzenia, które chcesz utworzyć jako wersję rozszerzenia źródła. Może to być hasz zatwierdzenia, tag lub nazwa gałęzi.

    • Etap publikowania przesyłanej wersji.

      Etapy alpha, beta i rc (kandydat do wydania) są przeznaczone do przesyłania wersji przedpremierowych, które testerzy mogą zainstalować. Wykorzystaj jeden z tych etapów, aby przeprowadzić pierwszego przesłania nowego rozszerzenia.

      Etap stable jest używany do publikowania wersji publicznych Centrum rozszerzeń. Przesłanie wersji stable automatycznie zainicjuje sprawdzenie. Jeśli wynik będzie pozytywny, opublikuje rozszerzenie.

    Zwróć uwagę, że nie określasz numeru wersji – ta wartość pochodzi z extension.yaml. Przy przesyłaniu przedpremierowej wersji rozszerzenia parametr etapie i numerem przesyłania. Na przykład, jeśli extension.yaml określa wersję 1.0.1 i przesyłasz kandydującą wersję, zwróci on wersję 1.0.1-rc.0; przesyłanie kolejnej wersji tę samą wersję automatycznie zwiększy liczbę, w wyniku 1.0.1-rc.1 i tak dalej.

Po przesłaniu przedpremierowej wersji rozszerzenia możesz udostępnić wraz z innymi do testowania. Użytkownicy mogą zainstalować rozszerzenie w jednym z dwóch sposoby:

  • Za pomocą konsoli: użytkownicy mogą zainstalować rozszerzenie, klikając link. w tym formacie:

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

    Możesz udostępnić testerom bezpośredni link.

  • Za pomocą interfejsu wiersza poleceń: użytkownicy mogą zainstalować rozszerzenie, przekazując rozszerzenie. Ciąg identyfikatora do polecenia ext:install:

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

Prześlij zaktualizowaną wersję

Po przesłaniu pierwszej wersji rozszerzenia możesz przesyłać aktualizacje aby rozwiązać problemy, dodać funkcje lub przyspieszyć etap tworzenia wersji. Gdy prześlesz nową wersję aplikacji, użytkownicy, którzy mają starszą wersję zainstalowane rozszerzenie pojawi się w konsoli Firebase z prośbą o uaktualnienie.

Aby przesłać aktualizację:

  1. Opcjonalnie: prześlij kod do publicznego repozytorium Git.

  2. Uruchom polecenie ext:dev:upload w interfejsie wiersza poleceń Firebase:

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id
    

    Tym razem nie poprosimy Cię o podanie repozytorium GitHub ani w katalogu głównym rozszerzenia, bo został on już skonfigurowany . Jeśli przeprowadzisz refaktoryzację struktury repozytorium lub zostały przeniesione do nowego repozytorium, możesz je zmienić za pomocą polecenia --root i --repo.

    Źródło lokalne

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

Przesyłanie przedłużenia terminu do publikacji

Gdy wszystko będzie gotowe do publicznego udostępnienia rozszerzenia:

  1. Zatwierdź swój kod w publicznym repozytorium Git. (wymagane w przypadku wersji publicznych).

  2. Uruchom polecenie ext:dev:upload interfejsu wiersza poleceń Firebase, podając stable jako etap wydania:

    firebase ext:dev:upload your_publisher_id/your_extension_id
    
  3. Jeśli masz już opublikowaną wersję rozszerzenia, prześlij nową wersję Wersja stabilna spowoduje automatyczne przesłanie rozszerzenia do sprawdzenia.

    Jeśli przesłano pierwszą stabilną wersję rozszerzenia, znajdź je na panel wydawcy, i kliknij Opublikuj w Centrum rozszerzeń.

Weryfikacja może potrwać kilka dni od momentu przesłania. Jeśli zgłoszenie zostanie zaakceptowane, opublikowano w Centrum rozszerzeń. W przypadku odrzucenia otrzymasz wiadomość z wyjaśnieniem powód; możesz rozwiązać zgłoszone problemy i ponownie przesłać zgłoszenie do sprawdzenia.

Aby przyspieszyć sprawdzanie i zwiększyć swoje szanse na zdanie za pierwszym razem, Dokładnie sprawdź te kwestie:

  • Rozszerzenie i proces instalacji zostały dokładnie przetestowane.
  • Twoja dokumentacja jest kompletna, poprawna i dobrze renderowana w Firebase konsoli.
  • Nazwa i marka wydawcy jasno i dokładnie identyfikują Cię jako wydawcy.
  • Nazwa, opis i ikona rozszerzenia jasno i dokładnie wskazują przeznaczenia rozszerzenia.
  • Zastosowano pomocne i dokładne tagi.
  • Wszystkie interfejsy API Google i innych firm, których używasz, zadeklarowano w extension.yaml. i wszystkich typów zdarzeń emitowanych przez rozszerzenie.
  • Prosisz o dostęp tylko do ról niezbędnych do korzystania z rozszerzenia oraz jasno wyjaśniłeś użytkownikom, dlaczego potrzebujesz takiego dostępu.
  • Twoje pliki źródłowe są wyraźnie licencjonowane zgodnie z warunkami: Apache-2.0.

Zarządzanie przesłanymi i opublikowanymi rozszerzeniami

Wyświetlanie listy przesłanych rozszerzeń

Aby wyświetlić listę rozszerzeń przesłanych przez Ciebie z identyfikatorem wydawcy, wykonaj jedną z :

Panel wydawcy

Możesz je wyświetlić w panelu wydawcy.

wiersz poleceń Firebase

Uruchom polecenie ext:dev:list:

firebase ext:dev:list your_publisher_id

Wyświetlanie wykorzystania przesłanych rozszerzeń

Aby sprawdzić wykorzystanie rozszerzeń przesłanych z Twoim identyfikatorem wydawcy: jedną z tych wartości:

Panel wydawcy

Panel wydawcy zawiera łączne dane o wykorzystaniu dotyczące wszystkich rozszerzeń i indywidualnych danych dla każdego z nich.

wiersz poleceń Firebase

Uruchom polecenie ext:dev:usage:

firebase ext:dev:usage your_publisher_id

Wycofywanie wersji rozszerzenia

W pewnym momencie możesz zdecydować się na wycofanie starej wersji rozszerzenia. Dla: na przykład opublikować nową wersję, która naprawia krytyczny błąd lub aktualizuje wymaga aktualizacji zabezpieczeń, ważne jest, aby zapobiec użytkowników przed instalacją starej wersji i zachęcenie istniejących użytkowników do uaktualnienia.

Aby zrezygnować z wersji rozszerzenia, wykonaj jedną z tych czynności:

Panel wydawcy

  1. W panelu wydawcy kliknij rozszerzenie, aby otworzyć jego widoku szczegółów.
  2. Wybierz wersję, którą chcesz wycofać.
  3. Kliknij Wycofaj wersję.

wiersz poleceń Firebase

Uruchom polecenie ext:dev:deprecate:

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

Możesz określić 1 wersję lub zakres wersji. Przykłady:

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

Wycofane wersje rozszerzenia nie są widoczne w Centrum rozszerzeń i nie można zainstalować. Użytkownicy, których projekty mają zainstalowaną wycofaną wersję, zobaczą komunikat zachęcający ich do przejścia na wyższą wersję; użytkownicy nadal mogą używać i ponownie konfigurować do tego czasu.

Jeśli wszystkie wersje rozszerzenia zostały wycofane, rozszerzenie jest brane pod uwagę została wycofana i zostanie usunięta z Centrum rozszerzeń. Przesyłam nową wersję wycofanego rozszerzenia automatycznie rozpocznie jego weryfikację, ponownie opublikujemy go w Centrum rozszerzeń.

Aby cofnąć wycofanie, skorzystaj z panelu wydawcy lub uruchom interfejs wiersza poleceń Firebase Polecenie ext:dev:undeprecate:

firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions

Załącznik: rozwiązywanie problemów z błędami kompilacji

Gdy prześlesz rozszerzenie, backend najpierw skompiluje kod źródłowy za pomocą parametru następujący proces:

  1. Kopiuje repozytorium GitHub i sprawdza podane odwołanie źródłowe.

  2. Instaluje zależności NPM przez uruchomienie polecenia npm clean-install w każdej funkcji katalog źródłowy określony w extension.yaml (zobacz sourceDirectory w zasobach Cloud Functions).

    Pamiętaj:

    • Każdy plik package.json musi mieć odpowiadającą wartość package-lock.json . Więcej informacji znajdziesz tutaj: npm-ci.

    • Skrypty po instalacji nie będą uruchamiane podczas instalacji zależności. Jeśli kompilacja kodu źródłowego opiera się na skryptach występujących po instalacji, dokonać ich refaktoryzacji przed przesłaniem.

  3. Kompiluje kod, uruchamiając npm run build w każdym źródle funkcji w katalogu extension.yaml.

Tylko katalog główny rozszerzenia zostanie zapisany w ostatecznym rozszerzeniu który zostanie udostępniony.

Jeśli podczas przesyłania rozszerzenia wystąpią błędy kompilacji, powtórz kompilację czynności opisane powyżej lokalnie w świeżym katalogu, aż nie będzie żadnych błędów, a następnie spróbuj przesyłając jeszcze raz.