Sprawdzone metody rozpowszechniania aplikacji Apple testerom kontroli jakości za pomocą CI/CD i szybkiego pasa ruchu

W tym dokumencie opisujemy sprawdzone metody korzystania z Firebase App Distribution i trybu fastlane, które pozwalają na zrównoważone i powtarzalne testowanie przedpremierowe na platformie Apple w środowisku CI/CD. Chociaż ten dokument koncentruje się na trybie fastlane, opisujemy 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 wcześniejsze zaplanowanie optymalnego działania.

Jeśli używasz też Androida, zapoznaj się ze sprawdzonymi metodami rozpowszechniania aplikacji na Androida wśród testerów QA za pomocą CI/CD.

Zanim zaczniesz

Zanim wdrożysz sprawdzone metody opisane w tym dokumencie, włącz App Distribution w konsoli Firebasew każdej aplikacji. Jeśli nie włączysz App Distribution, pojawi się błąd 404.

Aby włączyć App Distribution:

  1. Otwórz stronę App Distribution w konsoli Firebase.

  2. Wybierz aplikację na iOS.

  3. Kliknij Rozpocznij.

Automatyzacja testowania przedpremierowego za pomocą CI/CD

Jeśli chcesz zautomatyzować tworzenie i udostępnianie aplikacji testerom oraz korzystasz z CI/CD, zalecamy używanie trybu fastlane. Inną opcją jest użycie Firebase interfejsu wiersza poleceń, który umożliwia dostęp do wielu usług Firebase.

Używanie trybu fastlane

Zintegruj App Distribution z potokiem CI/CD za pomocą trybu fastlane, narzędzia open source, które automatyzuje tworzenie i udostępnianie aplikacji na iOS i Androida. Automatyczne tworzenie i rozpowszechnianie najnowszych wersji wśród testerów zapewnia, że zawsze mają oni najbardziej aktualną wersję testową aplikacji.

Aby dowiedzieć się, jak zintegrować App Distribution z trybem fastlane, przeczytaj artykuł Udostępnianie aplikacji na iOS testerom za pomocą trybu fastlane. Zapoznaj się też z ćwiczeniem z programowania które przeprowadzi Cię przez proces integracji z trybem fastlane.

Używanie interfejsu wiersza poleceń Firebase

Używaj narzędzi interfejsu wiersza poleceń Firebase, które udostępnia App Distribution, aby programowo rozpowszechniać kompilacje wśród testerów. Możesz określić testerów i informacje o wersji kompilacji.

Aby rozpowszechnić najnowszą kompilację na iOS test.ipa, podaj identyfikator aplikacji Firebase, opcjonalnie dodaj informacje o wersji i plik zawierający 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

Aby dowiedzieć się więcej o automatyzacji kompilacji za pomocą interfejsu wiersza poleceń Firebase, przeczytaj artykuł Dystrybuowanie aplikacji na iOS testerom za pomocą interfejsu wiersza poleceń Firebase.

Uwierzytelnianie za pomocą danych logowania do usługi

Używaj wtyczki App Distribution fastlane lub interfejsu wiersza poleceń Firebase z kontami usługi, które korzystają z domyślnego uwierzytelniania aplikacji i pomagają zarządzać CI. Konto usługi to typ konta Google, które reprezentuje aplikacje, a nie użytkowników. 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 używasz federacji Workload Identity, zamiast klucza konta usługi możesz wygenerować i użyć pliku konfiguracji danych logowania.

Limity wersji

App Distribution obsługuje maksymalnie 1000 wersji na aplikację. Oznacza to, że po przekroczeniu limitu wersji App Distribution 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?

Dodawanie tego samego zestawu testerów do wielu wersji

Jeśli chcesz dodać do wersji dużą liczbę testerów, użyj App Distribution's funkcji zbiorczego zarządzania testerami.

Zalecamy używanie grup, aby dodawać 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 wersji rozpowszechnionych w tej grupie. Więcej informacji znajdziesz w artykule Dodawanie i usuwanie testerów z grupy.

Jeśli masz wielu testerów, możesz zbiorczo dodawać i usuwać testerów za pomocą konsoli Firebase. Aby zautomatyzować dodawanie i usuwanie testerów, użyj Firebase interfejsu wiersza poleceń, fastlane, lub publicznego interfejsu API App Distribution Firebase.

Limity testerów

App Distribution ogranicza liczbę testerów, których możesz dodać do projektu w Firebase lub grupy App Distribution. 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, przeczytaj artykuł Czy istnieją limity dodawania testerów do mojej aplikacji?

Zarządzanie nowymi urządzeniami testerów na iOS i automatyczne ich dodawanie

Aby ułatwić Ci rejestrowanie dodatkowych urządzeń testerów na iOS, App Distribution pomaga Ci zarządzać urządzeniami testerów na iOS w portalu dewelopera Apple, informując Cię o nowych urządzeniach testerów na iOS za pomocą e-maili lub plików CSV. Więcej informacji znajdziesz w artykule Importowanie testerów z plików CSV. Możesz też programowo eksportować nowe urządzenia za pomocą trybu fastlane.

Aby dowiedzieć się, jak skonfigurować działanie trybu fastlane, które automatycznie pobiera identyfikatory UDID, dodaje je do konsoli dewelopera Apple, a następnie ponownie tworzy aplikację i ją rozpowszechnia, przeczytaj artykuł Szybsze rozpowszechnianie przedpremierowych kompilacji na iOS dzięki App Distribution i trybowi fastlane.

Umożliwianie potencjalnym testerom samodzielnej rejestracji na potrzeby testowania

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

Przykłady zastosowań linków z zaproszeniem to programy testowania wewnętrznego w firmach, organizacje z dużymi zespołami QA i grupy deweloperów, które 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 i usuwanie testerów z grupy.

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

Gdy prześlesz nową wersję, testerzy otrzymają powiadomienie e-mail. Aby uzupełnić to powiadomienie, możesz użyć tych funkcji: linków do wersji i alertów w aplikacji. Dzięki temu będziesz mieć pewność, że testerzy testują konkretną wersję aplikacji, na której Ci zależy:

  • Linki do wersji: używaj tej funkcji, gdy chcesz udostępnić testerom konkretną wersję. Aby dowiedzieć się, jak używać linków do wersji, przeczytaj artykuł Udostępnianie aplikacji na iOS testerom za pomocą Firebase konsoli. Te linki są też dostępne w narzędziach wiersza poleceń (CLI) Firebase i trybu fastlane , dzięki czemu możesz ich używać z narzędziami do automatyzacji kompilacji.

  • Alerty w aplikacji: używaj tych alertów, gdy chcesz mieć pewność, że testerzy testują najnowszą wersję aplikacji. Integracja pakietu Firebase App Distribution iOS SDK umożliwia wyświetlanie alertów bezpośrednio w aplikacji, gdy dostępne są nowe kompilacje. Aby dowiedzieć się, jak dodać alerty w aplikacji, przeczytaj artykuł Informowanie testerów o nowych kompilacjach.

Automatyczne usuwanie dostępu testerom, którzy opuszczają firmę

Gdy wewnętrzny proces testowania CI/CD jest już skonfigurowany i działa, musisz się upewnić, że osoby, które opuszczają firmę, nie mają już dostępu do kompilacji wewnętrznych. Aby ułatwić Ci zarządzanie dostępem testerów do kompilacji, App Distribution udostępnia te opcje: