Możesz używać Firebase Test Lab podczas tworzenia aplikacji za pomocą dowolnego systemu ciągłej integracji (CI). Systemy ciągłej integracji pozwalają automatycznie kompilować i testować aplikację za każdym razem, gdy sprawdzasz aktualizacje kodu źródłowego aplikacji.
Używanie Firebase Test Lab z Jenkins CI
Z tej sekcji dowiesz się, jak używać Test Lab w Jenkins CI.
Wymagania
Zanim zaczniesz używać Firebase Test Lab w Jenkinsie, wykonaj te czynności:
Skonfiguruj gcloud. Postępuj zgodnie z instrukcjami w artykule Używanie polecenia Firebase Test Lab w wierszu poleceń gcloud, aby utworzyć projekt Firebase i skonfigurować lokalny środowisko pakietu SDK Google Cloud.
Utwórz i autoryzuj konto usługi. Konta usług nie podlegają weryfikacji spamu ani prośbom o rozwiązanie captcha, które mogłyby blokować kompilacje CI. Utwórz konto usługi z rolą Edytujący w konsoli Google Cloud, a następnie aktywuj je (więcej informacji znajdziesz w dokumentacji gcloud authactivate-service-account).
Włącz wymagane interfejsy API. Po zalogowaniu się za pomocą konta usługi: na stronie Biblioteka API w Konsoli Google Developers Console włącz Google Cloud Testing API i Cloud Tool Results API. Aby włączyć te interfejsy API, wpisz te nazwy interfejsów API w polu wyszukiwania u góry konsoli, a następnie kliknij Włącz interfejs API na stronie z informacjami o nim.
Instalowanie i konfigurowanie Jenkinsa
Możesz zainstalować i skonfigurować Jenkins CI na systemie Linux lub Windows. Niektóre szczegóły w tym przewodniku dotyczą instalacji i uruchamiania Jenkins CI w systemie Linux, w tym użycia ukośnika (/
) w ścieżkach plików.
Aby pobrać i zainstalować Jenkinsa na komputerze z systemem Linux lub Windows, wykonaj instrukcje instalowania Jenkinsa. Po zainstalowaniu Jenkinsa postępuj zgodnie z instrukcjami uruchamiania Jenkinsa i uzyskiwania do niego dostępu, aby dokończyć konfigurację i uzyskać dostęp do panelu Jenkins.
Konfigurowanie globalnych ustawień zabezpieczeń
Po zainstalowaniu Jenkins nie ma skonfigurowanej kontroli dostępu ani uwierzytelniania użytkowników. Zanim zaczniesz używać Jenkinsa z Firebase Test Lab, skonfiguruj ustawienia zabezpieczeń globalnych, aby wymusić kontrolę dostępu i uwierzytelnianie użytkowników.
Konfigurowanie globalnych ustawień zabezpieczeń
- Otwórz panel Jenkins na serwerze. W tym celu otwórz http://<nazwa_serwera>:8080, gdzie <nazwa_serwera> to nazwa komputera, na którym zainstalowano Jenkinsa.
- W panelu Jenkins kliknij Manage Jenkins (Zarządzaj aplikacją Jenkins), a następnie kliknij Skonfiguruj zabezpieczenia globalne.
- Na stronie Skonfiguruj zabezpieczenia globalne kliknij Włącz zabezpieczenia, a następnie kliknij Zapisz.
Więcej informacji o konfigurowaniu ustawień zabezpieczeń Jenkinsa znajdziesz w artykułach Szybkie i proste zabezpieczenia, Standardowa konfiguracja zabezpieczeń oraz Zabezpieczanie Jenkinsa.
Tworzenie projektu Jenkinsa
Następnie utwórz projekt do przeprowadzania testów ciągłej integracji aplikacji za pomocą Firebase Test Lab.
Tworzenie projektu Jenkinsa
- Otwórz panel Jenkinsa na serwerze. Aby to zrobić, otwórz adres http://<servername>:8080, gdzie <servername> to nazwa komputera, na którym zainstalowano Jenkinsa.
- W panelu Jenkins kliknij Nowy element.
- W polu Nazwa elementu wpisz nazwę projektu:
- Wybierz Projekt Freestyle, aby utworzyć projekt wykorzystujący jedną konfigurację kompilacji.
- Wybierz Utwórz projekt z wieloma konfiguracjami, aby utworzyć projekt, który działa w wielu różnych konfiguracjach kompilacji. Jeśli planujesz kompilować aplikację z różnymi konfiguracjami kompilacji (wiele lokalizacji, wiele poziomów interfejsu API Androida itp.), najlepszym rozwiązaniem będzie projekt z wieloma konfiguracjami.
- Kliknij Zapisz.
Po utworzeniu projektu przeglądarka wyświetli jego stronę główną.
Dodawanie kontroli wersji i etapów kompilacji Gradle
W tej sekcji opisujemy, jak zintegrować Jenkinsa z systemami kontroli wersji, takimi jak GitHub, i jak dodawać kroki kompilacji Gradle w celu tworzenia pakietów APK z kodu źródłowego.
Integracja z GitHubem i innymi systemami kontroli wersji
Jeśli do zarządzania kodem źródłowym swojej aplikacji używasz GitHuba lub innego systemu kontroli wersji, możesz skonfigurować Jenkinsa tak, aby uruchamiał automatyczne kompilacje i przeprowadzał testy przy każdej aktualizacji aplikacji. Możesz też skonfigurować Jenkinsa tak, aby okresowo uruchamiał kompilacje.
Więcej informacji o konfigurowaniu kompilacji w Jenkinsie znajdziesz w artykule Konfigurowanie automatycznych kompilacji.
Dodawanie kroków kompilacji Gradle w celu ponownego utworzenia pakietów APK
Jeśli do zarządzania kodem źródłowym aplikacji używasz systemu kontroli wersji, musisz dodać krok kompilacji Gradle, aby tworzyć nowe pliki binarne APK za każdym razem, gdy Jenkins pobiera kod źródłowy z systemu kontroli wersji.
Dodaj krok kompilacji, aby uruchamiać te polecenia w głównym katalogu aplikacji:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
Dodaj krok kompilacji, aby podczas testowania za pomocą Test Lab używać pakietów APK utworzonych przez Gradle. Możesz użyć tej ścieżki jako <local_server_path> w przykładowym skrypcie powłoki podanym poniżej, gdzie <AppFolder> to folder projektu Android Studio Twojej aplikacji:
<AppFolder>/app/build/outputs/apk
Dodaj kroki kompilacji (Test Lab) do Jenkinsa
Teraz możesz dodać do Jenkinsa krok kompilacji, aby uruchomić Test Lab za pomocą wiersza poleceń gcloud.
Dodawanie kroku kompilacji za pomocą gcloud
- Na stronie głównej projektu kliknij Skonfiguruj.
Na stronie konfiguracji projektu przewiń w dół do sekcji Kompilacja, a następnie w menu Dodaj krok kompilacji wybierz Wykonaj powłokę.
W oknie Jenkins Wykonaj polecenie powłoki wpisz następujące polecenie, zastępując <local_server_path> ścieżką do przykładowej aplikacji na serwerze, <app_apk> pakietem APK aplikacji, a <app_test_apk> testowym pakietem APK aplikacji:
gcloud firebase test android run --app <local_server_path>/<app_apk>.apk --test <local_server_path>/<app_test_apk>.apk
Analizowanie wyników testu
Gdy Test Lab zakończy testowanie aplikacji, możesz sprawdzić wyniki testu w konsoli Firebase lub w grupie Google Cloud Storage w projekcie. Aby skopiować dane wyników testu na komputer lokalny, możesz też dodać do polecenia powłoki pokazanego powyżej polecenie gsutil
.
Więcej informacji znajdziesz w artykule Analizowanie wyników Firebase Test Lab.
Tryb ciągłej integracji z innymi systemami CI
Aby dowiedzieć się, jak używać Firebase Test Lab z innymi systemami CI, zapoznaj się z ich dokumentacją: