Rozpocznij testowanie z systemami ciągłej integracji (CI).

Możesz skorzystać z Laboratorium testowego Firebase 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 zaewidencjonujesz aktualizacje kodu źródłowego aplikacji.

Korzystanie z laboratorium testowego Firebase z Jenkins CI

W tej sekcji opisano, jak używać Laboratorium testowego z Jenkins CI .

Wymagania

Zanim będziesz mógł używać Firebase Test Lab z Jenkinsem, musisz wykonać następujące kroki:

  1. Skonfiguruj gcloud. Postępuj zgodnie z instrukcjami z rozdziału Korzystanie z laboratorium testowego Firebase z wiersza poleceń gcloud, aby utworzyć projekt Firebase i skonfigurować lokalne środowisko Google Cloud SDK.

  2. Utwórz i autoryzuj konto usługi. Konta usług nie podlegają kontroli spamu ani monitom captcha, które w przeciwnym razie mogłyby blokować kompilacje CI. Utwórz konto usługi z rolą Edytora w konsoli Google Cloud , a następnie je aktywuj (więcej informacji znajdziesz w dokumentacji gcloud auth aktywuj konto usługi ).

  3. Włącz wymagane interfejsy API. Po zalogowaniu się przy użyciu konta usługi: Na stronie Biblioteka 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 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ą instalacji i uruchamiania Jenkins CI w systemie Linux, w tym użycia ukośników ( / ) w ścieżkach plików.

Aby pobrać i zainstalować Jenkins na komputerze z systemem Linux lub Windows, postępuj zgodnie z instrukcjami dotyczącymi instalacji Jenkinsa . Po zainstalowaniu Jenkinsa postępuj zgodnie z instrukcjami dotyczącymi uruchamiania i uzyskiwania dostępu do Jenkinsa , aby dokończyć konfigurację i uzyskać dostęp do pulpitu nawigacyjnego Jenkins.

Skonfiguruj globalne ustawienia zabezpieczeń

Jenkins nie ma skonfigurowanego uwierzytelniania użytkowników i kontroli dostępu podczas pierwszej instalacji. Przed użyciem Jenkinsa w laboratorium testowym Firebase skonfiguruj globalne ustawienia zabezpieczeń, aby wymusić kontrolę dostępu i uwierzytelnianie użytkowników.

Aby skonfigurować globalne ustawienia zabezpieczeń

  1. 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.
  2. Na pulpicie nawigacyjnym Jenkins kliknij Zarządzaj Jenkinsem , a następnie kliknij Konfiguruj zabezpieczenia globalne .
  3. Na stronie Konfiguruj zabezpieczenia globalne kliknij opcję Włącz zabezpieczenia , a następnie kliknij przycisk Zapisz .

Aby uzyskać więcej informacji na temat konfigurowania ustawień zabezpieczeń dla Jenkins, zobacz Szybkie i proste zabezpieczenia , Standardowa konfiguracja zabezpieczeń i Zabezpieczanie Jenkins .

Utwórz projekt Jenkinsa

Następnie utwórz projekt do ciągłego testowania integracji aplikacji za pomocą Firebase Test Lab.

Aby utworzyć projekt Jenkins

  1. 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.
  2. Na pulpicie nawigacyjnym Jenkins kliknij opcję Nowy element .
  3. Wpisz nazwę swojego projektu w polu Nazwa elementu :
    • Wybierz Projekt Freestyle , aby utworzyć projekt korzystający z pojedynczej konfiguracji kompilacji.
    • Wybierz opcję Zbuduj projekt z wieloma konfiguracjami , aby utworzyć projekt działający w wielu różnych konfiguracjach kompilacji. Jeśli planujesz zbudować aplikację z różnymi konfiguracjami kompilacji (wiele ustawień regionalnych, wiele poziomów interfejsu API systemu Android itp.), najlepszym wyborem będzie projekt z wieloma konfiguracjami.
  4. Kliknij Zapisz .

Po utworzeniu projektu Twoja przeglądarka internetowa wyświetli stronę główną Twojego 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 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ł automatyczne kompilacje i testy za każdym razem, gdy sprawdzane są aktualizacje Twojej aplikacji. Możesz także skonfigurować Jenkinsa tak, aby okresowo uruchamiał kompilacje.

Aby dowiedzieć się więcej o konfigurowaniu kompilacji w Jenkins, zobacz Konfigurowanie kompilacji automatycznych .

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 uwzględnić etap kompilacji Gradle, aby utworzyć nowe pliki binarne APK za każdym razem, gdy Jenkins pobiera kod źródłowy z Twojego systemu kontroli wersji.

  1. Dodaj krok kompilacji, aby uruchomić następujące polecenia w głównym katalogu aplikacji:

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

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

    <AppFolder>/app/build/outputs/apk
    

Dodaj kroki kompilacji laboratorium testowego do Jenkins

Teraz możesz dodać etap kompilacji do Jenkinsa, aby uruchomić laboratorium testowe za pomocą wiersza poleceń gcloud.

Aby dodać etap kompilacji gcloud

  1. Na stronie głównej projektu kliknij opcję Konfiguruj .
  2. Na stronie konfiguracji projektu przewiń w dół do sekcji Kompilacja , a następnie wybierz opcję Wykonaj powłokę z menu Dodaj krok kompilacji .

  3. W oknie poleceń powłoki Jenkins Execute wprowadź następujące polecenie, zastępując ścieżkę do przykładowej aplikacji na serwerze < ścieżka_lokalnego_serwera> , plik APK aplikacji <app_apk> i plik APK testowy aplikacji <app_test_apk> :

    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 Laboratorium Testowe 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ą: