Sprawdzone metody dystrybucji aplikacji na Androida do testerów kontroli jakości za pomocą CI/CD

W tym dokumencie opisujemy sprawdzone metody korzystania z Firebase App Distribution, aby zapewnić zrównoważone i powtarzalne przepływy pracy testowania przedpremierowych wersji aplikacji na Androida w środowisku CI/CD. Rozwiązania to Gradle i Fastlane, ale aby zapewnić Ci jeszcze większą elastyczność, oferujemy też rozwiązania dostępne w konsoli Firebase, interfejsie wiersza poleceń Firebase i publicznym interfejsie Firebase App Distribution. Opisujemy też limity dotyczące wersji i testerów, aby ułatwić Ci zaplanowanie optymalnego działania z wyprzedzeniem.

Jeśli korzystasz też z platform Apple, zapoznaj się ze sprawdzonymi metodami udostępniania aplikacji Apple testerom kontroli jakości za pomocą CI/CD i fastlane.

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 Androida.
  3. Kliknij Rozpocznij.

Ponieważ pakiety Android App Bundle stają się najpopularniejszym formatem pakietów na Androida, zalecamy skonfigurowanie możliwości rozpowszechniania pakietów aplikacji na Androida przez połączenie z Google Play.

Automatyzowanie przedpremierowego przepływu pracy przy użyciu potoku CI/CD

Jeśli chcesz zautomatyzować tworzenie i publikowanie aplikacji dla testerów i korzystasz z CI/CD, zalecamy korzystanie z fastlane lub Gradle. 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 testerzy zawsze mają najbardziej aktualną wersję testową aplikacji.

Aby dowiedzieć się, jak zintegrować Rozpowszechnianie aplikacji z fastlane, przeczytaj artykuł Rozpowszechnianie aplikacji na Androida testerom za pomocą fastlane.

Używanie Gradle

Za pomocą Gradle możesz zintegrować Rozpowszechnianie aplikacji z procesem kompilacji na Androida za pomocą wtyczki App Distribution. Wtyczka umożliwia wskazanie testerów i informacji o wersji w pliku build.gradle aplikacji. Pozwala to skonfigurować dystrybucje różnych typów kompilacji i wariantów aplikacji.

Aby dowiedzieć się, jak zintegrować Rozpowszechnianie aplikacji z Gradle, przeczytaj artykuł Rozpowszechnianie aplikacji na Androida testerom za pomocą Gradle.

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.

Rozpowszechniaj najnowszą kompilację Androida, podając jej identyfikator w Firebase. Możesz też dodać informację o wersji i plik z adresami e-mail testerów:

firebase appdistribution:distribute test.aab  \
    --app 1:1234567890:android: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 Androida 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, wtyczki Gradle lub interfejsu wiersza poleceń Firebase w przypadku kont usługi. Konto usługi to rodzaj konta Google reprezentującego 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, Gradle 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.

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ę. Więcej informacji o korzystaniu z linków do wersji znajdziesz w artykule Rozpowszechnianie aplikacji na Androida testerom za pomocą konsoli Firebase. Te połączenia są też dostępne w naszych narzędziach wiersza poleceń Firebase, fastlane i Gradle, których można używać z narzędziami 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 Firebase App Distribution na Androida SDK 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 upewnij się, że osoby, które opuszczają firmę, nie mają już dostępu do jej wewnętrznych kompilacji. Aby ułatwić Ci zarządzanie dostępem testerów do kompilacji, Rozpowszechnianie aplikacji udostępnia następujące opcje: