Możesz użyć Firebase Test Lab podczas tworzenia aplikacji przy użyciu dowolnego systemu ciągłej integracji (CI). Systemy ciągłej integracji umożliwiają automatyczne tworzenie i testowanie aplikacji za każdym razem, gdy sprawdzasz aktualizacje kodu źródłowego aplikacji.
Korzystanie z Firebase Test Lab z Jenkins CI
W tej sekcji opisano, jak używać Test Lab z Jenkins CI .
Wymagania
Zanim będziesz mógł używać Firebase Test Lab z Jenkinsem, musisz wykonać następujące kroki:
Skonfiguruj gcloud. Postępuj zgodnie z instrukcjami zawartymi w sekcji Używanie Firebase Test Lab z wiersza poleceń gcloud, aby utworzyć projekt Firebase i skonfigurować lokalne środowisko Google Cloud SDK.
Utwórz i autoryzuj konto usługi. Konta usług nie podlegają kontroli spamu ani monitom captcha, które w przeciwnym razie mogłyby zablokować kompilacje CI. Utwórz konto usługi z rolą Edytujący w Google Cloud Console , a następnie aktywuj je (aby dowiedzieć się, jak to zrobić, zapoznaj się z dokumentacją gcloud auth enable-service-account ).
Włącz wymagane interfejsy API. Po zalogowaniu się przy użyciu konta usługi: na stronie Biblioteka interfejsu API 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 opcję Włącz interfejs API na stronie przeglądu tego interfejsu API.
Zainstaluj i skonfiguruj Jenkinsa
Możesz zainstalować i skonfigurować Jenkins CI w systemie Linux lub Windows. Niektóre szczegóły tego przewodnika dotyczą instalowania i uruchamiania rozwiązania 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 Instalowanie Jenkinsa . Po zainstalowaniu Jenkins postępuj zgodnie z instrukcjami na temat uruchamiania i uzyskiwania dostępu do Jenkins , aby zakończyć konfigurację i uzyskać dostęp do pulpitu nawigacyjnego Jenkins.
Skonfiguruj globalne ustawienia zabezpieczeń
Jenkins nie ma skonfigurowanego uwierzytelniania użytkownika i kontroli dostępu podczas pierwszej instalacji. Zanim użyjesz Jenkins z Firebase Test Lab, skonfiguruj globalne ustawienia zabezpieczeń, aby wymusić kontrolę dostępu i uwierzytelnić użytkowników.
Aby skonfigurować globalne ustawienia zabezpieczeń
- Przejdź do pulpitu nawigacyjnego Jenkins na swoim serwerze. Aby to zrobić, przejdź do http://<servername>:8080 , gdzie <servername> to nazwa komputera, na którym zainstalowałeś Jenkins.
- Na pulpicie nawigacyjnym Jenkins kliknij Manage Jenkins , a następnie kliknij Configure Global Security .
- Na stronie Konfiguruj zabezpieczenia globalne kliknij Włącz zabezpieczenia , a następnie kliknij Zapisz .
Aby uzyskać więcej informacji na temat konfigurowania ustawień zabezpieczeń dla Jenkinsa, zobacz Szybkie i proste zabezpieczenia , Standardowa konfiguracja zabezpieczeń i Zabezpieczanie Jenkinsa .
Utwórz projekt Jenkinsa
Następnie utwórz projekt do przeprowadzania ciągłych testów integracyjnych swojej aplikacji za pomocą Firebase Test Lab.
Aby utworzyć projekt Jenkins
- Przejdź do pulpitu nawigacyjnego Jenkins na swoim serwerze. Aby to zrobić, przejdź do http://<servername>:8080 , gdzie <servername> to nazwa komputera, na którym zainstalowałeś Jenkins.
- Na pulpicie nawigacyjnym Jenkins kliknij Nowy element .
- Wpisz nazwę swojego projektu w polu Nazwa elementu :
- Wybierz projekt Freestyle , aby utworzyć projekt wykorzystujący pojedynczą konfigurację kompilacji.
- Wybierz pozycję Kompiluj projekt z wieloma konfiguracjami, aby utworzyć projekt, który działa w wielu różnych konfiguracjach kompilacji. Jeśli planujesz zbudować aplikację z różnymi konfiguracjami kompilacji (wiele lokalizacji, wiele poziomów interfejsu API systemu Android itp.), najlepszym wyborem jest projekt z wieloma konfiguracjami.
- Kliknij Zapisz .
Po utworzeniu projektu przeglądarka internetowa wyświetla stronę główną projektu.
Dodaj kontrolę wersji i kroki kompilacji Gradle
W tej sekcji opisano, jak zintegrować Jenkins z systemami kontroli wersji, takimi jak GitHub, oraz jak dodać kroki kompilacji Gradle, aby zbudować pakiety APK z kodu źródłowego.
Integracja z GitHub i innymi systemami kontroli wersji
Jeśli używasz GitHub lub innego systemu kontroli wersji do zarządzania kodem źródłowym swojej aplikacji, możesz skonfigurować Jenkinsa tak, aby uruchamiał automatyczne kompilacje i uruchamiał testy za każdym razem, gdy aktualizacje Twojej aplikacji są rejestrowane. Możesz także skonfigurować Jenkinsa, aby okresowo uruchamiał kompilacje.
Aby dowiedzieć się więcej o konfigurowaniu kompilacji w Jenkins, zobacz Konfigurowanie automatycznych kompilacji .
Dodanie kroków kompilacji Gradle w celu odbudowania pakietów APK
Jeśli używasz systemu kontroli wersji do zarządzania kodem źródłowym swojej aplikacji, musisz dołączyć krok kompilacji Gradle, aby utworzyć nowe pliki binarne APK za każdym razem, gdy Jenkins pobiera kod źródłowy z twojego systemu kontroli wersji.
Dodaj krok kompilacji, aby uruchomić następujące polecenia w katalogu głównym aplikacji:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
Dodaj krok kompilacji, aby używać pakietów APK utworzonych przez Gradle podczas testowania w Test Lab. Możesz użyć tej ścieżki jako <local_server_path> w poniższym przykładzie skryptu powłoki, gdzie <AppFolder> to folder projektu Android Studio dla Twojej aplikacji:
<AppFolder>/app/build/outputs/apk
Dodaj kroki kompilacji Test Lab do Jenkins
Teraz możesz dodać krok kompilacji do Jenkinsa, aby uruchomić Test Lab przy użyciu wiersza poleceń gcloud.
Aby dodać krok kompilacji gcloud
- Na stronie głównej swojego projektu kliknij Konfiguruj .
Na stronie konfiguracji projektu przewiń w dół do sekcji Kompilacja , a następnie wybierz pozycję Wykonaj powłokę z menu Krok dodawania kompilacji .
W oknie poleceń powłoki Jenkins Execute wprowadź następujące polecenie, zastępując <local_server_path> ścieżką do przykładowej aplikacji na serwerze, <app_apk> APK Twojej aplikacji i <app_test_apk> testowym APK Twojej aplikacji:
gcloud firebase test android run --app <local_server_path>/<app_apk>.apk --test <local_server_path>/<app_test_apk>.apk
Analizuj wyniki testów
Gdy Test Lab zakończy testowanie Twojej aplikacji, możesz przejrzeć wyniki testów w konsoli Firebase lub w zasobniku Google Cloud Storage w swoim projekcie. Możesz także dodać polecenie gsutil
do polecenia powłoki pokazanego powyżej, aby skopiować dane wyników testu na komputer lokalny. Aby dowiedzieć się więcej, zobacz Analizowanie wyników laboratorium testowego Firebase .
Ciągła integracja z innymi systemami CI
Aby dowiedzieć się, jak używać Firebase Test Lab z innymi systemami CI, zapoznaj się z ich dokumentacją: