Sprawdzone metody dystrybucji aplikacji Apple do testerów kontroli jakości za pomocą CI/CD i fastlane

W tym dokumencie opisujemy sprawdzone metody korzystania z Firebase App Distribution oraz szybkiej linii, aby zapewnić zrównoważone i powtarzalne testy przedpremierowe na platformie Apple w środowisku CI/CD. Choć ten dokument skupia się na szybkim pasie, opisujemy też rozwiązania dostępne w konsoli Firebase, interfejsie wiersza poleceń Firebase i publicznym interfejsie Firebase App Distribution, aby zapewnić Ci większą elastyczność. Opisujemy też limity dotyczące wersji i testerów, aby ułatwić Ci zaplanowanie optymalnego działania z wyprzedzeniem.

Jeśli używasz też Androida, zapoznaj się ze sprawdzonymi metodami udostępniania aplikacji na Androida testerom kontroli jakości za pomocą CI/CD.

Zanim zaczniesz

Zanim wdrożysz sprawdzone metody opisane w tym dokumencie, włącz Rozpowszechnianie aplikacji w konsoli Firebase dla każdej aplikacji. Jeśli nie masz włączonego Rozpowszechniania aplikacji, pojawi się błąd 404.

Aby włączyć Rozpowszechnianie aplikacji, wykonaj te czynności:

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

  2. Wybierz aplikację na iOS.

  3. Kliknij Rozpocznij.

Zautomatyzuj przedpremierowy przepływ pracy testowania za pomocą CI/CD

Jeśli korzystasz z CI/CD, a chcesz zautomatyzować tworzenie i publikowanie aplikacji testerom, zalecamy użycie fastlane. Innym sposobem jest użycie interfejsu wiersza poleceń Firebase, który zapewnia dostęp do szerokiej gamy usług Firebase.

Użyj szybkiego pasa

Zintegruj App Distribution z potokiem CI/CD za pomocą fastlane – narzędzia open source, które automatyzuje tworzenie i publikowanie aplikacji na iOS i Androida. Dzięki automatycznemu kompilowaniu i rozpowszechnianiu najnowszych wersji testerom masz pewność, że zawsze mają oni najbardziej aktualną wersję testową aplikacji.

Aby dowiedzieć się, jak zintegrować Rozpowszechnianie aplikacji z fastlane, przeczytaj artykuł Rozpowszechnianie aplikacji na iOS testerom za pomocą fastlane. Zapoznaj się też z laboratoriami z programowania, które przeprowadzą Cię przez proces integracji typu fastlane.

Używanie interfejsu wiersza poleceń Firebase

Użyj narzędzi wiersza poleceń Firebase dostępnych w App Distribution, aby automatycznie rozpowszechniać kompilacje wśród testerów. Dla kompilacji możesz określić testerów i informacje o wersji.

Rozpowszechnij najnowszą kompilację test.ipa na iOS, podając identyfikator aplikacji Firebase w tej usłudze. Opcjonalnie możesz dodać informacje o wersji i plik z adresami 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 używaniu interfejsu wiersza poleceń Firebase do automatyzacji kompilacji znajdziesz w artykule Przesyłanie aplikacji na iOS testerom za pomocą interfejsu wiersza poleceń Firebase.

Uwierzytelnianie przy użyciu danych logowania do usługi

Użyj wtyczki Fastlane do usługi App Distribution lub interfejsu wiersza poleceń Firebase na kontach usługi, które korzystają z domyślnych danych logowania aplikacji i ułatwiają zarządzanie CI. Konto usługi to typ konta Google, który reprezentuje aplikacje, a nie użytkowników. Twój system CI może używać kont usługi do uruchamiania zadań w usłudze App Distribution. Więcej informacji znajdziesz w sekcji Uwierzytelnianie za pomocą konta usługi.

Jeśli korzystasz z federacji tożsamości zadań, możesz wygenerować plik konfiguracji danych logowania i używać go zamiast klucza konta usługi.

Pamiętaj o limitach wydań

Rozpowszechnianie aplikacji obsługuje maksymalnie 1000 wersji na aplikację. Oznacza to, że po przekroczeniu limitu Rozpowszechnianie aplikacji automatycznie usuwa najstarsze wersje powyżej limitu. Aby dowiedzieć się, jak zarządzać limitami wersji, przeczytaj artykuł Jak długo są dostępne wersje aplikacji?.

Dodaj tę samą grupę testerów do wielu wersji

Jeśli chcesz dodać do wersji dużą liczbę testerów, skorzystaj z funkcji zarządzania zbiorczego w Rozpowszechnianiu aplikacji.

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, utraci on dostęp do wszystkich wersji rozpowszechnianych w tej grupie. Więcej informacji znajdziesz w artykule Dodawanie testerów do grupy i usuwanie ich 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 interfejsu wiersza poleceń Firebase, fastlane lub publicznego interfejsu Firebase App Distribution API.

Pamiętaj o limitach testerów

Rozpowszechnianie aplikacji ogranicza liczbę testerów, których możesz dodać do projektu Firebase lub grupy App Distribution. Po przekroczeniu tych limitów nie można rozpowszechniać aplikacji wśród dodatkowych testerów. Więcej informacji o limitach testerów znajdziesz w artykule Czy są jakieś limity związane z dodawaniem testerów do aplikacji.

Automatyczne dodawanie nowych urządzeń testerów iOS i zarządzanie nimi

Rozpowszechnianie aplikacji pomaga w rejestrowaniu dodatkowych urządzeń testowych iOS w Apple Developer Portal, dzięki czemu możesz otrzymywać e-maile lub pliki CSV z informacjami o nowych urządzeniach z iOS, które testujesz. Więcej informacji znajdziesz w artykule Importowanie testerów z plików CSV. Możesz też automatycznie wyeksportować nowe urządzenia za pomocą fastlane.

Aby dowiedzieć się, jak skonfigurować szybkie działanie, które automatycznie pobiera identyfikatory UDID i dodaje je do konsoli programisty Apple, a następnie ponownie skompiluje i rozpowszechni aplikację, przeczytaj artykuł Szybciej rozpowszechniaj przedpremierowe kompilacje na iOS dzięki funkcji Rozpowszechniania aplikacji i szybkiej dystrybucji.

Pozwól potencjalnym testerom na samodzielną rejestrację na testy

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

Linki z zaproszeniem mogą być wykorzystywane w firmowych programach testów wewnętrznych, w organizacjach z dużymi zespołami ds. kontroli jakości oraz w grupach deweloperów, którzy chcą, aby poszczególni klienci mogli kontrolować dostęp testerów.

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

Więcej informacji znajdziesz w artykułach Tworzenie linków z zaproszeniem oraz Dodawanie testerów do grupy i usuwanie ich z grupy.

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

Po przesłaniu nowej wersji testerzy otrzymają e-maila z powiadomieniem. Jako uzupełnienie tego powiadomienia możesz użyć tych funkcji – linków do wersji i alertów w aplikacji – by mieć pewność, że testerzy testują konkretną wersję aplikacji, na której Ci zależy:

  • Linki do wersji: użyj tej funkcji, gdy chcesz udostępnić testerom konkretną wersję. O tym, jak korzystać z linków do wersji, dowiesz się z artykułu Dystrybucja aplikacji na iOS testerom za pomocą konsoli Firebase. Te połączenia są też dostępne w naszych narzędziach wiersza poleceń Firebase i fastlane (interfejs wiersza poleceń), które można wykorzystać w narzędziach do automatyzacji kompilacji.

  • Alerty w aplikacji: korzystaj z tych alertów, gdy chcesz mieć pewność, że testerzy testują najnowszą wersję Twojej aplikacji. Dzięki integracji pakietu SDK Firebase App Distribution na iOS możesz wyświetlać testerom alerty o nowych kompilacjach aplikacji bezpośrednio w aplikacji. Więcej informacji o dodawaniu alertów w aplikacji znajdziesz w artykule Powiadamianie testerów o nowych kompilacjach.

Automatycznie usuwaj dostęp testerów, którzy opuszczają firmę

Po uruchomieniu wewnętrznego procesu testów CI/CD musisz zadbać o to, aby osoby, które opuszczają firmę, nie miały już dostępu do jej wewnętrznych kompilacji. Aby ułatwić zarządzanie dostępem testerów do kompilacji, Rozpowszechnianie aplikacji udostępnia te opcje: