Podczas tworzenia aplikacji możesz korzystać z Firebase Test Lab w dowolnym systemie ciągłej integracji (CI). Systemy ciągłej integracji umożliwiają automatyczne kompilowanie i testowanie aplikacji za każdym razem, gdy wprowadzisz zmiany w jej kodzie źródłowym.
Korzystanie z Firebase Test Lab w Jenkins CI
W tej sekcji opisujemy, jak korzystać z Test Lab z Jenkins CI.
Wymagania
Zanim zaczniesz korzystać z Firebase Test Lab w Jenkinsie, musisz wykonać te czynności:
Skonfiguruj gcloud. Aby utworzyć projekt w Firebase i skonfigurować lokalne środowisko Google Cloud pakietu SDK , postępuj zgodnie z instrukcjami w artykule Korzystanie z Firebase Test Lab z wiersza poleceń gcloud.
Utwórz i autoryzuj konto usługi. Konta usługi nie podlegają sprawdzaniu spamu ani nie wyświetlają próśb o wpisanie kodu captcha, które mogłyby blokować kompilacje CI. Utwórz konto usługi z rolą Edytujący w konsoli Google Cloud i aktywuj je (informacje o tym, jak to zrobić, znajdziesz w dokumentacji gcloud auth activate-service-account ).
Włącz wymagane interfejsy API. Po zalogowaniu się za pomocą konta usługi: na stronie Biblioteka API w konsoli Google Developers, włącz Google Cloud Testing API i Cloud Tool Results API. Aby włączyć te interfejsy API, wpisz ich nazwy w polu wyszukiwania u góry konsoli, a następnie na stronie przeglądu danego interfejsu API kliknij Włącz API.
Instalowanie i konfigurowanie Jenkinsa
Jenkins CI możesz zainstalować i skonfigurować w systemie Linux lub Windows. Niektóre szczegóły w tym przewodniku dotyczą instalowania i uruchamiania Jenkins CI w systemie Linux, w tym używania ukośników (/) w ścieżkach plików.
Aby pobrać i zainstalować Jenkinsa na komputerze z systemem Linux lub Windows, postępuj zgodnie z instrukcjami w artykule Instalowanie Jenkinsa. Po zainstalowaniu Jenkinsa postępuj zgodnie z instrukcjami w artykule Uruchamianie Jenkinsa i uzyskiwanie do niego dostępu, aby dokończyć konfigurację i uzyskać dostęp do panelu Jenkinsa.
Konfigurowanie globalnych ustawień zabezpieczeń
Po zainstalowaniu Jenkinsa nie ma skonfigurowanego uwierzytelniania użytkowników ani kontroli dostępu. Zanim zaczniesz korzystać z Jenkinsa z Firebase Test Lab, skonfiguruj globalne ustawienia zabezpieczeń, aby wymusić kontrolę dostępu i uwierzytelniać użytkowników.
Aby skonfigurować globalne ustawienia zabezpieczeń:
- 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 Jenkinsa kliknij Manage Jenkins (Zarządzaj aplikacją Jenkins), a następnie kliknij Configure Global Security (Skonfiguruj zabezpieczenia globalne).
- Na stronie Configure Global Security kliknij Enable security, a następnie kliknij Save.
Więcej informacji o konfigurowaniu ustawień zabezpieczeń w Jenkinsie znajdziesz w artykułach Quick and Simple Security (Szybkie i proste zabezpieczenia), Standard Security Setup (Standardowa konfiguracja zabezpieczeń) i Securing Jenkins (Zabezpieczanie Jenkinsa).
Tworzenie projektu Jenkinsa
Następnie utwórz projekt do przeprowadzania testów w trybie ciągłej integracji aplikacji za pomocą Firebase Test Lab.
Aby utworzyć projekt 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 Jenkinsa kliknij New Item (Nowy element).
- Wpisz nazwę projektu w polu Item name (Nazwa elementu):
- Aby utworzyć projekt, który korzysta z jednej konfiguracji kompilacji, wybierz Freestyle project (Projekt dowolny).
- Aby utworzyć projekt, który działa w wielu różnych konfiguracjach kompilacji, wybierz Build multi-configuration project (Kompiluj projekt z wieloma konfiguracjami). Jeśli planujesz kompilować aplikację z różnymi konfiguracjami kompilacji (wiele ustawień regionalnych, wiele poziomów interfejsu Android API itp.), najlepszym rozwiązaniem będzie projekt z wieloma konfiguracjami.
- Kliknij Save (Zapisz).
Po utworzeniu projektu przeglądarka wyświetli jego stronę główną.
Dodawanie kroków kontroli wersji i kompilacji Gradle
W tej sekcji opisujemy, jak zintegrować Jenkinsa z systemami kontroli wersji, takimi jak GitHub, oraz jak dodać kroki kompilacji Gradle, aby tworzyć pakiety APK z kodu źródłowego.
Integracja z GitHubem i innymi systemami kontroli wersji
Jeśli do zarządzania kodem źródłowym aplikacji używasz GitHuba lub innego systemu kontroli wersji, możesz skonfigurować Jenkinsa tak, aby automatycznie kompilował i testował aplikację za każdym razem, gdy wprowadzisz w niej zmiany. Możesz też skonfigurować Jenkinsa tak, aby kompilował aplikację okresowo.
Więcej informacji o konfigurowaniu kompilacji w Jenkinsie znajdziesz w artykule Konfigurowanie automatycznych kompilacji.
Dodawanie kroków kompilacji Gradle w celu ponownego tworzenia 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 używać pakietów APK utworzonych przez Gradle podczas testowania z Test Lab. Możesz użyć tej ścieżki jako <local_server_path> w podanym poniżej przykładzie skryptu powłoki, gdzie <AppFolder> to folder projektu Android Studio Twojej aplikacji:
<AppFolder>/app/build/outputs/apk
Dodawanie Test Lab kroków kompilacji do Jenkinsa
Teraz możesz dodać krok kompilacji do Jenkinsa, aby uruchamiać Test Lab za pomocą wiersza poleceń gcloud.
Aby dodać krok kompilacji gcloud:
- Na stronie głównej projektu kliknij Configure (Skonfiguruj).
Na stronie project configuration (konfiguracja projektu) przewiń w dół do sekcji Build (Kompilacja), a następnie w menu Add build step (Dodaj krok kompilacji) wybierz Execute shell (Wykonaj powłokę).
W oknie Jenkins Execute shell command (Polecenie powłoki Jenkins) wpisz te informacje, zastępując <local_server_path> ścieżką do przykładowej aplikacji na serwerze, <app_apk> plikiem APK aplikacji, a <app_test_apk> plikiem APK testu aplikacji:
gcloud firebase test android run --app <local_server_path>/<app_apk>.apk --test <local_server_path>/<app_test_apk>.apk
Analizowanie wyników testów
Gdy Test Lab zakończy testowanie aplikacji, możesz sprawdzić wyniki testów w konsoli Firebase lub w zasobniku Google Cloud Storage w projekcie. Możesz też dodać polecenie
gsutil do
polecenia powłoki pokazanego powyżej, aby skopiować dane wyników testów na komputer lokalny.
Więcej informacji znajdziesz w artykule
Analizowanie wynikówFirebase Test Lab.
Tryb ciągłej integracji z innymi systemami CI
Aby dowiedzieć się, jak korzystać z Firebase Test Lab w innych systemach CI, zapoznaj się z ich dokumentacją: