W tym dokumencie znajdziesz sprawdzone metody korzystania z Firebase App Distribution i fastlane, które pozwolą Ci uczynić przepływy pracy związane z testowaniem przed wydaniem na platformie Apple trwałymi i powtarzalnymi w środowisku CI/CD. Chociaż ten dokument koncentruje się na fastlane, opisujemy w nim też rozwiązania dostępne w konsoli Firebase, interfejsie wiersza poleceń Firebase i publicznym interfejsie API App Distribution Firebase, aby zapewnić Ci większą elastyczność. Opisujemy też limity wersji i testerów, aby umożliwić Ci optymalne planowanie.
Jeśli używasz też Androida, zobacz Sprawdzone metody udostępniania aplikacji na Androida testerom kontroli jakości za pomocą CI/CD
Zanim zaczniesz
Zanim zaczniesz stosować sprawdzone metody opisane w tym dokumencie, włącz App Distribution w konsoli Firebase dla każdej aplikacji. Jeśli nie włączysz opcji App Distribution, pojawi się błąd 404.
Aby włączyć App Distribution, wykonaj te czynności:
Otwórz stronę App Distribution w konsoli Firebase.
Wybierz aplikację na iOS.
Kliknij Rozpocznij.
Zautomatyzuj przedpremierowy przepływ pracy testowania za pomocą CI/CD
Jeśli chcesz zautomatyzować tworzenie i publikowanie aplikacji dla testerów jeśli używasz CI/CD, zalecamy fastlane (szybkość). Możesz też użyć atrybutu Interfejs wiersza poleceń Firebase, który zapewnia dostęp do szerokiej gamy usług Firebase.
Używanie fastlane
Zintegruj App Distribution z potokiem CI/CD za pomocą fastlane, czyli narzędzia open source, które automatyzuje kompilowanie i publikowanie aplikacji na iOS i Androida. Dzięki automatycznemu kompilowaniu i rozpowszechnianiu najnowszych wersji aplikacji do testów masz pewność, że testerzy zawsze będą mieli najnowszą wersję testową aplikacji.
Aby dowiedzieć się, jak zintegrować App Distribution z fastlane, zobacz Rozpowszechniaj aplikacje na iOS testerom za pomocą fastlane. Zapoznaj się też z ćwiczeniem z programowania, które poprowadzi Cię przez proces szybkiej integracji.
Użyj interfejsu wiersza poleceń Firebase.
Aby rozpowszechniać kompilacje wśród testerów za pomocą programów, użyj narzędzi wiersza poleceń Firebase udostępnianych przez App Distribution. Możesz określić testerów i notatki do wersji.
Rozpowszechniaj najnowszą kompilację systemu iOS test.ipa
, podając aplikację
Identyfikator aplikacji Firebase, opcjonalnie dodanie informacji o wersji i pliku zawierającego
adresy e-mail testerów:
firebase appdistribution:distribute test.ipa \ --app 1:1234567890:ios:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txt
Więcej informacji o automatyzacji kompilacji za pomocą interfejsu wiersza poleceń Firebase znajdziesz w artykule Rozpowszechnianie aplikacji na iOS wśród testerów za pomocą interfejsu wiersza poleceń Firebase.
Używanie danych uwierzytelniających usługi
Użyj App Distribution wtyczki fastlane lub interfejsu wiersza poleceń Firebase z kontami usługi, które korzystają z domyślnych danych logowania aplikacji i pomagają w zarządzaniu CI. Konto usługi to rodzaj konta Google, które reprezentuje aplikacje, a nie użytkowników. Twój system CI może używać kont usługi do uruchamiania zadań App Distribution. Więcej informacji znajdziesz w artykule Uwierzytelnianie za pomocą konta usługi.
Jeśli korzystasz z federacji tożsamości zadań, możesz wygenerować plik konfiguracji danych logowania zamiast klucza konta usługi.
Pamiętaj o limitach wydań
App Distribution obsługuje maksymalnie 1000 wersji na aplikację. Oznacza to, że gdy przekroczysz limit wersji, App Distribution automatycznie usunie najstarsze wersje, które przekroczyły limit. Aby dowiedzieć się, jak zarządzać limitami wersji, zobacz Jak długo dostępne są wersje aplikacji?
Dodawanie tego samego zestawu testerów do wielu wersji
Jeśli chcesz dodać do wersji dużą liczbę testerów, użyj funkcji zbiorczego zarządzania testerami w App Distribution.
Zalecamy dodanie tych samych testerów do wielu wersji za pomocą grup. Grupa działa jak lista kontroli dostępu. gdy usuniesz testera z grupy, utracą dostęp do wszystkich wersji rozpowszechnianych w tej grupie. Więcej informacji znajdziesz w artykule Dodawanie i usuwanie testerów z grupy.
Jeśli masz wielu testerów, możesz dodawać i usuwać ich zbiorczo za pomocą konsoli Firebase. Aby zautomatyzować dodawanie i usuwanie testerów, użyj funkcji interfejs wiersza poleceń Firebase, fastlane, lub publiczny interfejs API Firebase App Distribution.
Pamiętaj o limitach testerów
App Distribution ogranicza liczbę testerów, których możesz dodać do projektu Firebase lub grupa App Distribution. Po przekroczeniu tych limitów nie będzie można: i rozpowszechniać aplikację dodatkowym testerom. Więcej informacji o limitach testerów znajdziesz w artykule Czy istnieją limity dodawania testerów do aplikacji?
Zarządzanie nowymi urządzeniami testera z iOS i ich automatyczne dodawanie
App Distribution pomoże Ci zarejestrować dodatkowe urządzenia testerów iOS zarządzać urządzeniami testującymi iOS w portalu Apple dla deweloperów, informując Cię o nowych urządzeniach z iOS testerów w e-mailach lub plikach CSV. Więcej informacji znajdziesz w artykule Importowanie testujących z plików CSV. Możesz też programowo eksportować nowe urządzenia za pomocą fastlane.
Aby dowiedzieć się, jak skonfigurować działanie szybkiego pasa, które powoduje automatyczne wciąganie go w dół UDID, dodanie ich do konsoli programisty Apple, a następnie ponowne skompilowanie aplikacji w jego rozpowszechnianiu znajdziesz w artykule Szybciej rozpowszechniaj przedpremierowe kompilacje na iOS przy użyciu App Distribution i fastlane.
Umożliwienie potencjalnym testerom samodzielnego rejestrowania się na testy
Aby ułatwić rozpowszechnianie aplikacji większej liczbie testerów, zalecamy użycie linków zaproszenia. Link z zaproszeniem to unikalny URL, pod którym testerzy mogą wpisać adresy e-mail do rejestracji w celu przetestowania aplikacji. Umożliwianie użytkownikom dodawania do listy testerów aplikacji to wygodny sposób na zwiększenie do wewnętrznej bazy testów.
Przypadki użycia linków z zaproszeniem obejmują firmowe programy testów wewnętrznych, organizacje z dużych zespołów ds. kontroli jakości i grup programistów, którzy chcą umożliwić poszczególnym klientom kontrolować dostęp testerów.
Zalecamy utworzenie linku z zaproszeniem do grupy. Każdy tester, który podpisuje aplikację za pomocą linku z zaproszeniem jest automatycznie dodawana do kolejnych wersji.
Więcej informacji znajdziesz w artykule Tworzenie linków z zaproszeniem. oraz Dodawanie testerów do grupy i ich usuwanie.
Upewnij się, że testerzy testują wersję, która Cię interesuje
Gdy prześlesz nową wersję, testerzy otrzymają e-maila z powiadomieniem. Do aby uzupełnić to powiadomienie, możesz skorzystać z następujących funkcji – o linkach i alertach w aplikacji – aby mieć pewność, że testerzy testują wersja aplikacji, na której Ci zależy:
Linki do wersji: użyj tej funkcji, gdy chcesz udostępnić określony plik i udostępnienie jej testerom. Aby dowiedzieć się, jak korzystać z linków do wersji, zobacz Rozpowszechniaj aplikacje na iOS testerom za pomocą konsoli Firebase. Te linki są też dostępne w narzędziach wiersza poleceń (CLI) Firebase i fastlane do stosowania z narzędziami automatyzacji kompilacji.
Alerty w aplikacji: używaj tych alertów, gdy chcesz mieć pewność, że testerzy sprawdzają najnowszą wersję aplikacji. Dzięki integracji pakietu SDK Firebase App Distribution na iOS możesz wyświetlać alerty bezpośrednio w aplikacji testerom, gdy dostępne są nowe wersje aplikacji. Aby dowiedzieć się, jak dodawać alerty w aplikacji, przeczytaj artykuł Powiadomienie testerów o nowych wersjach aplikacji.
Automatycznie usuwaj dostęp testerów, którzy opuszczają firmę
Po uruchomieniu wewnętrznego procesu testów CI/CD musisz: aby osoby, które opuszczają firmę, nie miały już dostępu do Twojego i kompilacje wewnętrzne. Aby ułatwić Ci zarządzanie dostępem testerów do kompilacji, App Distribution udostępnia te opcje:
fastlane (szybkość): użyj pliku Fastfile lub bezpośrednio uruchom działania szybkich pasów. Aby dowiedzieć się więcej o usuwaniu testerów za pomocą fastlane, przeczytaj artykuł Udostępnianie aplikacji na iOS testerom za pomocą fastlane.
Publiczne API Firebase App Distribution: Użyj punktu końcowego
testers.batchRemove
.