Najlepsze praktyki dotyczące dystrybucji aplikacji Apple do testerów QA za pomocą CI/CD i fastlane

W tym dokumencie przedstawiono najlepsze praktyki korzystania z Firebase App Distribution i Fastlane, aby zapewnić trwałość i powtarzalność procesów testowania przedpremierowego platformy Apple w środowisku CI/CD. Chociaż ten dokument koncentruje się na Fastlane, opisujemy również rozwiązania dostępne za pośrednictwem konsoli Firebase, interfejsu wiersza polecenia Firebase i publicznego interfejsu API dystrybucji aplikacji Firebase, aby zapewnić większą elastyczność. Opisujemy także limity wersji i testerów, dzięki czemu możesz zaplanować z wyprzedzeniem optymalne wrażenia.

Jeśli używasz także Androida, zobacz Najlepsze praktyki dotyczące dystrybucji aplikacji na Androida wśród testerów kontroli jakości przy użyciu CI/CD .

Zanim zaczniesz

Zanim wdrożysz najlepsze praktyki opisane w tym dokumencie, pamiętaj o włączeniu dystrybucji aplikacji w konsoli Firebase dla każdej aplikacji . Jeśli nie włączyłeś dystrybucji aplikacji, pojawi się błąd 404.

Aby włączyć dystrybucję aplikacji, wykonaj następujące kroki:

  1. Otwórz stronę Dystrybucja aplikacji w konsoli Firebase.

  2. Wybierz swoją aplikację na iOS.

  3. Kliknij opcję Rozpocznij .

Zautomatyzuj przepływ pracy podczas testów przed wydaniem, korzystając z CI/CD

Jeśli chcesz zautomatyzować tworzenie i udostępnianie aplikacji swoim testerom i korzystasz z CI/CD, zalecamy użycie Fastlane . Inną opcją jest użycie interfejsu CLI Firebase, który umożliwia dostęp do szerokiej gamy produktów Firebase.

Skorzystaj z szybkiego pasa

Zintegruj dystrybucję aplikacji ze swoim potokiem CI/CD, korzystając z Fastlane – narzędzia typu open source, które automatyzuje tworzenie i wydawanie aplikacji na iOS i Androida. Tworząc i automatycznie dystrybuując najnowsze wersje wśród testerów, masz pewność, że testerzy zawsze mają najbardziej aktualną wersję testową Twojej aplikacji.

Aby dowiedzieć się, jak zintegrować dystrybucję aplikacji z fastlane, zobacz Dystrybucja aplikacji iOS wśród testerów za pomocą fastlane . Zobacz także ćwiczenia z programowania , które przeprowadzą Cię przez proces integracji Fastlane.

Użyj interfejsu wiersza polecenia Firebase

Użyj narzędzi Firebase CLI udostępnianych przez App Distribution, aby programowo dystrybuować kompilacje wśród testerów. Możesz określić testerów i informacje o wersji dla kompilacji.

Rozpowszechniaj najnowszą wersję pliku test.ipa na iOS, podając identyfikator Firebase App ID aplikacji, opcjonalnie dodając informację o wersji i plik zawierający e-maile testerów:

firebase appdistribution:distribute test.ipa  \
    --app 1:1234567890:ios:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

Aby dowiedzieć się więcej o używaniu interfejsu wiersza polecenia Firebase do automatyzacji kompilacji, zobacz Dystrybucja aplikacji na iOS wśród testerów za pomocą interfejsu wiersza polecenia Firebase .

Użyj poświadczeń usługi do uwierzytelnienia

Użyj wtyczki Fastlane App Distribution lub interfejsu wiersza polecenia Firebase z kontami usług, które korzystają z domyślnych poświadczeń aplikacji i pomagają zarządzać 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ług do uruchamiania obciążeń związanych z dystrybucją aplikacji. Aby dowiedzieć się więcej, zobacz Uwierzytelnianie za pomocą konta usługi .

Jeśli korzystasz z federacji tożsamości obciążeń, możesz wygenerować plik konfiguracyjny poświadczeń i używać go zamiast klucza konta usługi.

Pamiętaj o limitach wydań

Dystrybucja aplikacji obsługuje maksymalnie 1000 wydań na aplikację. Oznacza to, że po przekroczeniu limitu wydań usługa App Distribution automatycznie usuwa najstarsze wydania przekraczające limit. Aby dowiedzieć się, jak zarządzać limitami wersji, zobacz Jak długo są dostępne wersje aplikacji?

Dodaj ten sam zestaw testerów do wielu wydań

Jeśli chcesz dodać dużą liczbę testerów do swoich wydań, skorzystaj z funkcji zbiorczego zarządzania testerami oferowanej przez App Distribution.

Zalecamy użycie grup w celu dodania tych samych testerów do wielu wersji. Grupa działa jak lista kontroli dostępu; gdy usuniesz testera z grupy, utraci on dostęp do wszystkich wydań dystrybuowanych do tej grupy. Aby dowiedzieć się więcej, zobacz Dodawanie i usuwanie testerów z grupy .

Jeśli masz wielu testerów do zarządzania, możesz zbiorczo dodawać i usuwać testerów za pomocą konsoli Firebase. Aby zautomatyzować dodawanie i usuwanie testerów, użyj interfejsu wiersza polecenia Firebase , Fastlane lub publicznego interfejsu API dystrybucji aplikacji Firebase .

Pamiętaj o ograniczeniach testera

Dystrybucja aplikacji ogranicza liczbę testerów, których możesz dodać do projektu Firebase lub grupy dystrybucji aplikacji. Po przekroczeniu tych limitów nie będzie można rozpowszechniać aplikacji wśród dodatkowych testerów. Aby dowiedzieć się więcej o limitach testerów, zobacz Czy istnieją ograniczenia dotyczące dodawania testerów do mojej aplikacji?

Zarządzaj i automatycznie dodawaj nowe urządzenia testowe iOS

Aby pomóc Ci zarejestrować dodatkowe urządzenia testujące iOS, usługa App Distribution pomaga Ci zarządzać urządzeniami testowymi iOS w portalu Apple Developer Portal, informując Cię o nowych testerach urządzeń iOS za pośrednictwem poczty elektronicznej lub plików CSV. Aby dowiedzieć się więcej, zobacz Import testerów z plików CSV . Możesz także programowo eksportować nowe urządzenia za pomocą Fastlane .

Aby dowiedzieć się, jak skonfigurować akcję Fastlane, która automatycznie pobiera identyfikatory UDID, dodaje je do konsoli programisty Apple, a następnie odbudowuje aplikację i rozpowszechnia ją, zobacz Szybsze rozpowszechnianie przedpremierowych wersji systemu iOS dzięki dystrybucji aplikacji i fastlane .

Umożliwiaj potencjalnym testerom samodzielną rejestrację do testów

Aby ułatwić rozpowszechnianie aplikacji wśród większej liczby testerów, zalecamy użycie linków z zaproszeniem. Link z zaproszeniem to unikalny adres URL, który umożliwia testerom wprowadzenie adresów e-mail w celu zarejestrowania się w celu przetestowania aplikacji. Umożliwienie użytkownikom dodawania się do listy testerów aplikacji to płynny sposób na zwiększenie wewnętrznej bazy testerów.

Przykłady użycia linków z zaproszeniem obejmują firmowe programy testowania, organizacje z dużymi zespołami ds. kontroli jakości i grupy programistów, które chcą, aby klienci indywidualni mogli kontrolować dostęp testerów.

Zalecamy utworzenie linku z zaproszeniem do grupy. Każdy tester, który zarejestruje się za pomocą linku zaproszenia, zostanie automatycznie dodany do kolejnych wersji.

Aby dowiedzieć się więcej, zobacz Tworzenie linków z zaproszeniem oraz Dodawanie i usuwanie testerów z grupy .

Upewnij się, że testerzy testują wersję, na której Ci zależy

Gdy zostanie przesłana nowa wersja, testerzy zostaną powiadomieni e-mailem. Aby uzupełnić to powiadomienie, możesz skorzystać z następujących funkcji – linków do wersji i alertów w aplikacji – aby mieć pewność, że testerzy testują konkretną wersję aplikacji, na której Ci zależy:

  • Linki do wersji: użyj tej funkcji, jeśli chcesz udostępnić testerom konkretną wersję. Aby dowiedzieć się, jak korzystać z linków do wersji, zobacz Dystrybucja aplikacji iOS wśród testerów za pomocą konsoli Firebase . Linki te są również dostępne w naszych narzędziach wiersza poleceń Firebase i Fastlane (CLI), do użytku z narzędziami do automatyzacji kompilacji.

  • Alerty w aplikacji: użyj tych alertów, jeśli chcesz mieć pewność, że testerzy testują najnowszą wersję Twojej aplikacji. Integrując pakiet SDK Firebase App Distribution iOS, możesz wyświetlać alerty bezpośrednio w aplikacji swoim testerom, gdy dostępne będą nowe wersje Twojej aplikacji. Aby dowiedzieć się, jak dodać alerty w aplikacji, zobacz Powiadamianie testerów o nowych kompilacjach .

Automatycznie odbieraj dostęp testerom, którzy odchodzą z firmy

Po uruchomieniu wewnętrznego procesu testów CI/CD musisz upewnić się, że osoby odchodzące z firmy nie mają już dostępu do Twoich wewnętrznych kompilacji. Aby pomóc Ci zarządzać dostępem testerów do kompilacji, usługa App Distribution udostępnia następujące opcje: