Mit Continuous-Integration-Systemen (CI) testen

Sie können Firebase Test Lab bei der Entwicklung Ihrer App mit jedem CI-System (Continuous Integration) verwenden. Mit Continuous-Integration-Systemen können Sie Ihre App jedes Mal automatisch erstellen und testen, wenn Sie Updates für den Quellcode Ihrer App einchecken.

Firebase Test Lab mit Jenkins CI verwenden

In diesem Abschnitt wird beschrieben, wie Sie Test Lab mit Jenkins CI verwenden.

Voraussetzungen

Bevor Sie Firebase Test Lab mit Jenkins verwenden können, müssen Sie die folgenden Schritte ausführen:

  1. Richten Sie gcloud ein. Folgen Sie der Anleitung unter Firebase Test Lab über die gcloud-Befehlszeile verwenden, um ein Firebase-Projekt zu erstellen und Ihre lokale Google Cloud SDK-Umgebung zu konfigurieren.

  2. Erstellen und autorisieren Sie ein Dienstkonto. Dienstkonten unterliegen keinen Spamprüfungen oder Captcha-Aufforderungen, die Ihre CI-Builds andernfalls blockieren könnten. Erstellen Sie in der Google Cloud-Konsole ein Dienstkonto mit der Rolle Bearbeiter und aktivieren Sie es dann. Weitere Informationen finden Sie in der Dokumentation zu gcloud auth activate-service-account.

  3. Aktivieren Sie die erforderlichen APIs. Nach der Anmeldung mit dem Dienstkonto: Aktivieren Sie auf der Seite „API-Bibliothek“ der Google Developers Console die Google Cloud Testing API und die Cloud Tool Results API. Wenn Sie diese APIs aktivieren möchten, geben Sie die API-Namen in das Suchfeld oben in der Console ein und klicken Sie dann auf der Übersichtsseite der jeweiligen API auf API aktivieren.

Jenkins installieren und einrichten

Sie können Jenkins CI unter Linux oder Windows installieren und einrichten. Bestimmte Details in diesem Leitfaden beziehen sich speziell auf die Installation und Ausführung von Jenkins CI unter Linux, einschließlich der Verwendung von Schrägstriche (/) in Dateipfaden.

Folgen Sie der Anleitung unter Jenkins installieren, um Jenkins auf einem Computer unter Linux oder Windows herunterzuladen und zu installieren. Folgen Sie nach der Installation von Jenkins der Anleitung unter Jenkins starten und aufrufen, um die Einrichtung abzuschließen und auf das Jenkins-Dashboard zuzugreifen.

Globale Sicherheitseinstellungen konfigurieren

Bei der Erstinstallation von Jenkins sind die Nutzerauthentifizierung und die Zugriffssteuerung nicht konfiguriert. Konfigurieren Sie vor der Verwendung von Jenkins mit Firebase Test Lab globale Sicherheitseinstellungen, um die Zugriffssteuerung zu erzwingen und Nutzer zu authentifizieren.

Globale Sicherheitseinstellungen konfigurieren

  1. Rufen Sie auf Ihrem Server das Jenkins-Dashboard auf. Rufen Sie dazu http://<servername>:8080 auf, wobei <servername> der Name des Computers ist, auf dem Sie Jenkins installiert haben.
  2. Klicken Sie im Jenkins-Dashboard auf Jenkins verwalten und dann auf Globale Sicherheit konfigurieren.
  3. Klicken Sie auf der Seite Globale Sicherheit konfigurieren auf Sicherheit aktivieren und dann auf Speichern.

Weitere Informationen zum Konfigurieren von Sicherheitseinstellungen für Jenkins finden Sie unter Schnelle und einfache Sicherheit, Einrichtung der Standardsicherheit und Jenkins sichern.

Jenkins-Projekt erstellen

Erstellen Sie als Nächstes ein Projekt, um mit Firebase Test Lab kontinuierliche Integrationstests für Ihre App auszuführen.

So erstellen Sie ein Jenkins-Projekt:

  1. Rufen Sie auf Ihrem Server das Jenkins-Dashboard auf. Rufen Sie dazu http://<servername>:8080 auf, wobei <servername> der Name des Computers ist, auf dem Sie Jenkins installiert haben.
  2. Klicken Sie im Jenkins-Dashboard auf Neues Element.
  3. Geben Sie in das Feld Elementname einen Namen für Ihr Projekt ein:
    • Wählen Sie Freestyle-Projekt aus, um ein Projekt mit einer einzelnen Buildkonfiguration zu erstellen.
    • Wählen Sie Projekt mit mehreren Konfigurationen erstellen aus, um ein Projekt zu erstellen, das in mehreren verschiedenen Build-Konfigurationen ausgeführt wird. Wenn Sie Ihre App mit einer Vielzahl von Build-Konfigurationen (z. B. mehreren Sprachen oder Android-API-Ebenen) erstellen möchten, ist ein Projekt mit mehreren Konfigurationen die beste Wahl.
  4. Klicken Sie auf Speichern.

Nachdem das Projekt erstellt wurde, wird in Ihrem Webbrowser die Hauptseite des Projekts angezeigt.

Versionskontrolle und Gradle-Buildschritte hinzufügen

In diesem Abschnitt wird beschrieben, wie Sie Jenkins in Versionskontrollsysteme wie GitHub einbinden und Gradle-Buildschritte hinzufügen, um APK-Pakete aus dem Quellcode zu erstellen.

Einbindung in GitHub und andere Versionskontrollsysteme

Wenn Sie GitHub oder ein anderes Versionskontrollsystem zur Verwaltung des Quellcodes Ihrer Anwendung verwenden, können Sie Jenkins so konfigurieren, dass automatisch Builds und jedes Mal Tests ausgeführt werden, wenn Aktualisierungen an Ihrer Anwendung eingecheckt werden. Sie können Jenkins auch so konfigurieren, dass Builds regelmäßig ausgeführt werden.

Weitere Informationen zum Konfigurieren von Builds in Jenkins finden Sie unter Automatische Builds konfigurieren.

Gradle-Buildschritte zum Neuaufbau von APK-Paketen hinzufügen

Wenn Sie zum Verwalten des Quellcodes Ihrer App ein Versionskontrollsystem verwenden, müssen Sie einen Gradle-Buildschritt einfügen, um jedes Mal, wenn Jenkins Quellcode aus Ihrem Versionskontrollsystem herunterlädt, neue APK-Binärdateien zu erstellen.

  1. Fügen Sie einen Buildschritt hinzu, um die folgenden Befehle im Hauptverzeichnis Ihrer Anwendung auszuführen:

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

  2. Fügen Sie einen Build-Schritt hinzu, um die von Gradle erstellten APK-Pakete beim Testen mit Test Lab zu verwenden. Sie können diesen Pfad im Shell-Skriptbeispiel unten als <local_server_path> verwenden, wobei <AppFolder> der Android Studio-Projektordner für Ihre Anwendung ist:

    <AppFolder>/app/build/outputs/apk
    

Test Lab Buildschritte zu Jenkins hinzufügen

Jetzt können Sie Jenkins einen Buildschritt hinzufügen, um Test Lab mit der gcloud-Befehlszeile auszuführen.

So fügen Sie einen gcloud-Buildschritt hinzu:

  1. Klicken Sie auf der Hauptseite Ihres Projekts auf Konfigurieren.
  2. Scrollen Sie auf der Seite Projektkonfiguration nach unten zum Abschnitt Build und wählen Sie im Menü Build-Schritt hinzufügen die Option Shell ausführen aus.

  3. Geben Sie im Fenster Jenkins Execute shell command (Jenkins-Befehl zum Ausführen von Shell-Befehlen) Folgendes ein. Ersetzen Sie dabei <local_server_path> durch den Pfad zur Beispielanwendung auf dem Server, <app_apk> durch die APK Ihrer App und <app_test_apk> durch die Test-APK Ihrer App:

    gcloud firebase test android run --app <local_server_path>/<app_apk>.apk
    --test <local_server_path>/<app_test_apk>.apk
    

Testergebnisse analysieren

Nachdem Test Lab den Test Ihrer Anwendung abgeschlossen hat, können Sie die Testergebnisse in der Firebase-Konsole oder in einem Google Cloud Storage-Bucket in Ihrem Projekt prüfen. Sie können dem oben gezeigten Shell-Befehl auch den Befehl gsutil hinzufügen, um die Testergebnisse auf Ihren lokalen Computer zu kopieren. Weitere Informationen finden Sie unter Firebase Test Lab-Ergebnisse analysieren.

Continuous Integration mit anderen CI-Systemen

Weitere Informationen zur Verwendung von Firebase Test Lab mit anderen CI-Systemen finden Sie in den jeweiligen Dokumenten: