In diesem Dokument werden Best Practices für die Verwendung von Firebase App Distribution und fastlane vorgestellt, mit denen Sie die Vorabtest-Workflows Ihrer Apple-Plattform in einer CI/CD-Umgebung nachhaltig und wiederholbar gestalten können. In diesem Dokument geht es zwar um Schnelligkeit, aber für mehr Flexibilität werden auch Lösungen beschrieben, die über die Firebase Console, die Firebase-Befehlszeile und die öffentliche Firebase App Distribution API verfügbar sind. Außerdem beschreiben wir die Limits für Releases und Tester, damit Sie die Nutzung optimal planen können.
Wenn Sie auch Android verwenden, lesen Sie den Hilfeartikel Best Practices für den Vertrieb von Android-Apps an QA-Tester mithilfe von CI/CD.
Hinweis
Bevor Sie die Best Practices in diesem Dokument implementieren, müssen Sie App Distribution in der Firebase-Konsole für jede App aktivieren. Andernfalls erhalten Sie einen 404-Fehler.App Distribution
So aktivieren Sie App Distribution:
Öffnen Sie in der Firebase-Console die Seite App Distribution.
Wählen Sie Ihre iOS-App aus.
Klicken Sie auf Jetzt starten.
CI/CD-Workflow für Vorabtests automatisieren
Wenn Sie das Erstellen und Bereitstellen von Apps für Ihre Tester automatisieren möchten und CI/CD verwenden, empfehlen wir fastlane. Eine weitere Option ist die Verwendung der Firebase CLI, mit der Sie auf eine Vielzahl von Firebase-Produkten zugreifen können.
Fastlane verwenden
Sie können App Distribution mit Fastlane in Ihre CI/CD-Pipeline einbinden. Fastlane ist ein Open-Source-Tool, mit dem das Erstellen und Veröffentlichen von iOS- und Android-Apps automatisiert wird. Wenn Sie Ihre neuesten Releases automatisch erstellen und an Tester verteilen, haben die Tester immer die aktuellste Testversion Ihrer App.
Informationen zur Integration von App Distribution in fastlane finden Sie unter iOS-Apps mit fastlane an Tester verteilen. Sehen Sie sich auch ein Codelab an, in dem Sie Schritt für Schritt durch den schnellen Integrationsprozess geführt werden.
Firebase CLI verwenden
Verwenden Sie die Firebase-Befehlszeilentools von App Distribution, um Builds programmatisch an Tester zu verteilen. Sie können Tester und Release-Notes für einen Build angeben.
Verteilen Sie den neuesten iOS-Build-test.ipa
. Geben Sie dazu die Firebase App-ID der App an und fügen Sie optional einen Release-Hinweis und eine Datei mit den E-Mail-Adressen der Tester hinzu:
firebase appdistribution:distribute test.ipa \ --app 1:1234567890:ios:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txt
Weitere Informationen zur Automatisierung von Builds mit der Firebase CLI finden Sie unter iOS-Apps mit der Firebase CLI an Tester verteilen.
Dienstanmeldedaten zur Authentifizierung verwenden
Verwenden Sie das Fastlane-Plug-in App Distribution oder die Firebase-Befehlszeile mit Dienstkonten. Diese nutzen Standardanmeldedaten für Anwendungen und erleichtern Ihnen die Verwaltung Ihrer CI. Ein Dienstkonto ist eine Art von Google-Konto, das Anwendungen und nicht Nutzer repräsentiert. Ihr CI-System kann Dienstkonten zum Ausführen Ihrer App Distribution-Arbeitslasten verwenden. Weitere Informationen finden Sie unter Mit Dienstkonto authentifizieren.
Wenn Sie die Workload Identity-Föderation verwenden, können Sie anstelle eines Dienstkontoschlüssels eine Konfigurationsdatei für Anmeldedaten generieren und verwenden.
Beachten Sie die Limits für Releases
App Distribution unterstützt maximal 1.000 Releases pro App. Wenn Sie das Release-Limit überschreiten, werden in App Distribution automatisch die ältesten Releases über dem Limit gelöscht. Informationen zum Verwalten von Release-Limits finden Sie unter Wie lange sind App-Releases verfügbar?
Denselben Testern mehrere Releases zuweisen
Wenn Sie Ihren Releases eine große Anzahl von Testern hinzufügen möchten, verwenden Sie die Funktion zur Bulk-Verwaltung von Testern in App Distribution.
Wir empfehlen, Gruppen zu verwenden, um dieselben Tester mehreren Releases hinzuzufügen. Eine Gruppe dient als Zugriffskontrollliste. Wenn Sie einen Tester aus einer Gruppe entfernen, verliert er den Zugriff auf alle Releases, die an diese Gruppe verteilt wurden. Weitere Informationen finden Sie unter Tester zu einer Gruppe hinzufügen und daraus entfernen.
Wenn Sie viele Tester verwalten müssen, können Sie über die Firebase-Konsole Tester im Bulk hinzufügen und löschen. Wenn Sie das Hinzufügen und Entfernen von Testern automatisieren möchten, verwenden Sie die Firebase CLI, fastlane oder die öffentliche Firebase App Distribution API.
Beachten Sie die Testerlimits
App Distribution begrenzt die Anzahl der Tester, die Sie einem Firebase-Projekt oder einer App Distribution-Gruppe hinzufügen können. Wenn Sie diese Limits überschreiten, können Sie Ihre App nicht an weitere Tester verteilen. Weitere Informationen zu Testerlimits finden Sie unter Gibt es Einschränkungen beim Hinzufügen von Testern zu meiner App?
Neue iOS-Testgeräte verwalten und automatisch hinzufügen
Damit Sie zusätzliche iOS-Testgeräte registrieren können, hilft Ihnen App Distribution bei der Verwaltung Ihrer iOS-Testgeräte im Apple Developer Portal. Sie werden per E-Mail oder CSV-Datei über neue iOS-Testgeräte informiert. Weitere Informationen finden Sie unter Tester aus CSV-Dateien importieren. Sie können neue Geräte auch programmatisch mit fastlane exportieren.
Informationen zum Einrichten einer Fastlane-Aktion, die UDIDs automatisch abruft, der Apple Developer Console hinzufügt und dann die App neu erstellt und verteilt, findest du unter Pre-Release-iOS-Builds mit App Distribution und Fastlane schneller verteilen.
Potenzielle Tester können sich selbst für Tests 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 zu registrieren. Wenn Sie Nutzern die Möglichkeit geben, sich selbst der Liste der App-Tester hinzuzufügen, können Sie Ihre interne Testbasis ganz einfach erweitern.
Anwendungsfälle für Einladungslinks sind beispielsweise interne Testprogramme von Unternehmen, Organisationen mit großen QA-Teams und Entwicklergruppen, die möchten, dass einzelne Kunden den Zugriff von Testern verwalten können.
Wir empfehlen, einen Einladungslink für eine Gruppe zu erstellen. Jeder Tester, der sich über den Einladungslink registriert, wird automatisch zu nachfolgenden Releases hinzugefügt.
Weitere Informationen finden Sie unter Einladungslinks erstellen und Tester zu einer Gruppe hinzufügen und daraus entfernen.
Prüfen, ob die Tester die gewünschte Version testen
Wenn eine neue Version hochgeladen wird, werden Ihre Tester per E-Mail benachrichtigt. Sie können diese Benachrichtigung mit den folgenden Funktionen ergänzen: Release-Links und In-App-Benachrichtigungen. So können Sie dafür sorgen, dass Ihre Tester die gewünschte App-Version testen:
Releaselinks: Verwenden Sie diese Funktion, wenn Sie eine bestimmte Version mit Testern teilen möchten. Informationen zur Verwendung von Releaselinks findest du unter iOS-Apps über die Firebase-Konsole an Tester verteilen. Diese Links sind auch in unseren Firebase- und fastlane-Befehlszeilentools verfügbar, die Sie mit Ihren Build-Automatisierungstools verwenden können.
In-App-Benachrichtigungen:Verwenden Sie diese Benachrichtigungen, wenn Sie sicherstellen möchten, dass Ihre Tester die neueste Version Ihrer App testen. Wenn Sie das Firebase App Distribution iOS SDK einbinden, 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.
Zugriff für Tester automatisch entfernen, die das Unternehmen verlassen
Sobald Ihr CI/CD-interner Testablauf eingerichtet ist, müssen Sie dafür sorgen, dass Personen, die das Unternehmen verlassen, keinen Zugriff mehr auf Ihre internen Builds haben. App Distribution bietet die folgenden Optionen, um den Zugriff von Testern auf Builds zu verwalten:
fastlane: Hier kannst du deine Fastfile-Datei verwenden oder direkt Schnellläuferaktionen ausführen. Weitere Informationen zum Entfernen von Testern mit fastlane finden Sie unter iOS-Apps mit fastlane an Tester verteilen.
Öffentliche Firebase App Distribution API: Verwenden Sie den
testers.batchRemove
-Endpunkt.