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

Do tworzenia aplikacji przy użyciu dowolnego trybu ciągłego możesz użyć dodatku Firebase Test Lab (CI). Systemy ciągłej integracji pozwalają automatycznie kompilować i testować aplikację przy każdym sprawdzaniu aktualizacji jej kodu źródłowego.

Używanie usługi Firebase Test Lab z Jenkinsem CI

Z tej sekcji dowiesz się, jak używać atrybutu Test Lab z Jenkins CI.

Wymagania

Aby używać usługi Firebase Test Lab razem z Jenkinsem, musisz wykonać następujące kroki:

  1. Skonfiguruj gcloud. Postępuj zgodnie z instrukcjami podanymi na stronie Używanie Firebase Test Lab z wiersza poleceń gcloud aby utworzyć projekt Firebase i skonfigurować lokalny pakiet SDK Google Cloud dla środowiska.

  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 Konsola Google Cloud i aktywuj je (zobacz dokumentację gcloud authactivate-service-account ).

  3. Włącz wymagane interfejsy API. Po zalogowaniu się przy użyciu konta usługi: w sekcji stronę z biblioteką interfejsów API w Google Developers Console, włączyć interfejsy Google Cloud Testing API i Cloud Tool Results API; Do włącz te interfejsy API, wpisz te nazwy w polu wyszukiwania u góry w konsoli, a następnie kliknij Włącz API na stronie przeglądu tego interfejsu API.

Instalowanie i konfigurowanie Jenkinsa

Jenkins CI możesz zainstalować i skonfigurować w systemie Linux lub Windows. Pewne szczegóły dotyczące ten przewodnik dotyczy instalowania i uruchamiania Jenkins CI w systemie Linux, w tym ukośników (/) w ścieżkach plików.

Aby pobrać i zainstalować Jenkinsa na komputerze z systemem Linux lub Windows, wykonaj te czynności: zapoznaj się z instrukcjami dotyczącymi instalowania Jenkinsa. Po instalując Jenkinsa, postępuj zgodnie z instrukcjami Uruchamianie i uzyskiwanie dostępu do Jenkinsa aby dokończyć konfigurację i uzyskać dostęp do panelu Jenkins.

Konfigurowanie globalnych ustawień zabezpieczeń

Jenkins nie ma skonfigurowanych uwierzytelniania użytkowników i kontroli dostępu, gdy jest pierwsza instalowana. Zanim zaczniesz używać usługi Jenkins z usługą Firebase Test Lab, skonfiguruj globalne ustawienia zabezpieczeń w celu wymuszania kontroli dostępu i uwierzytelniania użytkowników.

Aby skonfigurować globalne ustawienia 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 Manage Jenkins (Zarządzaj Jenkinsem), a następnie kliknij 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 elementu:
    • Wybierz Projekt Freestyle, aby utworzyć projekt wykorzystujący jedną kompilację. konfiguracji.
    • Wybierz Utwórz projekt z wieloma konfiguracjami, aby utworzyć projekt, który działa w wielu różnych konfiguracjach kompilacji. Jeśli planujesz tworzyć z aplikacją o różnych konfiguracjach kompilacji (wiele języków, wielu poziomów interfejsu API Androida itp.), projekt z wieloma konfiguracjami jest najlepszy wybór.
  4. Kliknij Zapisz.

Po utworzeniu projektu w przeglądarce wyświetli się strona główna Twojego projektu w projektach AI.

Dodaj kontrolę wersji i kroki 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 używasz GitHuba lub innego systemu kontroli wersji dla Twojej aplikacji możesz skonfigurować Jenkinsa tak, aby uruchamiać automatyczne kompilacje i testować przy każdym zameldowaniu aktualizacji 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 skompilowania 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 używać pakietów APK utworzonych przez Gradle podczas testowania dzięki Test Lab. 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ć krok kompilacji do Jenkinsa, aby uruchamiać Test Lab przy użyciu z wiersza poleceń gcloud.

Dodawanie kroku kompilacji za pomocą gcloud

  1. Na stronie głównej projektu kliknij Skonfiguruj.
  2. Na stronie Konfiguracja projektu przewiń w dół do sekcji Tworzenie. a następnie z menu Dodaj krok kompilacji wybierz Wykonaj powłokę.

  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

Możesz ją sprawdzić, gdy Test Lab zakończy testowanie aplikacji w konsoli Firebase lub w Google Cloud Storage zasobnik w do swojego projektu. Możesz też dodać gsutil w powyższego polecenia powłoki, aby skopiować dane wyników testu na komputer lokalny. Więcej informacji: Analizuję wyniki w kategorii 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 artykułami na temat jego dokumenty: