@logbrew/sdk 0.1.28. Potrzebujesz
aplikacji Vite, dostępu do plików wynikowych jej builda i uprawnienia do
tworzenia klucza projektu. Pliki debugowania Apple opisuje strona
Awarie i zawieszenia Apple.
Połącz build ze zdarzeniami
Do przesyłania i do zdarzeń działającej aplikacji używaj tego samego projektu, wydania, środowiska i usługi. Nazwy wersji opisuje strona Wydania. Ten przewodnik używaweb@1.2.3, staging
i checkout-web.
Zmieniaj wydanie, gdy zmienia się zbudowany kod. Prześlij przygotowany build,
a potem wdróż ten sam build. Po przesłaniu nie buduj go ponownie i nie zmieniaj
jego kodu JavaScript.
Dodaj wtyczkę Vite
Zainstaluj SDK w katalogu aplikacji:vite.config.js. Zachowaj pozostałe wtyczki i ustawienia
builda. Zastąp ID projektu:
minifiedPathPrefix to wdrożony adres URL katalogu builda. Wtyczka dodaje do
niego ścieżkę każdego pliku w tym katalogu. Na przykład
dist/assets/app.js staje się https://app.example.com/assets/app.js. Jeśli
serwujesz build pod /web, dodaj /web do prefiksu. Nie dodawaj /assets
do prefiksu.
Bez opcji upload wtyczka niczego nie wysyła do LogBrew. Poza tym:
- Ustawia
build.sourcemapna"hidden", gdy go nie ustawisz. Jeśli masz ustawionefalse, zmień je na"hidden". - Zachowuje nazwy funkcji, gdy nie ustawisz opcji minifikatora. Jeśli ustawiasz własne opcje, zachowaj w nich nazwy.
Zbuduj i sprawdź lokalnie
Uruchom build produkcyjny:sourcesContent i lokalną ścieżkę katalogu głównego
aplikacji. Zapisuje dist/logbrew-release-artifacts.json.
Otwórz manifest. Upewnij się, że validation.status ma wartość ready i że
manifest wymienia pliki tego builda oraz ich wdrożone adresy URL. Ukryte mapy
powodują ostrzeżenie sourceMappingURL comment missing. To ostrzeżenie jest
oczekiwane.
Nie przesyłaj mapy, która zawiera prywatną ścieżkę lub tekst źródłowy, którego
nie chcesz udostępniać. Przesyłane pliki zawierają też skompilowany JavaScript,
więc nie umieszczaj sekretów w bundlu aplikacji.
Sprawdź przesyłanie lokalnie. To polecenie nie wysyła żadnego żądania i nie
wymaga klucza:
0 i wypisuje
"status": "dry_run". To polecenie sprawdza pliki lokalne i manifest. Nie testuje
serwera. Jeśli twój build używa innego katalogu wynikowego, zmień obie
ścieżki.
Aby sprawdzić mapowanie, uruchom zbudowaną aplikację i skopiuj jedną
wygenerowaną ramkę stosu z plikiem, wierszem i kolumną:
"status": "resolved". Obiekt original
pokazuje plik źródłowy, wiersz i kolumnę. To polecenie działa lokalnie i
niczego nie przesyła.
Utwórz klucz artefaktów
Zaloguj się w CLI LogBrew. Znajdź ID projektu:--abandon-retry.
Klucz artefaktów jest przypisany do projektu i służy tylko do zapisu. Przesyła
mapy źródeł i pliki debugowania. Nie może wysyłać telemetrii ani odczytywać
metadanych artefaktów. Nie używaj zamiast niego poświadczenia konta ani klucza
SDK aplikacji.
Zapisz klucz jako LOGBREW_RELEASE_ARTIFACT_TOKEN w ustawieniach sekretów
środowiska builda. Nie wypisuj go i nie commituj. Nie umieszczaj go w zmiennej
widocznej po stronie klienta, takiej jak VITE_* lub EXPO_PUBLIC_*.
Ustaw zmienną w procesie, który uruchamia przesyłanie. Helper nie odczytuje
plików .env. Vite nie wczytuje ich do process.env podczas
ewaluacji konfiguracji.
Prześlij przygotowany build
Użyj tych samych sprawdzonych plików i manifestu. To polecenie wysyła pliki do LogBrew:"status": "uploaded" oznacza, że LogBrew przyjął przesłane pliki. Jeśli polecenie
zakończy się błędem, przerwij i skorzystaj z tabeli poniżej.
Helper ponawia próbę do 2 razy po błędzie sieci, odpowiedzi 408, 429 lub
5xx. Za każdym razem wysyła te same przygotowane pliki. Liczbę ponowień
zmienisz opcją --max-retries.
Gdy ręczne przesyłanie działa, możesz zamiast niego przesyłać pliki podczas
builda Vite. Dodaj tę opcję do konfiguracji wtyczki:
dryRun: true, aby przetestować bez
przesyłania.
Wtyczka nie usuwa map źródeł z katalogu wynikowego. Nie wdrażaj plików .map
ani manifestu na publiczną stronę internetową lub do CDN.
Aby zmapować ramkę z zarejestrowanego problemu, uruchom symbolicate-js z tą
ramką na tym samym przygotowanym buildzie.
Odczytaj nowy problem
Wdróż ten sam przygotowany build do środowiska testowego. Wywołaj jeden bezpieczny błąd testowy przez swoją ścieżkę rejestrowania problemów. W tym teście nie wysyłaj danych od użytkowników, poświadczeń ani surowego stosu wywołań. Znajdź nowy problem w tym samym kontekście projektu i builda:event.stack_frames. Ramka z source: "symbolicated" ma oryginalny
plik, wiersz i kolumnę z przesłanych plików. Ramka z source: "captured" ma
lokalizację, którą wysłała aplikacja.
logbrew read issue "<issue_id>" --json zwraca też obiekt symbolication.
Każda ramka w nim ma status: resolved, artifact_not_found,
source_not_resolved, invalid_metadata lub unavailable. Tylko ramka
resolved ma oryginalną lokalizację.
LogBrew mapuje ramki podczas odczytu problemu. Dzięki plikom przesłanym po
błędzie LogBrew może zmapować także wcześniejsze zdarzenie z tym samym Debug ID.
Zmapowana ramka
wskazuje kod do zbadania. Nie pokazuje, co spowodowało błąd. Pozostałe pola
opisuje przewodnik Zbadaj problem.
Napraw nieudane sprawdzenie
Nie umieszczaj plików źródłowych, kluczy ani prywatnych ścieżek w wiadomościach
do pomocy technicznej. Zobacz Rozwiązywanie problemów
i Błędy API.
