Aby rozpowszechnić kompilacje wśród testerów, możesz użyć tych tagów:
przystanek,
platformę open source, która automatyzuje tworzenie i publikowanie systemów iOS i Android
aplikacji. Postępuj zgodnie z prostymi instrukcjami podanymi w dokumencie Fastfile
. Po skonfigurowaniu
szybka linia i Fastfile
, możesz zintegrować aplikację App Distribution ze swoją szybką linią
konfiguracji.
Krok 1. Skonfiguruj szybki pas
Aby dodać interfejs App Distribution do konfiguracji szybkiej pasa, uruchom następujące 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
Przed użyciem wtyczki fastlane musisz uwierzytelnić się projektu Firebase na jeden z poniższych sposobów. Domyślnie wtyczka fastlane szuka danych logowania z interfejsu wiersza poleceń Firebase, jeśli nie ma żadnego innego uwierzytelniania .
Krok 3. Konfigurowanie pliku Fastfile i rozpowszechnianie aplikacji
- Na pasie
./fastlane/Fastfile
dodaj Blokada:firebase_app_distribution
. Użyj tych parametrów, aby skonfiguruj dystrybucję:Parametry firebase_app_distribution app
Wymagany tylko wtedy, gdy aplikacja nie zawiera pliku konfiguracyjnego Firebase (
GoogleService-Info.plist
): identyfikator aplikacji Firebase. Ty identyfikator aplikacji można znaleźć w konsoli Firebase, na stronie Strona Ustawienia ogólne.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ą Firebase CLI (odczyt) Używanie interfejsu wiersza poleceń z systemami CI ).
service_credentials_file
Ścieżka do pliku json Twojego konta usługi Google. Instrukcje znajdziesz powyżej. do uwierzytelniania z użyciem danych logowania konta usługi.
ipa_path
Zastępuje ustawienie
apk_path
(wycofane). Ścieżka bezwzględna do plik IPA, który chcesz przesłać. Jeśli nieokreślona, fastlane określa lokalizację pliku na podstawie pasa w którym plik 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ć.
Możesz podać testerów jako listę adresów e-mail rozdzielonych przecinkami adresy:
testers: "ali@example.com, bri@example.com, cal@example.com"
Możesz też określić ścieżkę do pliku tekstowego zawierającego rozdzielana przecinkami lista adresów e-mail:
testers_file: "/path/to/testers.txt"
groups
groups_file
Grupy testerów, które chcesz zaprosić (patrz: Zarządzaj testerami). Grupy określa się przy użyciu
aliasów grup , których możesz używać możesz znaleźć w konsoli Firebase.Grupy możesz podać w postaci listy rozdzielanej przecinkami:
groups: "qa-team, trusted-testers"
Możesz też określić ścieżkę do pliku tekstowego zawierającego rozdzielana przecinkami lista 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 wartości oddzielonych średnikami urządzenia:
test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
Możesz też określić ścieżkę do pliku tekstowego zawierającego lista urządzeń testowych rozdzielana średnikami:
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. Możesz ustawić wartość
true
w celu wydrukowania szczegółowych danych debugowania.
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
Dokumentacja interfejsu API REST.
Wtyczka fastlane generuje poniższe linki po przesłaniu wersji. Te aby ułatwić sobie zarządzanie plikami binarnymi i sprawdzać, czy testerzy i inni deweloperzy mają odpowiednią wersję:
- Link do konsoli Firebase z wyświetloną premiery singla. Możesz udostępnić ten link innym deweloperom na swoim org.
- Link do wersji w środowisku testera (klip internetowy na iOS), który pozwala testerom przeglądać informacje o wersji i instalować aplikację na swoich urządzeniach. Tester potrzebuje dostępu do wersji, aby jej używać kliknij link.
- Podpisany link, który umożliwia bezpośrednie pobieranie instaluje plik binarny aplikacji (plik IPA). Link wygasa po godzinie.
Rozpowszechniana kompilacja jest dostępna w Panel App Distribution konsoli Firebase przez 150 dni. Jeśli upłynie 30 dni od wygaśnięcia kompilacji, w oraz na liście kompilacji na urządzeniu testowym.
Testerzy, którzy nie zostali wcześniej zaproszeni do testowania aplikacji, otrzymają e-maile zaproszenia do rozpoczęcia pracy. Obecni testerzy otrzymują e-maile z powiadomieniami że nową kompilację można przetestować. Aby dowiedzieć się, jak zainstalować test Więcej informacji znajdziesz w artykule na temat konfigurowania aplikacji jako tester. Możesz monitorować stanu każdego testera, aby określić, czy zaakceptował on oraz czy pobrali aplikację na Konsola Firebase.
(Opcjonalnie) Aby automatycznie zwiększać numer kompilacji przy każdym jej tworzeniu
nową wersję w
Rozpowszechnianiu aplikacji, możesz użyć funkcji
działanie firebase_app_distribution_get_latest_release
i
increment_build_number
działanie.
Poniższy kod pokazuje, jak automatycznie zwiększać
numer 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 tutaj 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ą urządzenia Fastfile
lub bezpośrednio przez uruchomienie
szybkich pasów ruchu. Bezpośrednie wykonywanie działań
zastępuje wartości ustawione w Fastfile
.
Po dodaniu testera do projektu Firebase możesz go dodać do poszczególnych wersji. Testerzy, którzy zostali usunięci z projektu Firebase nr mają dłużej dostęp do wersji w projekcie, ale mogą zachować do niego dostęp do publikacji w określonym przedziale czasu.
Jeśli masz dużą liczbę testerów, warto zastanowić się nad użyciem grup.
Użyj konta 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 tego użyć parametru --file="/path/to/testers.txt
--emails
firebase_app_distribution_add_testers
i
firebase_app_distribution_remove_testers
zadań akceptuje też te ustawienia
argumenty:
project_name
: numer projektu Firebase.group_alias
(opcjonalnie): testerzy są dodawani do listy lub z niej usuwani, jeśli jej podano. określonej grupy.service_credentials_file
: ścieżka do pliku danych logowania do usług Google.firebase_cli_token
: token uwierzytelniania dla interfejsu wiersza poleceń Firebase.
Elementy service_credentials_file
i firebase_cli_token
są takie same
argumentów używanych przez działanie przesyłania.
Krok 5 (opcjonalny). Uzyskiwanie informacji o najnowszej wersji aplikacji
Możesz użyć działania firebase_app_distribution_get_latest_release
do pobierania informacji o najnowszej wersji aplikacji w ramach Rozpowszechniania aplikacji,
w tym informacje o wersji aplikacji, informacjach o wersji oraz czasie utworzenia. Zastosowania
m.in. automatyczne zwiększanie wersji i przenoszenie wersji
uwagi 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
Dokumentacja 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ą Firebase CLI (odczyt) Używanie interfejsu wiersza poleceń z systemami CI ). |
service_credentials_file
|
Ścieżka do pliku json Twojego konta usługi Google. Aby dowiedzieć się, jak to zrobić, zapoznaj się z wcześniejszą dokumentacją do uwierzytelniania z użyciem danych logowania konta usługi. |
service_credentials_json_data
|
Zawartość pliku JSON konta usługi Google. Aby dowiedzieć się, jak to zrobić, zapoznaj się z wcześniejszą dokumentacją do uwierzytelniania z użyciem danych logowania konta usługi. |
debug
|
Flaga wartości logicznej. Możesz ustawić wartość |
Dalsze kroki
Aby ręcznie lub automatycznie zarejestrować więcej urządzeń, zobacz Zarejestruj dodatkowe urządzenia z iOS
Poznaj sprawdzone metody rozpowszechniania aplikacji Apple testerom kontroli jakości za pomocą CI/CD i fastlane.