Bonnes pratiques pour distribuer des applications Apple aux testeurs de contrôle qualité à l'aide de la CI/CD et de Fastlane

Ce document présente les bonnes pratiques d'utilisation de Firebase App Distribution et de fastlane pour rendre vos workflows de test des versions préliminaires de la 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 Firebase App Distribution publique pour vous offrir plus de flexibilité. Nous décrivons également les limites de versions et de testeurs afin que vous puissiez planifier à l'avance une expérience optimale.

Si vous utilisez également Android, consultez Bonnes pratiques pour distribuer des applications Android aux testeurs d'assurance qualité à l'aide de CI/CD.

Avant de commencer

Avant d'implémenter les bonnes pratiques décrites dans ce document, veillez à activer App Distribution dans la console Firebase pour chaque application. Si vous n'avez pas activé App Distribution, vous obtiendrez une erreur 404.

Pour activer App Distribution, procédez comme suit :

  1. Ouvrez la page App Distribution dans la console Firebase.

  2. Sélectionnez votre application iOS.

  3. Cliquez sur Commencer.

Automatisez votre workflow de tests de version préliminaire à l'aide de l'intégration et du déploiement continus (CI/CD)

Si vous souhaitez automatiser la compilation et la publication d'applications pour vos testeurs et que vous utilisez la CI/CD, nous vous recommandons d'utiliser fastlane. Vous pouvez également utiliser la CLI Firebase, qui vous permet d'accéder à un large éventail de produits Firebase.

Utiliser fastlane

Intégrez App Distribution à votre pipeline CI/CD à l'aide de fastlane, un outil Open Source qui automatise la compilation et la publication d'applications iOS et Android. En compilant et en distribuant automatiquement vos dernières versions aux testeurs, vous vous assurez qu'ils disposent toujours de la version de test la plus récente de votre application.

Pour savoir comment intégrer App Distribution à fastlane, consultez Distribuer des applications iOS à des testeurs à l'aide de fastlane. Consultez également un atelier de programmation qui vous guide tout au long du processus d'intégration de fastlane.

Utiliser la CLI Firebase

Utilisez les outils de la CLI Firebase fournis par App Distribution pour distribuer des builds aux testeurs de manière programmatique. Vous pouvez spécifier des testeurs et des notes de version pour un build.

Distribuez votre dernière version 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 adresses e-mail 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 des identifiants de service pour l'authentification

Utilisez le plug-in fastlane App Distribution ou la CLI Firebase avec des comptes de service, qui exploitent les identifiants 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 des applications et non des utilisateurs. Votre système d'intégration continue peut utiliser des comptes de service pour exécuter vos charges de travail App Distribution. 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 des identifiants au lieu d'une clé de compte de service.

À retenir concernant le nombre maximal de versions autorisé

App Distribution accepte un maximum de 1 000 versions par application. Cela signifie que lorsque vous dépassez la limite de versions, App Distribution supprime automatiquement les versions les plus anciennes au-delà 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 groupée des testeurs de 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 la CLI Firebase, fastlane ou l'API Firebase App Distribution publique.

Gardez à l'esprit les limites de testeurs

App Distribution limite le nombre de testeurs que vous pouvez ajouter à un projet Firebase ou à un groupe App Distribution. Si vous dépassez ces limites, vous ne pourrez pas distribuer votre application à d'autres testeurs. Pour en savoir plus sur les limites de testeurs, consultez Existe-t-il des limites pour l'ajout de testeurs à mon application ?

Gérer et ajouter automatiquement de nouveaux appareils de test iOS

Pour vous aider à enregistrer des appareils iOS de test supplémentaires, App Distribution vous aide à gérer vos appareils iOS de test sur le portail des développeurs Apple en vous informant des nouveaux appareils iOS de test par e-mail ou via des fichiers CSV. Pour en savoir plus, consultez Importer des testeurs à partir de fichiers CSV. Vous pouvez également exporter de nouveaux appareils de manière programmatique à l'aide de fastlane.

Pour savoir comment configurer une action fastlane qui extrait automatiquement les UDID, les ajoute à la console développeur Apple, puis recompile l'application et la distribue, consultez Distribuer plus rapidement vos versions préliminaires iOS avec App Distribution et fastlane.

Permettre aux testeurs potentiels de s'inscrire eux-mêmes aux tests

Pour faciliter la distribution de votre application à un plus grand nombre de testeurs, nous vous recommandons d'utiliser des liens d'invitation. Un lien d'invitation est une URL unique qui permet aux testeurs de saisir leur adresse e-mail pour s'inscrire au test d'une application. Permettre aux utilisateurs de s'ajouter eux-mêmes à votre liste de testeurs d'applications est un moyen simple d'élargir votre base de tests internes.

Les cas d'utilisation des liens d'invitation incluent les programmes de test interne d'entreprise, les organisations disposant 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 ultérieures.

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 importée, vos testeurs en sont informés par e-mail. Pour compléter cette notification, vous pouvez utiliser les fonctionnalités suivantes (liens de version et alertes dans l'application) afin de vous assurer que vos testeurs testent la version de l'application qui vous intéresse :

  • Liens vers des versions : utilisez cette fonctionnalité lorsque vous souhaitez partager une version spécifique avec des testeurs. Pour savoir comment utiliser les liens de version, 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 (CLI) Firebase et fastlane, que vous pouvez utiliser avec vos outils d'automatisation de compilation.

  • Alertes dans 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 pour 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 tests internes 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 :