Ce document présente les meilleures pratiques d'utilisation de Firebase App Distribution et Fastlane pour rendre les flux de travail de test de pré-version de votre plate-forme Apple durables et reproductibles dans un environnement CI/CD. Bien que ce document se concentre sur Fastlane, nous décrivons également les solutions disponibles via la console Firebase, la CLI Firebase et l'API publique Firebase App Distribution pour vous offrir plus de flexibilité. Nous décrivons également les limites de version et de testeur afin que vous puissiez planifier à l'avance pour une expérience optimale.
Si vous utilisez également Android, consultez Meilleures pratiques pour distribuer des applications Android aux testeurs QA à l'aide de CI/CD .
Avant que tu commences
Avant de mettre en œuvre les bonnes pratiques décrites dans ce document, veillez à activer la distribution d'applications dans la console Firebase pour chaque application . Si vous n'avez pas activé la distribution d'applications, vous obtiendrez une erreur 404.
Pour activer la distribution d'applications, procédez comme suit :
Ouvrez la page de distribution d'applications dans la console Firebase.
Sélectionnez votre application iOS.
Cliquez sur Commencer .
Automatisez votre flux de travail de test de pré-version à l'aide de CI/CD
Si vous souhaitez automatiser la création et la publication d'applications pour vos testeurs et que vous utilisez CI/CD, nous vous recommandons d'utiliser fastlane . Une autre option consiste à utiliser la CLI Firebase, qui vous permet d'accéder à un large éventail de produits Firebase.
Utiliser la voie rapide
Intégrez App Distribution dans votre pipeline CI/CD à l'aide de Fastlane, un outil open source qui automatise la création et la publication d'applications iOS et Android. En créant et en distribuant automatiquement vos dernières versions aux testeurs, vous vous assurez que les testeurs disposent toujours de la version de test la plus récente de votre application.
Pour savoir comment intégrer la distribution d'applications à Fastlane, consultez Distribuer des applications iOS aux testeurs à l'aide de Fastlane . Consultez également un atelier de programmation qui vous guide tout au long du processus d'intégration fastlane.
Utiliser l'interface de ligne de commande Firebase
Utilisez les outils Firebase CLI fournis par App Distribution pour distribuer les builds aux testeurs par programmation. Vous pouvez spécifier des testeurs et des notes de publication pour une version.
Distribuez votre dernière build iOS test.ipa
en spécifiant l'ID d'application Firebase de l'application, en ajoutant éventuellement une note de version et un fichier contenant les e-mails des testeurs :
firebase appdistribution:distribute test.ipa \ --app 1:1234567890:ios:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txt
Pour en savoir plus sur l'utilisation de la CLI Firebase pour automatiser vos builds, consultez Distribuer des applications iOS aux testeurs à l'aide de la CLI Firebase .
Utiliser les informations d'identification du service pour s'authentifier
Utilisez le plug-in App Distribution Fastlane ou la CLI Firebase avec des comptes de service, qui tirent parti des informations d'identification par défaut de l'application et vous aident à gérer votre CI. Un compte de service est un type de compte Google qui représente les applications plutôt que les utilisateurs. Votre système CI peut utiliser des comptes de service pour exécuter vos charges de travail de distribution d'applications. Pour en savoir plus, consultez S'authentifier avec un compte de service .
Si vous utilisez la fédération d'identité de charge de travail, vous pouvez générer et utiliser un fichier de configuration d'informations d'identification au lieu d'une clé de compte de service.
Gardez à l'esprit les limites de publication
App Distribution prend en charge un maximum de 1 000 versions par application. Cela signifie que lorsque vous dépassez la limite de version, App Distribution supprime automatiquement les versions les plus anciennes au-dessus de la limite. Pour savoir comment gérer les limites de publication, consultez Combien de temps les versions d'application sont-elles disponibles ?
Ajouter le même ensemble de testeurs à plusieurs versions
Si vous souhaitez ajouter un grand nombre de testeurs à vos versions, utilisez la fonctionnalité de gestion des testeurs en masse d'App Distribution.
Nous vous recommandons d'utiliser des groupes pour ajouter les mêmes testeurs à plusieurs versions. Un groupe agit comme une liste de contrôle d'accès ; lorsque vous supprimez un testeur d'un groupe, il perd l'accès à toutes les versions distribuées à ce groupe. Pour en savoir plus, consultez Ajouter et supprimer des testeurs d'un groupe .
Si vous avez de nombreux testeurs à gérer, vous pouvez ajouter et supprimer des testeurs de manière groupée à l'aide de la console Firebase. Pour automatiser l'ajout et la suppression de testeurs, utilisez l' interface de ligne de commande Firebase , Fastlane ou l' API publique Firebase App Distribution .
Gardez à l'esprit les limites des testeurs
La distribution d'applications limite le nombre de testeurs que vous pouvez ajouter à un projet Firebase ou à un groupe de distribution d'applications. Lorsque vous dépassez ces limites, vous ne pouvez plus distribuer votre application à d'autres testeurs. Pour en savoir plus sur les limites des testeurs, consultez Existe-t-il des limites pour l'ajout de testeurs à mon application ?
Gérez et ajoutez automatiquement de nouveaux appareils de test iOS
Pour vous aider à enregistrer des appareils testeurs iOS supplémentaires, App Distribution vous aide à gérer vos appareils testeurs iOS dans le portail des développeurs Apple en vous informant des nouveaux appareils iOS testeurs par e-mail ou dans des fichiers CSV. Pour en savoir plus, consultez Importer des testeurs à partir de fichiers CSV . Vous pouvez également exporter par programmation de nouveaux appareils à l'aide de fastlane .
Pour savoir comment configurer une action Fastlane qui récupère automatiquement les UDID, les ajoute à la console des développeurs Apple, puis reconstruit l'application et la distribue, consultez Distribuez vos builds iOS préliminaires plus rapidement avec App Distribution et Fastlane .
Permettre aux testeurs potentiels de s'auto-inscrire pour les tests
Pour faciliter la distribution de votre application à davantage de testeurs, nous vous recommandons d'utiliser des liens d'invitation. Un lien d'invitation est une URL unique qui permet aux testeurs d'entrer leurs adresses e-mail pour s'inscrire afin de tester une application. Permettre aux utilisateurs de s'ajouter à votre liste de testeurs d'applications est un moyen transparent d'augmenter votre base de test interne.
Les cas d'utilisation des liens d'invitation incluent les programmes dogfood de l'entreprise, les organisations dotées d'équipes d'assurance qualité importantes et les groupes de développeurs qui souhaitent que les clients individuels puissent contrôler l'accès des testeurs.
Nous vous recommandons de créer un lien d'invitation pour un groupe. Tout testeur qui s'inscrit à l'aide du lien d'invitation est automatiquement ajouté aux versions suivantes.
Pour en savoir plus, consultez Créer des liens d'invitation et Ajouter et supprimer des testeurs d'un groupe .
Assurez-vous que les testeurs testent la version qui vous intéresse
Lorsqu'une nouvelle version est téléchargée, vos testeurs sont avertis par e-mail. Pour compléter cette notification, vous pouvez utiliser les fonctionnalités suivantes (liens de publication et alertes intégrées à l'application) pour vous assurer que vos testeurs testent la version spécifique de l'application qui vous intéresse :
Liens de version : utilisez cette fonctionnalité lorsque vous souhaitez partager une version spécifique avec des testeurs. Pour savoir comment utiliser les liens de publication, consultez Distribuer des applications iOS aux testeurs à l'aide de la console Firebase . Ces liens sont également disponibles avec nos outils de ligne de commande Firebase et fastlane pour une utilisation avec vos outils d'automatisation de la construction.
Alertes intégrées à l'application : utilisez ces alertes lorsque vous souhaitez vous assurer que vos testeurs testent la dernière version de votre application. En intégrant le SDK iOS Firebase App Distribution, vous pouvez afficher des alertes directement dans l'application à vos testeurs lorsque de nouvelles versions de votre application sont disponibles. Pour savoir comment ajouter des alertes dans l'application, consultez Informer les testeurs des nouvelles versions .
Supprimer automatiquement l'accès des testeurs qui quittent l'entreprise
Une fois que votre flux de test interne CI/CD est opérationnel, vous devez vous assurer que les personnes qui quittent l'entreprise n'ont plus accès à vos builds internes. Pour vous aider à gérer l'accès des testeurs aux builds, App Distribution propose les options suivantes :
fastlane : utilisez votre fichier Fastfile ou exécutez directement des actions fastlane. Pour en savoir plus sur l'utilisation de Fastlane pour supprimer des testeurs, consultez Distribuer des applications iOS aux testeurs à l'aide de Fastlane .
API publique de distribution d'applications Firebase : utilisez le point de terminaison
testers.batchRemove
.