In diesem Dokument werden Best Practices für die Verwendung von Firebase App Distribution und Fastlane vorgestellt, um Ihre Test-Workflows vor der Veröffentlichung der Apple-Plattform in einer CI/CD-Umgebung nachhaltig und wiederholbar zu gestalten. Während sich dieses Dokument auf Fastlane konzentriert, beschreiben wir auch Lösungen, die über die Firebase-Konsole, die Firebase-CLI und die öffentliche Firebase-App-Verteilungs-API verfügbar sind, um Ihnen mehr Flexibilität zu bieten. Wir beschreiben auch Release- und Testerlimits, damit Sie im Voraus ein optimales Erlebnis planen können.
Wenn Sie auch Android verwenden, lesen Sie Best Practices für die Verteilung von Android-Apps an QA-Tester mithilfe von CI/CD .
Bevor Sie beginnen
Bevor Sie die Best Practices in diesem Dokument implementieren, stellen Sie sicher, dass Sie die App-Verteilung in der Firebase-Konsole für jede App aktivieren. Wenn Sie die App-Verteilung nicht aktiviert haben, erhalten Sie die Fehlermeldung 404.
Um die App-Verteilung zu aktivieren, führen Sie die folgenden Schritte aus:
Öffnen Sie die Seite „App-Verteilung“ in der Firebase-Konsole.
Wählen Sie Ihre iOS-App aus.
Klicken Sie auf „Erste Schritte“ .
Automatisieren Sie Ihren Testworkflow vor der Veröffentlichung mit CI/CD
Wenn Sie die Erstellung und Freigabe von Apps für Ihre Tester automatisieren möchten und CI/CD verwenden, empfehlen wir die Verwendung von fastlane . Eine weitere Option ist die Verwendung der Firebase-CLI, mit der Sie auf eine Vielzahl von Firebase-Produkten zugreifen können.
Nutzen Sie Fastlane
Integrieren Sie die App-Verteilung in Ihre CI/CD-Pipeline mit fastlane, einem Open-Source-Tool, das die Erstellung und Veröffentlichung von iOS- und Android-Apps automatisiert. Indem Sie Ihre neuesten Versionen automatisch erstellen und an Tester verteilen, stellen Sie sicher, dass Tester immer über die aktuellste Testversion Ihrer App verfügen.
Informationen zur Integration der App-Verteilung mit Fastlane finden Sie unter Verteilen von iOS-Apps an Tester mithilfe von Fastlane . Sehen Sie sich auch ein Codelab an, das Sie durch den Fastlane-Integrationsprozess führt.
Verwenden Sie die Firebase-CLI
Verwenden Sie die von App Distribution bereitgestellten Firebase-CLI-Tools, um Builds programmgesteuert an Tester zu verteilen. Sie können Tester und Versionshinweise für einen Build angeben.
Verteilen Sie Ihren neuesten iOS-Build test.ipa
, indem Sie die Firebase-App-ID der App angeben und optional einen Versionshinweis und eine Datei mit den E-Mails der Tester hinzufügen:
firebase appdistribution:distribute test.ipa \ --app 1:1234567890:ios:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txt
Weitere Informationen zur Verwendung der Firebase-CLI zum Automatisieren Ihrer Builds finden Sie unter Verteilen von iOS-Apps an Tester mithilfe der Firebase-CLI .
Verwenden Sie zur Authentifizierung Dienstanmeldeinformationen
Verwenden Sie das App Distribution- Fastlane-Plugin oder die Firebase-CLI mit Dienstkonten, die die Standardanmeldeinformationen der Anwendung nutzen und Sie bei der Verwaltung Ihres CI unterstützen. Ein Dienstkonto ist eine Art Google-Konto, das Anwendungen und nicht Benutzer repräsentiert. Ihr CI-System kann Dienstkonten verwenden, um Ihre App Distribution-Workloads auszuführen. Weitere Informationen finden Sie unter Authentifizieren mit einem Dienstkonto .
Wenn Sie Workload Identity Federation verwenden, können Sie anstelle eines Dienstkontoschlüssels eine Anmeldeinformationskonfigurationsdatei generieren und verwenden.
Beachten Sie die Release-Limits
App Distribution unterstützt maximal 1.000 Releases pro App. Das heißt, wenn Sie das Release-Limit überschreiten, löscht App Distribution automatisch die ältesten Releases oberhalb des Limits. Informationen zum Verwalten von Release-Limits finden Sie unter Wie lange sind App-Releases verfügbar?
Fügen Sie denselben Testersatz zu mehreren Releases hinzu
Wenn Sie Ihren Releases eine große Anzahl von Testern hinzufügen möchten, nutzen Sie die Massentester-Verwaltungsfunktion von App Distribution.
Wir empfehlen die Verwendung von Gruppen, um dieselben Tester mehreren Releases hinzuzufügen. Eine Gruppe fungiert als Zugriffskontrollliste; Wenn Sie einen Tester aus einer Gruppe entfernen, verliert er den Zugriff auf alle an diese Gruppe verteilten Releases. Weitere Informationen finden Sie unter Hinzufügen und Entfernen von Testern zu einer Gruppe .
Wenn Sie viele Tester verwalten müssen, können Sie über die Firebase-Konsole mehrere Tester in großen Mengen hinzufügen und löschen . Um das Hinzufügen und Entfernen von Testern zu automatisieren, verwenden Sie die Firebase-CLI , fastlane oder die öffentliche Firebase App Distribution API .
Beachten Sie die Grenzwerte für Tester
App Distribution begrenzt die Anzahl der Tester, die Sie einem Firebase-Projekt oder einer App Distribution-Gruppe hinzufügen können. Wenn Sie diese Grenzwerte überschreiten, können Sie Ihre App nicht an weitere Tester verteilen. Weitere Informationen zu Testerlimits finden Sie unter Gibt es Limits für das Hinzufügen von Testern zu meiner App?
Verwalten Sie neue iOS-Testgeräte und fügen Sie diese automatisch hinzu
Um Sie bei der Registrierung zusätzlicher iOS-Testgeräte zu unterstützen, hilft Ihnen App Distribution bei der Verwaltung Ihrer iOS-Testgeräte im Apple Developer Portal, indem es Sie per E-Mail oder CSV-Dateien über neue Tester-iOS-Geräte informiert. Weitere Informationen finden Sie unter Tester aus CSV-Dateien importieren . Sie können neue Geräte auch programmgesteuert mit Fastlane exportieren .
Informationen zum Einrichten einer Fastlane-Aktion, die automatisch UDIDs abruft, sie der Apple-Entwicklerkonsole hinzufügt und dann die App neu erstellt und verteilt, finden Sie unter Schnelleres Verteilen Ihrer iOS-Vorabversionen mit App Distribution und Fastlane .
Ermöglichen Sie potenziellen Testern, sich selbst zum Testen zu registrieren
Um die Verteilung Ihrer App an mehr Tester zu erleichtern, empfehlen wir die Verwendung von Einladungslinks. Ein Einladungslink ist eine eindeutige URL, über die Tester ihre E-Mail-Adressen eingeben können, um sich zum Testen einer App anzumelden. Indem Sie Benutzern ermöglichen, sich selbst zu Ihrer Liste von App-Testern hinzuzufügen, können Sie Ihre interne Testbasis nahtlos erweitern.
Zu den Anwendungsfällen für Einladungslinks gehören firmeneigene Dogfood-Programme, Organisationen mit großen QA-Teams und Entwicklergruppen, die möchten, dass einzelne Kunden den Testerzugriff kontrollieren können.
Wir empfehlen Ihnen, einen Einladungslink für eine Gruppe zu erstellen. Jeder Tester, der sich über den Einladungslink anmeldet, wird automatisch zu nachfolgenden Versionen hinzugefügt.
Weitere Informationen finden Sie unter Einladungslinks erstellen und Tester zu einer Gruppe hinzufügen und daraus entfernen .
Stellen Sie sicher, dass Tester die Version testen, die Ihnen wichtig ist
Wenn eine neue Version hochgeladen wird, werden Ihre Tester per E-Mail benachrichtigt. Ergänzend zu dieser Benachrichtigung können Sie die folgenden Funktionen nutzen – Release-Links und In-App-Benachrichtigungen – um sicherzustellen, dass Ihre Tester die spezifische App-Version testen, die Sie interessiert:
Release-Links: Verwenden Sie diese Funktion, wenn Sie eine bestimmte Version mit Testern teilen möchten. Informationen zur Verwendung von Release-Links finden Sie unter Verteilen von iOS-Apps an Tester mithilfe der Firebase-Konsole . Diese Links sind auch mit unseren Firebase- und Fastlane -Befehlszeilentools (CLI) zur Verwendung mit Ihren Build-Automatisierungstools verfügbar.
In-App-Benachrichtigungen: Verwenden Sie diese Warnungen, wenn Sie sicherstellen möchten, dass Ihre Tester die neueste Version Ihrer App testen. Durch die Integration des Firebase App Distribution iOS SDK können Sie Ihren Testern Benachrichtigungen direkt in der App anzeigen, wenn neue Builds Ihrer App verfügbar sind. Informationen zum Hinzufügen von In-App-Benachrichtigungen finden Sie unter Tester über neue Builds benachrichtigen .
Entfernen Sie automatisch den Zugriff für Tester, die das Unternehmen verlassen
Sobald Ihr interner CI/CD-Testablauf läuft, müssen Sie sicherstellen, dass Personen, die das Unternehmen verlassen, keinen Zugriff mehr auf Ihre internen Builds haben. Um Sie bei der Verwaltung des Testerzugriffs auf Builds zu unterstützen, bietet App Distribution die folgenden Optionen:
Fastlane: Verwenden Sie Ihre Fastfile-Datei oder führen Sie Fastlane-Aktionen direkt aus. Weitere Informationen zur Verwendung von Fastlane zum Entfernen von Testern finden Sie unter Verteilen von iOS-Apps an Tester mithilfe von Fastlane .
Öffentliche Firebase-App-Verteilungs-API : Verwenden Sie den Endpunkt
testers.batchRemove
.