Możesz dystrybuować kompilacje do testerów za pomocą fastlane , platformy typu open source, która automatyzuje tworzenie i wydawanie aplikacji na iOS i Androida. Wykonuje proste instrukcje zdefiniowane w Fastfile
. Po skonfigurowaniu fastlane i Fastfile
możesz zintegrować dystrybucję aplikacji z konfiguracją fastlane.
Krok 1. Skonfiguruj Fastlane
Aby dodać dystrybucję aplikacji do konfiguracji Fastlane, uruchom następujące polecenie z katalogu głównego projektu iOS:
fastlane add_plugin firebase_app_distribution
Jeśli polecenie wyświetli monit z opcją, wybierz
Option 3: RubyGems.org
.
Krok 2. Uwierzytelnij się w Firebase
Zanim będziesz mógł korzystać z wtyczki Fastlane, musisz najpierw uwierzytelnić się w swoim projekcie Firebase. Można to osiągnąć na trzy sposoby:
- Uruchom następujące polecenie:
bundle exec fastlane run firebase_app_distribution_login
Polecenie drukuje łącze uwierzytelniające. Otwórz link w przeglądarce.
Po wyświetleniu monitu zaloguj się na swoje konto Google i przyznaj uprawnienia dostępu do projektu Firebase. Akcja logowania następnie drukuje token odświeżania, którego wtyczka App Distribution używa do uwierzytelniania w Firebase.
- Przekaż token z poprzedniego kroku do wtyczki, używając parametru
firebase_cli_token
później podczas konfigurowania Fastfile lub ustawiając zmienną środowiskowąFIREBASE_TOKEN
:export FIREBASE_TOKEN=token
Uwierzytelnianie za pomocą konta usługi umożliwia elastyczne korzystanie z wtyczki z systemem ciągłej integracji (CI). Istnieją dwa sposoby podania poświadczeń konta usługi:
- Przekaż plik klucza konta usługi do działania
firebase_app_distribution
. Ta metoda może być wygodna, jeśli masz już plik klucza konta usługi w środowisku kompilacji. - Ustaw zmienną środowiskową
GOOGLE_APPLICATION_CREDENTIALS
tak, aby wskazywała plik klucza konta usługi. Możesz preferować tę metodę, jeśli masz już domyślne poświadczenia aplikacji (ADC) skonfigurowane dla innej usługi Google (np. Google Cloud).
- W Google Cloud Console wybierz swój projekt i utwórz nowe konto usługi.
- Dodaj rolę administratora dystrybucji aplikacji Firebase .
- Utwórz prywatny klucz json i przenieś go do lokalizacji dostępnej dla Twojego środowiska kompilacji. Pamiętaj, aby przechowywać ten plik w bezpiecznym miejscu , ponieważ zapewnia on dostęp administratora do dystrybucji aplikacji w Twoim projekcie Firebase.
- Pomiń ten krok, jeśli aplikacja została utworzona po 20 września 2019 r.: w konsoli interfejsów Google API włącz interfejs Firebase App Distribution API. Po wyświetleniu monitu wybierz projekt o tej samej nazwie, co Twój projekt Firebase.
Podaj lub zlokalizuj dane logowania do konta usługi:
- Aby przekazać klucz konta usługi do działania
firebase_app_distribution
na Twojej linii, ustaw parametrservice_credentials_file
ze ścieżką do pliku JSON z kluczem prywatnym Aby zlokalizować swoje dane uwierzytelniające za pomocą ADC, ustaw zmienną środowiskową
GOOGLE_APPLICATION_CREDENTIALS
na ścieżkę do pliku JSON z kluczem prywatnym. Na przykład:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą ADC, przeczytaj Dostarczanie poświadczeń do aplikacji.
- Aby przekazać klucz konta usługi do działania
Zobacz Logowanie za pomocą interfejsu Firebase CLI , aby uzyskać instrukcje dotyczące uwierzytelniania projektu.
Krok 3. Skonfiguruj Fastfile i rozpowszechniaj swoją aplikację
- Na pasie
./fastlane/Fastfile
dodaj blokfirebase_app_distribution
. Użyj następujących parametrów, aby skonfigurować dystrybucję:parametry firebase_app_distribution app
Wymagane tylko wtedy, gdy Twoja aplikacja nie zawiera pliku konfiguracyjnego Firebase (
GoogleService-Info.plist
) : identyfikator aplikacji Firebase. Identyfikator aplikacji znajdziesz w konsoli Firebase na stronie Ustawienia ogólne .app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path
Ścieżka do pliku
GoogleService-Info.plist
względem zarchiwizowanej ścieżki produktu. Ustaw domyślnie naGoogleService-Info.plist
.Plik służy do pobierania identyfikatora aplikacji Firebase, jeśli parametr
app
jest nieokreślony.firebase_cli_token
Token odświeżania, który jest drukowany po uruchomieniu akcji logowania wtyczki (patrz Uwierzytelnianie przy użyciu konta Google powyżej) lub podczas uwierzytelniania środowiska CI za pomocą interfejsu Firebase CLI (więcej informacji znajdziesz w sekcji Używanie interfejsu CLI z systemami CI ).
service_credentials_file
Ścieżka do pliku json konta usługi Google. Zobacz powyżej, jak uwierzytelniać się przy użyciu poświadczeń konta usługi .
ipa_path
Zastępuje
apk_path
(przestarzałe). Bezwzględna ścieżka do pliku IPA, który chcesz przesłać. Jeśli nie określono, fastlane określa lokalizację pliku na podstawie ścieżki, na której plik został wygenerowany.release_notes
release_notes_file
Informacje o wersji dla tej kompilacji.
Informacje o wersji można określić bezpośrednio:
release_notes: "Text of release notes"
Lub określ ścieżkę do zwykłego pliku tekstowego:
release_notes_file: "/path/to/release-notes.txt"
testers
testers_file
Adresy e-mail testerów, których chcesz zaprosić.
Możesz określić testerów jako listę adresów e-mail oddzielonych przecinkami:
testers: "ali@example.com, bri@example.com, cal@example.com"
Możesz też określić ścieżkę do zwykłego pliku tekstowego zawierającego listę adresów e-mail rozdzielonych przecinkami:
testers_file: "/path/to/testers.txt"
groups
groups_file
Grupy testerów, które chcesz zaprosić (patrz Zarządzanie testerami ). Grupy są określone za pomocą
aliasy grupowe , które możesz sprawdzić w konsoli Firebase.Możesz określić grupy jako listę rozdzielaną przecinkami:
groups: "qa-team, trusted-testers"
Możesz też określić ścieżkę do zwykłego pliku tekstowego zawierającego rozdzieloną przecinkami listę nazw grup:
groups_file: "/path/to/groups.txt"
debug
Flaga logiczna. Możesz ustawić to na
true
aby wydrukować pełne dane wyjściowe debugowania.
Na przykład:
platform :ios do desc "My awesome app" lane :distribute do build_ios_app(...) # build_ios_app is a built-in fastlane action. firebase_app_distribution( app: "1:123456789:ios:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
Aby udostępnić kompilację testerom, uruchom swoją linię:
fastlane <lane>
Po rozesłaniu kompilacji jest ona dostępna w panelu dystrybucji aplikacji konsoli Firebase przez 150 dni. Gdy kompilacja minie 30 dni od wygaśnięcia, w konsoli i na liście kompilacji testera na urządzeniu testowym pojawi się powiadomienie o wygaśnięciu.
Testerzy, którzy nie zostali wcześniej zaproszeni do testowania aplikacji, otrzymają zaproszenia e-mail, aby rozpocząć. Istniejący testerzy otrzymują powiadomienia e-mail, że nowa kompilacja jest gotowa do testowania. Aby dowiedzieć się, jak zainstalować aplikację testową, zobacz Skonfiguruj jako tester . Możesz monitorować stan każdego testera, aby ustalić, czy zaakceptował zaproszenie i czy pobrał aplikację w konsoli Firebase.
(Opcjonalnie) Aby automatycznie zwiększać numer kompilacji za każdym razem, gdy tworzysz nową wersję w App Distribution, możesz użyć działania firebase_app_distribution_get_latest_release
i działania increment_build_number
. Poniższy kod przedstawia przykład automatycznego zwiększania numeru kompilacji:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end
Aby dowiedzieć się więcej o tej funkcji wtyczki Fastlane, zobacz Uzyskiwanie informacji o najnowszej wersji aplikacji .
Krok 4 (opcjonalnie). Zarządzaj testerami dystrybucji
Możesz dodawać i usuwać testerów ze swojej wersji aplikacji za pomocą pliku Fastfile
lub bezpośrednio uruchamiając akcje Fastlane. Uruchamianie akcji bezpośrednio nadpisuje wartości ustawione w twoim Fastfile
.
Po dodaniu testera do projektu Firebase możesz dodać go do poszczególnych wersji. Testerzy usunięci z projektu Firebase nie mają już dostępu do wydań w projekcie, ale mogą zachować dostęp do wydań przez pewien czas.
Użyj Fastfile
# Use lanes to add or remove testers from an app release. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" ) end
# Add or remove testers with the terminal $ fastlane add_testers $ fastlane remove_testers
Uruchom akcje Fastlane
fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"
Możesz również określić testerów za pomocą --file="/path/to/testers.txt
zamiast --emails
.
Zadania firebase_app_distribution_add_testers
i firebase_app_distribution_remove_testers
również akceptują następujące argumenty:
-
project_name
: numer Twojego projektu Firebase. -
service_credentials_file
: ścieżka do pliku danych logowania usługi Google. -
firebase_cli_token
: token uwierzytelniania dla interfejsu wiersza polecenia Firebase.
service_credentials_file
i firebase_cli_token
to te same argumenty, które są używane w akcji przesyłania.
Krok 5 (opcjonalnie). Uzyskaj informacje o najnowszej wersji swojej aplikacji
Możesz użyć działania firebase_app_distribution_get_latest_release
, aby pobrać informacje o najnowszej wersji swojej aplikacji w App Distribution, w tym informacje o wersji aplikacji, informacje o wersji i czas utworzenia. Przypadki użycia obejmują automatyczne zwiększanie wersji i przenoszenie informacji o wydaniu z poprzedniego wydania.
Zwracaną wartością akcji jest hash reprezentujący najnowszą wersję. Ten skrót jest również dostępny przy użyciu lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
. Więcej informacji o polach dostępnych w tym hashu można znaleźć w dokumentacji interfejsu API REST .
Parametry
parametry firebase_app_distribution_get_latest_release | |
---|---|
app | Wymagane tylko wtedy, gdy Twoja aplikacja nie zawiera pliku konfiguracyjnego Firebase ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path | Ścieżka do pliku Plik służy do pobierania identyfikatora aplikacji Firebase, jeśli parametr |
firebase_cli_token | Token odświeżania, który jest drukowany po uruchomieniu akcji logowania wtyczki (patrz Uwierzytelnianie przy użyciu konta Google powyżej) lub podczas uwierzytelniania środowiska CI za pomocą interfejsu Firebase CLI (więcej informacji znajdziesz w sekcji Używanie interfejsu CLI z systemami CI ). |
service_credentials_file | Ścieżka do pliku json konta usługi Google. Zobacz powyżej, jak uwierzytelniać się przy użyciu poświadczeń konta usługi . |
debug | Flaga logiczna. Możesz ustawić to na |
Następne kroki
- Aby zarejestrować więcej urządzeń ręcznie lub programowo, zobacz Rejestrowanie dodatkowych urządzeń z systemem iOS .