Z tej strony dowiesz się, jak opublikować rozszerzenie w Centrum rozszerzeń.
Zanim zaczniesz
Aby opublikować rozszerzenie, musisz najpierw zarejestrować się jako wydawca rozszerzeń.
wiarygodne źródła;
Wszystkie rozszerzenia opublikowane w Extensions Hub muszą mieć publicznie weryfikowalne źródło. 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 w publicznym repozytorium GitHub.
Przesyłanie z możliwego do zweryfikowania źródła ma kilka zalet:
- Użytkownicy mogą sprawdzić 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:
Szybko ulepszaj swoje rozszerzenie za pomocą Pakietu emulatorów Firebase.
Przetestuj rozszerzenie w prawdziwym projekcie, instalując je ze źródła lokalnego:
firebase ext:install /path/to/extension
firebase deploy --only extensions
Prześlij wersję przedpremierową do Centrum rozszerzeń (patrz poniżej). Rozpowszechniaj link instalacyjny, aby przeprowadzić szersze testy, a także iterację, przesyłając więcej materiałów wersji przedpremierowych.
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ń.
Zwiększ numer wersji w tabeli
extension.yaml
i powtórz ten cykl przez na kolejną wersję Twojego rozszerzenia.
Przesyłanie nowego rozszerzenia
Aby przesłać rozszerzenie po raz pierwszy:
Opcjonalnie: zatwierdź kod w publicznym repozytorium GitHub.
Uruchom polecenie
ext:dev:upload
interfejsu 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 musisz określić:
Zarejestrowany identyfikator wydawcy.
Ciąg tekstowy identyfikujący rozszerzenie. Nazwy rozszerzeń muszą mieć format:
firebase-product-description-of-tasks-performed
. Przykład:firestore-bigquery-export
Pojawi się prośba o dodatkowe informacje:
Jeśli przesyłasz z GitHuba:
Adres URL repozytorium rozszerzenia w GitHub. 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 zarejestrowane jako źródło kanoniczne rozszerzenia.
Katalog w repozytorium, który zawiera 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 wydania wersji, którą przesyłasz.
Etapy
alpha
,beta
irc
(kandydat do wydania) są przeznaczone do przesyłania wersji przedpremierowych, które testerzy mogą zainstalować. Wybierz jeden z tych etapów do wstępnego przesyłania nowego rozszerzenia.Etap
stable
służy do publikowania wersji publicznych w Centrum rozszerzeń. Przesłanie wersjistable
spowoduje automatyczne rozpoczęcie procesu sprawdzania, a jeśli zostanie ono zakończone pomyślnie, rozszerzenie zostanie opublikowane.
Pamiętaj, że nie musisz podawać numeru wersji – ta wartość pochodzi z pliku
extension.yaml
. Gdy prześlesz wersję rozszerzenia przedpremierową, do wersji zostanie dołączony etap i numer przesyłania. Jeśli na przykładextension.yaml
określa wersję 1.0.1, a prześlesz kandydata do wydania, będzie to wersja1.0.1-rc.0
. Przesłanie kolejnego kandydata do wydania tej samej wersji spowoduje automatyczne zwiększenie liczby o jeden, co da wersję1.0.1-rc.1
, a tak dalej.
Po przesłaniu wersji przedpremierowej rozszerzenia możesz udostępnić je innym osobom do przetestowania. Użytkownicy mogą zainstalować rozszerzenie w jednym z dwóch sposoby:
Za pomocą konsoli: użytkownicy mogą zainstalować rozszerzenie, klikając link o 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
Przesyłanie zaktualizowanej wersji
Po przesłaniu pierwszej wersji rozszerzenia możesz przesyłać aktualizacje, aby rozwiązywać problemy, dodawać funkcje lub przechodzić do kolejnych etapów publikowania. Jeśli prześlesz nową wersję, użytkownicy, którzy mają starszą wersję Twojego zainstalowane rozszerzenie pojawi się w konsoli Firebase z prośbą o uaktualnienie.
Aby przesłać aktualizację:
Opcjonalnie: prześlij kod do publicznego repozytorium Git.
Uruchom polecenie
ext:dev:upload
w wierszu 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 rozszerzenie jest gotowe do opublikowania publicznie:
Zatwierdź swój kod w publicznym repozytorium Git. (wymagane w przypadku wersji publicznych).
Uruchom polecenie
ext:dev:upload
w wierszu poleceń Firebase, określającstable
jako etap wydania:firebase ext:dev:upload your_publisher_id/your_extension_id
Jeśli masz już opublikowaną wersję rozszerzenia, prześlij nową wersję Wersja stabilna spowoduje automatyczne przesłanie rozszerzenia do sprawdzenia.
Jeśli przesłana została pierwsza stabilna wersja rozszerzenia, znajdź je w panelu wydawcy i kliknij Opublikuj w Centrum rozszerzeń.
Sprawdzenie może potrwać kilka dni. 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:
- dokładnie przetestować rozszerzenie i proces instalacji;
- Twoja dokumentacja jest kompletna, poprawna i poprawnie wyświetla się w Firebase konsoli.
- Nazwa wydawcy i marka jednoznacznie identyfikują Cię jako wydawcę.
- Nazwa, opis i ikona rozszerzenia jasno i dokładnie wskazują przeznaczenia rozszerzenia.
- Użyto przydatnych i dokładnych tagów.
- Wszystkie interfejsy API Google i innych firm, których używasz, zadeklarowano w
extension.yaml
. i wszystkich typów zdarzeń emitowanych przez rozszerzenie. - prośba o dostęp do ról niezbędnych do działania rozszerzenia i jasne wyjaśnienie użytkownikom, dlaczego potrzebujesz takiego dostępu;
- Twoje pliki źródłowe są wyraźnie objęte licencją na warunkach
Apache-2.0
.
Zarządzanie przesłanymi i opublikowanymi rozszerzeniami
Wyświetlanie listy przesłanych rozszerzeń
Aby wyświetlić listę rozszerzeń przesłanych pod Twoim identyfikatorem wydawcy, wykonaj jedną z tych czynności:
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 wyświetlić wykorzystanie przesłanych przez siebie rozszerzeń pod identyfikatorem wydawcy:
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
Wycofanie wersji rozszerzenia
W pewnym momencie możesz zdecydować się na wycofanie starej wersji rozszerzenia. Jeśli na przykład wydasz nową wersję, która zawiera poprawkę krytycznego błędu lub ważną aktualizację zabezpieczeń, musisz zablokować możliwość instalowania starszej wersji przez nowych użytkowników i zachęcić obecnych użytkowników do uaktualnienia aplikacji.
Aby wycofać wersję rozszerzenia, wykonaj jedną z tych czynności:
Panel wydawcy
- W panelu wydawcy kliknij rozszerzenie, aby otworzyć jego widoku szczegółów.
- Wybierz wersję, którą chcesz wycofać.
- 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 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 za pomocą interfejsu 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:
Sklonuj repozytorium GitHub i wyodrębnij wskazane źródło.
Instaluje zależności NPM przez uruchomienie polecenia
npm clean-install
w każdej funkcji katalog źródłowy określony wextension.yaml
(zobaczsourceDirectory
w zasobach Cloud Functions).Pamiętaj:
Każdy plik
package.json
musi mieć odpowiadającą wartośćpackage-lock.json
. Więcej informacji znajdziesz w npm-ci.Skrypty poinstalacyjne 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.
Kompiluje kod, uruchamiając
npm run build
w każdym katalogu kodu źródłowego funkcji określonym wextension.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 opisane powyżej czynności na potrzeby kompilacji lokalnie w nowym katalogu, aż nie pojawią się żadne błędy, a następnie spróbuj przesłać rozszerzenie ponownie.