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 son 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 :
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 SDK Google Cloud local.
Créez et autorisez un compte de service. Les comptes de service ne sont pas soumis aux vérifications anti-spam ni aux invites captcha, qui pourraient bloquer vos builds CI. Créez un compte de service avec un rôle Éditeur dans la console Google Cloud, puis activez-le (pour savoir comment faire, consultez la documentation sur gcloud auth activate-service-account).
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 console pour les développeurs Google, activez l'API Google Cloud Testing et l'API Cloud Tool Results. Pour activer ces API, saisissez leurs noms dans le champ de recherche en haut de la console, puis cliquez sur Activer l'API sur la page d'aperçu de l'API.
Installer et configurer Jenkins
Vous pouvez installer et configurer Jenkins CI sur Linux ou Windows. Certains détails de ce guide sont spécifiques à l'installation et à l'exécution de Jenkins CI 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 de la page Installing Jenkins (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é généraux
Jenkins ne dispose pas d'authentification utilisateur ni de contrôle d'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.
Configurer les paramètres de sécurité généraux
- 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.
- Sur le tableau de bord Jenkins, cliquez sur Gérer Jenkins, puis sur Configurer la sécurité globale.
- Sur la page Configurer la sécurité globale, cliquez sur Activer la sécurité, puis sur Enregistrer.
Pour en savoir plus 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
- 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.
- Dans le tableau de bord Jenkins, cliquez sur New Item (Nouvel élément).
- Saisissez un nom pour votre projet dans le champ Nom de l'élément :
- Sélectionnez Freestyle project (Projet libre) pour créer un projet qui utilise une seule configuration de compilation.
- Sélectionnez 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.
- Cliquez sur Enregistrer.
Une fois votre projet créé, votre navigateur Web affiche la page principale de votre projet.
Ajouter le contrôle des révisions et les étapes 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 compilations et des tests automatisés chaque fois que des mises à jour de votre application sont enregistrées. Vous pouvez également configurer Jenkins pour qu'il exécute des compilations périodiquement.
Pour savoir comment configurer des compilations dans Jenkins, consultez Configurer des compilations automatiques.
Ajouter des étapes de compilation Gradle pour reconstruire les 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 de nouveaux binaires APK chaque fois que Jenkins télécharge le code source depuis 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> 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.
Ajouter une étape de compilation gcloud
- Sur la page principale de votre projet, cliquez sur Configurer.
Sur la page Configuration du projet, faites défiler la page jusqu'à la section Build (Compilation), 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 (Jenkins, exécuter la commande shell), saisissez les informations suivantes 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 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 d'intégration continue, consultez leur documentation :