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

Laboratorium Firebase może Ci się przydać podczas tworzenia aplikacji w dowolnym systemie ciągłej integracji (CI). Systemy ciągłej integracji pozwalają automatycznie kompilować i testować aplikację za każdym razem, gdy sprawdzasz aktualizacje kodu źródłowego aplikacji.

Używanie Laboratorium Firebase z Jenkins CI

Z tej sekcji dowiesz się, jak korzystać z Laboratorium w Jenkins CI.

Wymagania

Aby korzystać z Laboratorium Firebase razem z Jenkinsem, musisz wykonać te czynności:

  1. Skonfiguruj gcloud. Wykonaj instrukcje z sekcji Korzystanie z Laboratorium Firebase z poziomu wiersza poleceń gcloud, by utworzyć projekt Firebase i skonfigurować lokalne środowisko Google Cloud SDK.

  2. Utwórz i autoryzuj konto usługi. Konta usługi nie są poddawane kontroli spamu ani promptom captcha, które w przeciwnym razie mogłyby zablokować kompilacje CI. Utwórz konto usługi z rolą Edytujący w konsoli Google Cloud, a następnie aktywuj je (aby dowiedzieć się, jak to zrobić, zapoznaj się z dokumentacją gcloud authactivate-service-account).

  3. Włącz wymagane interfejsy API. Po zalogowaniu się przy użyciu konta usługi na stronie Biblioteka interfejsów API Google Developers Console włącz interfejsy 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 Włącz interfejs API na stronie z informacjami o nim.

Instalowanie i konfigurowanie Jenkinsa

Jenkins CI możesz zainstalować i skonfigurować w systemie Linux lub Windows. Niektóre informacje 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 instalowania Jenkinsa. Po zainstalowaniu Jenkinsa postępuj zgodnie z instrukcjami uruchamiania Jenkinsa i uzyskiwania do niego dostępu, aby dokończyć konfigurację i uzyskać dostęp do panelu Jenkins.

Konfigurowanie globalnych ustawień zabezpieczeń

Przy pierwszej instalacji Jenkins nie ma skonfigurowanych uwierzytelniania użytkowników ani kontroli dostępu. Przed użyciem usługi Jenkins w Laboratorium Firebase skonfiguruj globalne ustawienia zabezpieczeń, aby wymusić kontrolę dostępu i uwierzytelnianie użytkowników.

Aby skonfigurować globalne ustawienia zabezpieczeń:

  1. Otwórz panel Jenkins na serwerze. W tym celu otwórz http://<nazwa_serwera>:8080, gdzie <nazwa_serwera> to nazwa komputera, na którym zainstalowano Jenkinsa.
  2. W panelu Jenkins kliknij Manage Jenkins (Zarządzaj aplikacją Jenkins), a następnie kliknij Skonfiguruj zabezpieczenia globalne.
  3. Na stronie Skonfiguruj zabezpieczenia globalne kliknij Włącz zabezpieczenia, a następnie kliknij Zapisz.

Więcej informacji o konfigurowaniu ustawień zabezpieczeń Jenkinsa znajdziesz w artykułach Szybkie i proste zabezpieczenia, Standardowa konfiguracja zabezpieczeń oraz Zabezpieczanie Jenkinsa.

Tworzenie projektu Jenkinsa

Następnie utwórz projekt do testowania aplikacji w trybie ciągłej integracji z Laboratorium Firebase.

Tworzenie projektu Jenkinsa

  1. Otwórz panel Jenkins na serwerze. W tym celu otwórz http://<nazwa_serwera>:8080, gdzie <nazwa_serwera> to nazwa komputera, na którym zainstalowano Jenkinsa.
  2. W panelu Jenkins kliknij New Item (Nowy element).
  3. W polu Nazwa elementu wpisz nazwę projektu:
    • Wybierz Projekt Freestyle, aby utworzyć projekt wykorzystujący jedną konfigurację kompilacji.
    • Wybierz Utwórz projekt z wieloma konfiguracjami, aby utworzyć projekt, który działa w wielu różnych konfiguracjach kompilacji. Jeśli planujesz utworzyć aplikację z różnymi konfiguracjami kompilacji (wiele języków, kilka poziomów interfejsu Android API itp.), najlepszym wyborem będzie projekt z wieloma konfiguracjami.
  4. Kliknij Zapisz.

Po utworzeniu projektu w przeglądarce internetowej wyświetli się jego strona główna.

Dodaj kontrolę wersji i kroki kompilacji Gradle

W tej sekcji opisujemy, jak zintegrować Jenkinsa z systemami kontroli wersji, takimi jak GitHub, i jak dodawać 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 swojej aplikacji używasz GitHuba lub innego systemu kontroli wersji, możesz skonfigurować Jenkinsa tak, aby uruchamiał automatyczne kompilacje i przeprowadzał testy przy każdej aktualizacji aplikacji. Możesz też skonfigurować Jenkinsa tak, aby okresowo uruchamiał kompilacje.

Więcej informacji o konfigurowaniu kompilacji w Jenkinsie znajdziesz w sekcji Konfigurowanie kompilacji automatycznych.

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

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

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

  2. Dodaj krok kompilacji, aby używać pakietów APK utworzonych przez Gradle podczas testowania w Laboratorium. Możesz użyć tej ścieżki jako <ścieżka_lokalnego_serwera> w podanym poniżej przykładzie skryptu powłoki, gdzie <AppFolder> to folder projektu Android Studio Twojej aplikacji:

    <AppFolder>/app/build/outputs/apk
    

Dodawanie kroków kompilacji Test Lab do Jenkinsa

Teraz możesz dodać krok kompilacji do Jenkinsa, aby uruchomić Laboratorium przy użyciu 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 następnie w menu Dodaj krok kompilacji wybierz Wykonaj powłokę.

  3. W oknie Jenkins Execute shell Command wpisz ten kod, zastępując <local_server_path> ścieżką do przykładowej aplikacji na serwerze, <app_apk> dla pakietu APK Twojej aplikacji i <app_test_apk> dla testowego pakietu APK 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 Laboratorium zakończy testowanie aplikacji, możesz wyświetlić ich wyniki w konsoli Firebase lub w zasobniku Google Cloud Storage w projekcie. Możesz też dodać polecenie gsutil do widocznego powyżej polecenia powłoki, aby skopiować dane wyników testu na komputer lokalny. Więcej informacji znajdziesz w artykule Analizowanie wyników Laboratorium Firebase.

Tryb ciągłej integracji z innymi systemami CI

Aby dowiedzieć się, jak używać Laboratorium Firebase z innymi systemami CI, zapoznaj się z ich dokumentacją: