Rozpoczynanie testowania w systemach ciągłej integracji (CI)

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:

  1. 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.

  2. 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).

  3. 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 APICloud 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ń

  1. Otwórz panel Jenkins na serwerze. W tym celu przejdź do http://<nazwaserwera>:8080, gdzie <nazwaserwera> to nazwa komputera, na którym zainstalowano Jenkinsa.
  2. W panelu Jenkins kliknij kolejno Zarządzaj Jenkinsem i Skonfiguruj zabezpieczenia globalne.
  3. 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

  1. Otwórz panel Jenkins na serwerze. W tym celu przejdź do http://<nazwaserwera>:8080, gdzie <nazwaserwera> to nazwa komputera, na którym zainstalowano Jenkinsa.
  2. W panelu Jenkins kliknij New Item (Nowy element).
  3. 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.
  4. 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.

  1. Dodaj krok kompilacji, aby uruchomić w katalogu głównym te polecenia aplikacja:

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    

  2. 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

  1. Na stronie głównej projektu kliknij Skonfiguruj.
  2. 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.

  3. 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: