Możesz dystrybuować kompilacje wśród testerów, używając fastlane (platformy open source), która automatyzuje tworzenie i publikowanie aplikacji na iOS i Androida. Postępuj zgodnie z prostymi instrukcjami podanymi w dokumencie Fastfile
. Po skonfigurowaniu pasa szybkiego ruchu i Fastfile
możesz zintegrować Rozpowszechnianie aplikacji ze swoją konfiguracją szybkiej linii.
Krok 1. Skonfiguruj szybki pas
Aby dodać Rozpowszechnianie aplikacji do konfiguracji fastline, uruchom to polecenie z poziomu głównego projektu na iOS:
fastlane add_plugin firebase_app_distribution
Jeśli w odpowiedzi pojawi się opcja, wybierz
Option 3: RubyGems.org
.
Krok 2. Uwierzytelnij za pomocą Firebase
Zanim użyjesz wtyczki fastlane, musisz najpierw uwierzytelnić się w projekcie Firebase na jeden z poniższych sposobów. Domyślnie wtyczka fastlane szuka danych uwierzytelniających w interfejsie wiersza poleceń Firebase, jeśli nie jest używana żadna inna metoda uwierzytelniania.
Krok 3. Konfigurowanie pliku Fastfile i rozpowszechnianie aplikacji
- Na pasie
./fastlane/Fastfile
dodaj blokfirebase_app_distribution
. Aby skonfigurować dystrybucję, użyj tych parametrów:Parametry firebase_app_distribution app
Wymagany tylko wtedy, gdy aplikacja nie zawiera pliku konfiguracyjnego Firebase (
GoogleService-Info.plist
): identyfikator aplikacji Firebase. Identyfikator aplikacji możesz znaleźć w konsoli Firebase na stronie ustawień ogólnych.app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path
Ścieżka do pliku
GoogleService-Info.plist
podana względem ścieżki zarchiwizowanego produktu. Domyślna wartość toGoogleService-Info.plist
.Plik ten służy do uzyskania identyfikatora aplikacji Firebase, jeśli parametr
app
nie jest określony.firebase_cli_token
Token odświeżania, który jest drukowany podczas uwierzytelniania środowiska CI za pomocą interfejsu wiersza poleceń Firebase (więcej informacji znajdziesz w artykule Używanie interfejsu wiersza poleceń w systemach CI).
service_credentials_file
Ścieżka do pliku json Twojego konta usługi Google. Powyżej znajdziesz informacje o uwierzytelnianie z użyciem danych logowania konta usługi.
ipa_path
Zastępuje ustawienie
apk_path
(wycofane). Ścieżka bezwzględna do pliku IPA, który chcesz przesłać. Jeśli nie określono inaczej, fastlane określa lokalizację pliku na podstawie pasa, na którym został wygenerowany.release_notes
release_notes_file
Informacje o wersji tej kompilacji.
Informacje o wersji możesz podać bezpośrednio:
release_notes: "Text of release notes"
Możesz też podać ś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ć.
Testerów możesz podać w postaci listy oddzielonych przecinkami adresów e-mail:
testers: "ali@example.com, bri@example.com, cal@example.com"
Możesz też podać ścieżkę do pliku tekstowego zawierającego listę oddzielonych przecinkami adresów e-mail:
testers_file: "/path/to/testers.txt"
groups
groups_file
Grupy testerów, które chcesz zaprosić (więcej informacji znajdziesz w artykule Zarządzanie testerami). Grupy określa się za pomocą
aliasów grup , które możesz wyszukać w konsoli Firebase.Grupy możesz podać w postaci listy rozdzielanej przecinkami:
groups: "qa-team, trusted-testers"
Możesz też podać ścieżkę do pliku tekstowego zawierającego oddzieloną przecinkami listę nazw grup:
groups_file: "/path/to/groups.txt"
test_devices
test_devices_file
Poniższe typy dystrybucji są częścią funkcji automatycznych testerów w wersji beta.
Urządzenia testowe, na które chcesz rozpowszechniać kompilacje (patrz Testy automatyczne).
Możesz podać urządzenia testowe w postaci listy urządzeń testowych rozdzielonych średnikami:
test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
Możesz też podać ścieżkę do pliku tekstowego zawierającego rozdzielaną średnikami listę urządzeń testowych:
test_devices_file: "/path/to/test-devices.txt"
test_username
Nazwa użytkownika do automatycznego logowania się podczas testów automatycznych.
test_password
test_password_file
Hasło do automatycznego logowania używane podczas testów automatycznych.
Możesz też podać ścieżkę do zwykłego pliku tekstowego zawierającego hasło:
test_password_file: "/path/to/test-password.txt"
test_username_resource
Nazwa zasobu w polu nazwy użytkownika na potrzeby automatycznego logowania, które jest używane podczas testów automatycznych.
test_password_resource
Nazwa zasobu w polu hasła na potrzeby automatycznego logowania się podczas testów automatycznych.
test_non_blocking
asynchronicznie uruchamiać testy automatyczne, Otwórz konsolę Firebase, aby wyświetlić wyniki automatycznych testów.
debug
Flaga wartości logicznej. Aby wydrukować szczegółowe dane debugowania, możesz ustawić wartość
true
.
Przykład:
platform :ios do desc "My awesome app" lane :distribute do build_ios_app(...) # build_ios_app is a built-in fastlane action. release = 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, wyznacz tę ścieżkę:
fastlane <lane>
Wartość zwrotna tego działania to hasz, który reprezentuje przesłaną wersję.
Ten hasz jest też dostępny za pomocą funkcji lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
.
Więcej informacji o polach dostępnych w tym haszu znajdziesz w dokumentacji interfejsu API REST.
Wtyczka fastlane generuje poniższe linki po przesłaniu wersji. Te linki ułatwiają zarządzanie plikami binarnymi oraz sprawdzanie, czy testerzy i inni deweloperzy mają odpowiednią wersję:
- Link do konsoli Firebase z wyświetloną pojedynczą wersją. Możesz udostępnić ten link innym deweloperom w swojej organizacji.
- Link do wersji w interfejsie testera (klip internetowy na iOS), który umożliwia testerom wyświetlenie informacji o wersji i zainstalowanie aplikacji na urządzeniach. Tester musi mieć dostęp do wersji, aby użyć linku.
- Podpisany link, który bezpośrednio pobiera i instaluje plik binarny aplikacji (plik IPA). Link wygasa po godzinie.
Rozpowszechniona kompilacja jest przez 150 dni dostępna w panelu Rozpowszechniania aplikacji w konsoli Firebase. Gdy upłynie 30 dni od wygaśnięcia kompilacji, w konsoli i na liście kompilacji na urządzeniu testowym pojawi się odpowiednie powiadomienie.
Testerzy, którzy nie zostali wcześniej zaproszeni do testowania aplikacji, otrzymają e-maile z zaproszeniem do testowania. Obecni testerzy otrzymują e-maile z powiadomieniami o tym, że nowa kompilacja jest gotowa do przetestowania. Więcej informacji o instalowaniu aplikacji testowej znajdziesz w artykule Konfigurowanie aplikacji 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 Rozpowszechnianiu aplikacji, możesz użyć działania firebase_app_distribution_get_latest_release
i działania increment_build_number
.
Ten kod pokazuje, jak automatycznie zwiększać liczbę 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
Więcej informacji o tej funkcji wtyczki fastlane znajdziesz w artykule Uzyskiwanie informacji o najnowszej wersji aplikacji.
Krok 4 (opcjonalny). Zarządzanie testerami na potrzeby dystrybucji
Testerów możesz dodawać do projektu lub grupy i usuwać z niego za pomocą pliku Fastfile
lub bezpośrednio uruchamiając działania szybkiej linii. Działania wykonywane bezpośrednio zastępują wartości ustawione w polu 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 wersji w tym projekcie, ale mogą zachować do nich dostęp przez pewien czas.
Jeśli masz dużą liczbę testerów, warto zastanowić się nad użyciem grup.
Użyj Fastfile
# Use lanes to add or remove testers from a project. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) add testers to this group ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) remove testers from this group only ) end
# Add or remove testers with the terminal $ fastlane add_testers $ fastlane remove_testers
Uruchom działania szybkiego pasa
fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"
Możesz też zamiast --emails
określić testerów --file="/path/to/testers.txt
.
Zadania firebase_app_distribution_add_testers
i firebase_app_distribution_remove_testers
akceptują też te argumenty:
project_name
: numer projektu Firebase.group_alias
(opcjonalnie): testerzy są dodawani do wskazanej grupy (lub z niej usuwani).service_credentials_file
: ścieżka do pliku danych logowania do usług Google.firebase_cli_token
: token uwierzytelniania dla interfejsu wiersza poleceń Firebase.
service_credentials_file
i firebase_cli_token
to te same argumenty używane w działaniu przesyłania.
Krok 5 (opcjonalny). Uzyskiwanie informacji o najnowszej wersji aplikacji
Działanie firebase_app_distribution_get_latest_release
pozwala pobrać informacje o najnowszej wersji aplikacji w usłudze Rozpowszechnianie aplikacji, w tym informacje o wersji aplikacji, informacjach o wersji i czasie utworzenia. Przypadki użycia obejmują automatyczne zwiększanie wersji i przenoszenie informacji o wersji z poprzedniej wersji.
Zwracaną wartością działania jest hasz najnowszej wersji.
Ten hasz jest też dostępny za pomocą funkcji lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
.
Więcej informacji o polach dostępnych w tym haszu znajdziesz w dokumentacji interfejsu API REST.
Parametry
Parametry firebase_app_distribution_get_latest_release | |
---|---|
app
|
Wymagany tylko wtedy, gdy aplikacja nie zawiera pliku konfiguracyjnego Firebase ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path
|
Ścieżka do pliku
Plik ten służy do uzyskania identyfikatora aplikacji Firebase, jeśli parametr |
firebase_cli_token
|
Token odświeżania, który jest drukowany podczas uwierzytelniania środowiska CI za pomocą interfejsu wiersza poleceń Firebase (więcej informacji znajdziesz w artykule Używanie interfejsu wiersza poleceń w systemach CI). |
service_credentials_file
|
Ścieżka do pliku json Twojego konta usługi Google. Zapoznaj się z wcześniejszą dokumentacją, aby dowiedzieć się, jak uwierzytelniać się z użyciem danych logowania konta usługi. |
service_credentials_json_data
|
Zawartość pliku JSON konta usługi Google. Zapoznaj się z wcześniejszą dokumentacją, aby dowiedzieć się, jak uwierzytelniać się z użyciem danych logowania konta usługi. |
debug
|
Flaga wartości logicznej. Aby wydrukować szczegółowe dane debugowania, możesz ustawić wartość |
Dalsze kroki
Aby ręcznie lub automatycznie zarejestrować więcej urządzeń, przeczytaj artykuł Rejestrowanie dodatkowych urządzeń z iOS.
Poznaj sprawdzone metody rozpowszechniania aplikacji Apple testerom kontroli jakości za pomocą CI/CD i fastlane.