Vous pouvez utiliser Firebase Test Lab lorsque vous développez votre application à l'aide d'un 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 suivre les étapes ci-dessous :
Configurer 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 local Google Cloud SDK.
Créer et autoriser un compte de service. Les comptes de service ne sont pas soumis aux vérifications de spam ni aux invites de captcha, qui pourraient bloquer vos builds d'intégration continue. Créez un compte de service avec le rôle Éditeur dans la Google Cloud console , puis activez-le (pour savoir comment procéder, consultez la documentation gcloud auth activate-service-account ).
Activer les API requises. Après vous être connecté à l'aide du compte de service, accédez à la page de la bibliothèque d'API de la console pour les développeurs Google, puis activez l'API Google Cloud Testing et l'API Cloud Tool Results. Pour activer ces API, saisissez leurs noms dans le champ de recherche situé en haut de la console, puis cliquez sur Activer l'API dans la page de présentation 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 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 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
Jenkins ne dispose pas d'authentification utilisateur ni de contrôle des accès configuré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 des accès et authentifier les utilisateurs.
Pour configurer les paramètres de sécurité globaux
- Accédez au tableau de bord Jenkins sur votre serveur. Pour ce faire, accédez à http://<servername>:8080, où <servername> correspond au nom de l'ordinateur sur lequel vous avez installé Jenkins.
- Dans le tableau de bord Jenkins, cliquez sur Manage Jenkins (Gérer Jenkins), puis sur Configure Global Security (Configurer la sécurité globale).
- Sur la page Configure Global Security (Configurer la sécurité globale), cliquez sur Enable security (Activer la sécurité), et puis sur Save (Enregistrer).
Pour en savoir plus sur la configuration des paramètres de sécurité pour Jenkins, consultez les sections Quick and Simple Security (Sécurité rapide et simple), Standard Security Setup (Configuration de sécurité standard) et Securing Jenkins (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.
Pour créer un projet Jenkins
- Accédez au tableau de bord Jenkins sur votre serveur. Pour ce faire, accédez à http://<servername>:8080, où <servername> correspond au nom de l'ordinateur sur lequel vous avez installé Jenkins.
- Dans le tableau de bord Jenkins, cliquez sur New Item (Nouvel élément).
- Saisissez un nom pour votre projet dans le champ Item name (Nom de l'élément) :
- Sélectionnez Freestyle project (Projet libre) pour créer un projet qui utilise une seule configuration de build.
- Sélectionnez Build multi-configuration project (Compiler un projet multiconfiguration) pour créer un projet qui s'exécute sur plusieurs configurations de build différentes. Si vous prévoyez de compiler votre application avec différentes configurations de build (plusieurs paramètres régionaux, plusieurs niveaux d'API Android, etc.), un projet multiconfiguration est le meilleur choix.
- Cliquez sur Save (Enregistrer).
Une fois votre projet créé, votre navigateur Web affiche la page principale de votre projet.
Ajouter des étapes de contrôle des révisions et de compilation Gradle
Cette section explique comment intégrer Jenkins aux systèmes de contrôle des révisions tels que GitHub, et comment ajouter des étapes de compilation Gradle pour compiler 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 révisions pour gérer le code source de votre application, vous pouvez configurer Jenkins pour qu'il exécute des builds automatisés et des tests chaque fois que des mises à jour de votre application sont enregistrées. Vous pouvez également configurer Jenkins pour qu'il exécute des builds périodiquement.
Pour savoir comment configurer des builds dans Jenkins, consultez la section Configurer des builds automatiques.
Ajouter des étapes de compilation Gradle pour reconstruire 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 fichiers binaires APK chaque fois que Jenkins télécharge le code source à partir de votre système de contrôle des révisions.
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
Ajoutez une étape de compilation pour utiliser 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> correspond au 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
- Sur la page principale de votre projet, cliquez sur Configure (Configurer).
Sur la page project configuration (configuration du projet), faites défiler la page jusqu'à la section Build (Compiler), puis sélectionnez Execute shell (Exécuter le shell) dans le menu Add build step (Ajouter une étape de compilation).
Dans la fenêtre Jenkins Execute shell command (Commande d'exécution du shell Jenkins), saisissez les éléments suivants en remplaçant <local_server_path> par le chemin d'accès à l'exemple d'application 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 Firebase console ou dans un
Google Cloud Storage bucket dans
votre projet. Vous pouvez également ajouter une
gsutil commande à la
commande shell présentée ci-dessus pour copier les données des résultats des tests sur votre ordinateur local.
Pour en savoir plus, consultez la section
Analyser les résultats.Firebase Test Lab
Intégration continue avec d'autres systèmes d'intégration continue
Pour savoir comment utiliser Firebase Test Lab avec d'autres systèmes d'intégration continue, consultez leur documentation :