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 code de bout en bout. 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 l'intégration continue Jenkins

Cette section explique comment utiliser Test Lab avec Jenkins CI.

Conditions requises

Avant de pouvoir utiliser Firebase Test Lab avec Jenkins, vous devez suivre les étapes ci-dessous :

  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 ou aux requêtes captcha, ce qui pourrait empêcher l'intégration compilations. 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. Certains détails de ce guide sont spécifiques à l'installation et à l'exécution de la CI Jenkins sur 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 ci-dessous : les instructions relatives à l'installation Jenkins Après avoir installé Jenkins, suivez les instructions de la section 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

L'authentification des utilisateurs et le contrôle des accès ne sont pas configurés dans Jenkins est installé pour la première fois. Avant d'utiliser Jenkins avec Firebase Test Lab, configurez des paramètres de sécurité globaux pour appliquer le contrôle des accès et l'authentification 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://<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 Manage Jenkins (Gérer Jenkins), puis sur 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 Sécurité simple et rapide, Configuration de la 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://<nom_du_serveur>:8080, où <nom_du_serveur> 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 projet.

Ajouter un 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 versions

Si vous utilisez GitHub ou un autre système de contrôle des révisions pour gérer le code source pour votre application, vous pouvez configurer Jenkins pour qu'il exécute des builds 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 régulièrement des compilations

Pour en savoir plus sur la configuration des compilations dans Jenkins, consultez Configurer des compilations automatiques

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

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

  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 <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 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é les tests de votre application, vous pouvez examiner le test dans la console Firebase ou dans une Bucket Google Cloud Storage 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 de 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 :