Commencer les tests avec des systèmes d'intégration continue (CI)

Vous pouvez utiliser Firebase Test Lab lorsque vous développez 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 compiler et de tester automatiquement votre application chaque fois que vous vérifiez les mises à jour de votre code source.

Utiliser Firebase Test Lab avec Jenkins CI

Cette section explique comment utiliser Test Lab avec Jenkins CI.

Conditions requises

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

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

  2. Créez et autorisez un compte de service. Les comptes de service ne sont pas soumis aux vérifications de spam ni aux invites captcha, car cela pourrait bloquer vos compilations CI. Créez un compte de service avec le rôle Éditeur dans la console Google Cloud, 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é avec le compte de service, sur la page de la bibliothèque d'API de la console pour les développeurs Google, activez l'API Google Cloud Testing et l'API Cloud Tool Results. Pour activer ces API, saisissez leur nom dans le champ de recherche en haut de la console, puis cliquez sur Enable API (Activer l'API) sur la page d'informations de l'API.

Installer et configurer Jenkins

Vous pouvez installer et configurer Jenkins CI sous Linux ou Windows. Certaines informations de ce guide concernent l'installation et l'exécution de Jenkins CI sous Linux, y compris l'utilisation de barres obliques (/) dans les chemins d'accès aux fichiers.

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

Configurer les paramètres de sécurité globaux

Lors de la première installation de Jenkins, l'authentification des utilisateurs et le contrôle des accès ne sont pas configurés. Avant d'utiliser Jenkins avec Firebase Test Lab, configurez les paramètres de sécurité globaux pour appliquer le contrôle des 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 à la page 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 Manage Jenkins (Gérer Jenkins), puis sur Configure Global Security (Configurer la sécurité globale).
  3. Sur la page Configure Global Security (Configurer la sécurité globale), cliquez sur Enable security (Activer la sécurité), puis sur Save (Enregistrer).

Pour en savoir plus sur la configuration des paramètres de sécurité pour Jenkins, consultez les articles Sécurité rapide et simple, Configuration de sécurité standard et Sécuriser 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.

Créer un projet Jenkins

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

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

Ajouter le contrôle des révisions et des étapes de compilation Gradle

Cette section explique comment intégrer Jenkins à des systèmes de contrôle des versions tels que GitHub, et comment ajouter des étapes de compilation Gradle pour créer des packages APK à partir du code source.

Intégration à GitHub et à d'autres systèmes de contrôle des révisions

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

Pour découvrir comment configurer des compilations dans Jenkins, consultez la section Configurer les compilations automatiques.

Ajouter des étapes de compilation Gradle pour recompiler des packages APK

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

  1. Ajoutez une étape de compilation 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 compilation pour utiliser le ou les packages APK créés par Gradle lors des tests avec Test Lab. Vous pouvez utiliser ce chemin d'accès comme <local_server_path> dans l'exemple de script shell fourni ci-dessous, où <AppFolder> est le dossier de projet Android Studio de votre application :

    <AppFolder>/app/build/outputs/apk
    

Ajouter des étapes de compilation 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. Sur la page principale de votre projet, cliquez sur Configurer.
  2. Sur la page Configuration du projet, faites défiler la page jusqu'à la section Compilation, puis sélectionnez Exécuter le shell dans le menu Ajouter une étape de compilation.

  3. Dans la fenêtre Jenkins Execute shell command (Exécuter la commande shell Jenkins), saisissez la commande suivante, en remplaçant <local_server_path> par le chemin d'accès à l'application exemple sur le serveur, <app_apk> par l'APK de votre application et <app_test_apk> par 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é de tester 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 des tests sur votre ordinateur local. Pour en savoir plus, consultez Analyser les résultats Firebase Test Lab.

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

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