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 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 le en suivant les étapes ci-dessous:

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

  2. Créez et autorisez un compte de service. Les comptes de service ne sont pas soumis à des vérifications antispam ni à des requêtes de captcha, ce qui pourrait bloquer vos builds de CI. Créez un compte de service doté du rôle Éditeur dans la Console Google Cloud puis activez-la (voir la documentation de gcloud auth activate-service-account pour en savoir plus).

  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. À activer ces API, saisissez le nom de ces API dans le champ de recherche situé 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 est spécifique à 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 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 utilisateur et le contrôle des accès ne sont pas configurés dans Jenkins lors de la première installation. 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 à 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 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 cliquez sur 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 Nom de l'élément: <ph type="x-smartling-placeholder">
      </ph>
    • Choisissez Freestyle project (Projet libre) pour créer un projet qui utilise une seule configuration de compilation.
    • Sélectionnez Build multi-configuration project (Créer un projet multiconfiguration) pour créer un projet qui : s'exécute sur plusieurs configurations de compilation. Si vous prévoyez de créer votre application avec différentes configurations de compilation (plusieurs paramètres régionaux, plusieurs niveaux d'API Android, etc.), un projet avec plusieurs configurations 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 révisions comme GitHub, et comment ajouter des étapes de compilation Gradle aux 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 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 avec via la ligne de commande gcloud.

Pour ajouter une étape de compilation gcloud

  1. Sur la page principale de votre projet, cliquez sur Configurer.
  2. Faites défiler la page Project configuration (Configuration du projet) vers le bas jusqu'à la section Build (Compilation). Sélectionnez Execute shell (Exécuter le shell) dans le menu Add build step (Ajouter une étape de compilation).

  3. Dans la fenêtre Jenkins Execute shell command (Exécuter la commande shell de 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> pour le fichier APK de votre application, et <app_test_apk> pour le fichier 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 gsutil à la commande shell 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 :