Firebase is back at Google I/O on May 10! Register now

Commencez à tester avec des systèmes d'intégration continue (CI)

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Vous pouvez utiliser Firebase Test Lab lors du développement de votre application à l'aide de n'importe quel système d'intégration continue (CI). Les systèmes d'intégration continue vous permettent de créer et de tester automatiquement votre application chaque fois que vous enregistrez des mises à jour du code source de votre application.

Utiliser Firebase Test Lab avec Jenkins CI

Cette section décrit comment utiliser Test Lab avec Jenkins CI .

Exigences

Avant de pouvoir utiliser Firebase Test Lab avec Jenkins, vous devez effectuer les étapes suivantes :

  1. Configurez gcloud. Suivez les instructions de Utilisation de Firebase Test Lab à partir de la ligne de commande gcloud pour créer un projet Firebase et configurer votre environnement local du SDK Google Cloud.

  2. Créez et autorisez un compte de service. Les comptes de service ne sont pas soumis aux vérifications anti-spam ou aux invites captcha, qui pourraient autrement bloquer vos builds CI. Créez un compte de service avec un rôle d'éditeur dans Google Cloud Console , puis activez-le (consultez la documentation gcloud auth activate-service-account pour savoir comment procéder).

  3. Activez les API requises. Après vous être connecté à l'aide du compte de service : sur la page de la bibliothèque d'API de la Google Developers Console , activez l' API Google Cloud Testing et l'API Cloud Tool Results . Pour activer ces API, saisissez ces noms d'API dans la zone de recherche en haut de la console, puis cliquez sur Activer l'API sur la page de présentation de cette API.

Installer et configurer Jenkins

Vous pouvez installer et configurer Jenkins CI sous Linux ou Windows. Certains détails de ce guide sont spécifiques à l'installation et à l'exécution de Jenkins CI sous Linux, notamment l'utilisation de barres obliques ( / ) dans les chemins de fichiers.

Pour télécharger et installer Jenkins sur un ordinateur exécutant Linux ou Windows, suivez les instructions sur Installer Jenkins . Après avoir installé Jenkins, suivez les instructions sur Démarrage et accès à Jenkins pour terminer la configuration et accéder au tableau de bord Jenkins.

Configurer les paramètres de sécurité globaux

Jenkins n'a pas configuré l'authentification des utilisateurs et le contrôle d'accès lors de sa première installation. Avant d'utiliser Jenkins avec Firebase Test Lab, configurez les paramètres de sécurité globaux pour appliquer le contrôle d'accès et authentifier les utilisateurs.

Pour configurer les paramètres de sécurité globaux

  1. Accédez au tableau de bord Jenkins sur votre serveur. Pour ce faire, accédez à http://<servername>:8080 , où <servername> est le nom de l'ordinateur sur lequel vous avez installé Jenkins.
  2. Sur le tableau de bord Jenkins, cliquez sur Gérer Jenkins , puis cliquez sur Configurer la sécurité globale .
  3. Sur la page Configurer la sécurité globale , cliquez sur Activer la sécurité , puis cliquez sur Enregistrer .

Pour plus d'informations sur la configuration des paramètres de sécurité pour Jenkins, consultez Quick and Simple Security , Standard Security Setup et Securing Jenkins .

Créer un projet Jenkins

Ensuite, créez un projet pour exécuter des tests d'intégration continue de votre application avec Firebase Test Lab.

Pour créer un projet Jenkins

  1. Accédez au tableau de bord Jenkins sur votre serveur. Pour ce faire, accédez à http://<servername>:8080 , où <servername> est le nom de l'ordinateur sur lequel vous avez installé Jenkins.
  2. Dans le tableau de bord Jenkins, cliquez sur Nouvel élément .
  3. Saisissez un nom pour votre projet dans le champ Nom de l'élément :
    • Choisissez Projet Freestyle pour créer un projet qui utilise une configuration de construction unique.
    • Choisissez Build multi-configuration project pour créer un projet qui s'exécute sur plusieurs configurations de build différentes. Si vous envisagez de créer votre application avec une variété de configurations de construction (plusieurs paramètres régionaux, plusieurs niveaux d'API Android, etc.), un projet multi-configuration est le meilleur choix.
  4. Cliquez sur Enregistrer .

Une fois votre projet créé, votre navigateur Web affiche la page principale de votre projet.

Ajouter un contrôle de révision et des étapes de construction Gradle

Cette section décrit comment intégrer Jenkins à des systèmes de contrôle de révision tels que GitHub et comment ajouter des étapes de génération Gradle pour créer des packages APK à partir du code source.

Intégration avec GitHub et d'autres systèmes de contrôle de révision

Si vous utilisez GitHub ou un autre système de contrôle de révision pour gérer le code source de votre application, vous pouvez configurer Jenkins pour exécuter des builds automatisés et exécuter des tests chaque fois que des mises à jour de votre application sont archivées. Vous pouvez également configurer Jenkins pour exécuter des builds périodiquement.

Pour en savoir plus sur la configuration des builds dans Jenkins, consultez Configuration des builds automatiques .

Ajout d'étapes de construction Gradle pour reconstruire les packages APK

Si vous utilisez un système de contrôle de révision pour gérer le code source de votre application, vous devez inclure une étape de génération Gradle pour créer de nouveaux fichiers binaires APK chaque fois que Jenkins télécharge le code source à partir de votre système de contrôle de révision.

  1. Ajoutez une étape de génération pour exécuter les commandes suivantes dans le répertoire principal de votre application :

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

  2. Ajoutez une étape de génération pour utiliser le ou les packages APK créés par Gradle lors des tests avec Test Lab. Vous pouvez utiliser ce chemin comme <local_server_path> dans l'exemple de script shell fourni ci-dessous, où <AppFolder> est le dossier du projet Android Studio pour votre application :

    <AppFolder>/app/build/outputs/apk
    

Ajouter des étapes de construction de Test Lab à Jenkins

Vous êtes maintenant prêt à ajouter une étape de compilation à Jenkins pour exécuter Test Lab à l'aide de la ligne de commande gcloud.

Pour ajouter une étape de compilation gcloud

  1. Dans la page principale de votre projet, cliquez sur Configurer .
  2. Sur la page de configuration du projet , faites défiler jusqu'à la section Build , puis choisissez Execute shell dans le menu Add build step .

  3. Dans la fenêtre de commande Jenkins Execute shell , entrez ce qui suit, en remplaçant <local_server_path> par le chemin d'accès à l'exemple d'application sur le serveur, <app_apk> pour l'APK de votre application et <app_test_apk> pour l'APK de test de votre application :

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

Analyser les résultats des tests

Une fois que Test Lab a terminé les tests de votre application, vous pouvez consulter les résultats des tests dans la console Firebase ou dans un bucket Google Cloud Storage de votre projet. Vous pouvez également ajouter une commande gsutil à la commande shell indiquée ci-dessus pour copier les données des résultats du test sur votre ordinateur local. Pour en savoir plus, consultez Analyser les résultats du laboratoire de test Firebase .

Intégration continue avec d'autres systèmes CI

Pour savoir comment utiliser Firebase Test Lab avec d'autres systèmes CI, consultez leur documentation :