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ę przy każdym sprawdzaniu aktualizacji jej kodu źródłowego.
Korzystanie z Firebase Test Lab w 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, musisz wykonać 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ługi nie podlegają zasadom na sprawdzanie spamu lub prompty captcha, co mogłoby w inny sposób zablokować CI do tworzenia kampanii. Utwórz konto usługi z rolą Edytujący w konsoli Google Cloud, a następnie je aktywuj (aby dowiedzieć się, jak to zrobić, zapoznaj się z dokumentacją 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 Console włącz Google Cloud Testing API i Cloud Tool Results API. Aby je włączyć, wpisz ich nazwy w polu wyszukiwania u góry konsoli, a potem na stronie podsumowania danego interfejsu API kliknij Włącz interfejs API.
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 dotyczącymi uruchamiania i dostępu do Jenkinsa, aby dokończyć konfigurację i otworzyć panel sterowania Jenkinsa.
Konfigurowanie globalnych ustawień zabezpieczeń
Jenkins nie ma skonfigurowanych uwierzytelniania użytkowników i kontroli dostępu, gdy jest pierwsza instalowana. 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 przejdź do http://<nazwaserwera>:8080, gdzie <nazwaserwera> to nazwa komputera, na którym zainstalowano Jenkinsa.
- W panelu Jenkins kliknij kolejno Zarządzaj Jenkinsem i Skonfiguruj zabezpieczenia globalne.
- Na stronie Skonfiguruj zabezpieczenia globalne kliknij Włącz zabezpieczenia. kliknij Zapisz.
Więcej informacji o konfigurowaniu ustawień zabezpieczeń dla Jenkinsa znajdziesz w artykule Szybkie i proste zabezpieczenia Standardowa konfiguracja zabezpieczeń, oraz Zabezpieczanie Jenkinsa
Tworzenie projektu Jenkinsa
Następnie utwórz projekt do testowania ciągłej integracji Twojej aplikacji dzięki Firebase Test Lab.
Tworzenie projektu Jenkinsa
- Otwórz panel Jenkins na serwerze. W tym celu przejdź do http://<nazwaserwera>:8080, gdzie <nazwaserwera> to nazwa komputera, na którym zainstalowano Jenkinsa.
- W panelu Jenkins kliknij New Item (Nowy element).
- Wpisz nazwę projektu w polu Nazwa produktu:
- Wybierz Projekt swobodny, aby utworzyć projekt, który używa jednej konfiguracji kompilacji.
- Wybierz Utwórz projekt z wieloma konfiguracjami kompilacji, 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 w przeglądarce wyświetli się strona główna Twojego projektu w projektach AI.
Dodawanie kontroli wersji i etapów kompilacji Gradle
Ta sekcja opisuje, jak zintegrować Jenkinsa z systemami kontroli wersji np. GitHub, i jak dodać 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 aplikacji używasz GitHuba lub innego systemu kontroli wersji, możesz skonfigurować Jenkinsa tak, aby uruchamiał kompilacje automatyczne i testy za każdym razem, gdy wdrożysz aktualizacje aplikacji. Możesz też skonfigurować Jenkins, który będzie okresowo uruchamiać kompilacje.
Aby dowiedzieć się więcej o konfigurowaniu kompilacji w Jenkinsie, zapoznaj się z artykułem 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 uwzględnić krok kompilacji Gradle, aby za każdym razem tworzyć nowe pliki binarne APK pobiera kod źródłowy z systemu kontroli wersji.
Dodaj krok kompilacji, aby uruchomić w katalogu głównym te polecenia aplikacja:
./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 ścieżki <local_server_path> w podanym poniżej przykładzie skryptu powłoki, gdzie <AppFolder> to folder projektu Android Studio na potrzeby aplikacja:
<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 potem w menu Dodaj krok kompilacji kliknij Wykonaj w powłoce powłoki Bournera.
W oknie Jenkins Execute shell Command wpisz to polecenie: Zastąp fragment <local_server_path> ścieżką do przykładowej aplikacji w serwer <app_apk> pakietu APK aplikacji oraz <app_test_apk> dla testowego pakietu APK Twojej aplikacji:
gcloud firebase test android run --app <local_server_path>/<app_apk>.apk --test <local_server_path>/<app_test_apk>.apk
Analiza 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:
Analizuję wyniki w kategorii Firebase Test Lab.
ciągłej integracji z innymi systemami CI,
Aby dowiedzieć się, jak używać Firebase Test Lab z innymi systemami CI, zapoznaj się z artykułami na temat jego dokumenty: