In diesem Dokument werden Best Practices für die Verwendung von Firebase App Distribution und Fastlane, um die Workflows für Pre-Release-Tests der Apple-Plattform nachhaltig zu gestalten und in einer CI/CD-Umgebung wiederholbar. In diesem Dokument liegt der Schwerpunkt auf fastlane. Wir beschreiben aber auch Lösungen, die über die Firebase Console, die Firebase CLI und die öffentliche Firebase App Distribution API verfügbar sind, um Ihnen mehr Flexibilität zu bieten. Wir beschreiben auch die Limits für Releases und Tester, damit Sie rechtzeitig für eine optimale Nutzererfahrung.
Wenn Sie auch Android verwenden, lesen Sie Best Practices für die Verteilung 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.
So aktivieren Sie App Distribution:
Öffnen Sie die App Distribution-Seite. in der Firebase-Konsole.
Wählen Sie Ihre iOS-App aus.
Klicken Sie auf Jetzt starten.
CI/CD-Workflow für Vorabtests automatisieren
Wenn Sie das Erstellen und Veröffentlichen von Apps für Ihre Tester und CI/CD nutzen, empfehlen wir Ihnen, fastlane übergeben. Eine weitere Möglichkeit ist die Verwendung des Firebase-Befehlszeile, 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. Von Releases automatisch an Tester verteilen, dafür sorgen, dass die Tester immer die aktuellste Testversion Ihrer App haben.
Informationen zum Einbinden von App Distribution in den Schnellzugriff findest du unter iOS-Apps per Schnellzugriff an Tester bereitstellen Weitere Informationen finden Sie in einem Codelab. der Sie durch den schnellen Integrationsprozess führt.
Firebase CLI verwenden
Verwenden Sie die Firebase-Befehlszeilentools, die App Distribution für die Bereitstellung von für Tester programmatisch. Sie können Tester und Release-Notes für einen Build angeben.
Veröffentlichen Sie Ihren neuesten iOS-Build test.ipa
, indem Sie die Firebase App-ID der App angeben und optional eine Versionsnotiz und eine Datei mit den E-Mail-Adressen 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 Automatisierung von Builds mit der Firebase CLI finden Sie unter iOS-Apps mit der Firebase CLI an Tester verteilen.
Dienstanmeldedaten zur Authentifizierung verwenden
Fastlane-Plug-in von App Distribution verwenden oder die Firebase-Befehlszeile mit Dienstkonten verwenden, die Standardanmeldedaten für Anwendungen und Sie bei der Verwaltung Ihrer CI unterstützen. Ein Dienstkonto ist eine Art von Google-Konto, das Anwendungen und nicht Nutzer repräsentiert. Ihr CI-System kann Dienstkonten verwenden, um Ihre App Distribution-Arbeitslasten auszuführen. Weitere Informationen finden Sie unter Mit einem 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.
Hinweise zu Release-Limits
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 Weitere Informationen finden Sie unter Tester einer Gruppe hinzufügen oder aus ihr entfernen.
Wenn Sie viele Tester verwalten müssen, können Sie Tester im Bulk hinzufügen und löschen über die Firebase-Konsole. Wenn Sie das Hinzufügen und Entfernen von Testern automatisieren möchten, verwenden Sie die Firebase-Befehlszeile, fastlane oder die öffentliche Firebase App Distribution API.
Beachten Sie die Testerlimits
In App Distribution ist die Anzahl der Tester begrenzt, die Sie einem Firebase-Projekt hinzufügen können oder eine App Distribution-Gruppe. Wenn Sie diese Limits überschreiten, ist Folgendes nicht mehr möglich: Ihre App weiteren Testern zur Verfügung stellen. Weitere Informationen zu Testerlimits finden Sie unter Gibt es Einschränkungen beim Hinzufügen von Testern zu meiner App?
Neue iOS-Tester verwalten und automatisch hinzufügen
Damit Sie weitere iOS-Tester registrieren können, hilft Ihnen App Distribution dabei, Ihre iOS-Tester im Apple Developer Portal verwalten, indem Sie neue Tester-iOS-Geräte per E-Mail oder CSV-Dateien an. Weitere Informationen finden Sie unter Tester aus CSV-Dateien importieren: Außerdem können Sie neue Geräte programmatisch über den Schnellzugriff exportieren.
Informationen zum Einrichten einer Fastlane-Aktion, die automatisch UDIDs abruft, sie der Apple Developer Console hinzufügt und dann die App neu erstellt und bereitstellt, finden Sie unter Pre-Release-iOS-Builds mit App Distribution und Fastlane schneller bereitstellen.
Potenziellen Testern die Selbstregistrierung für Tests ermöglichen
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 für das Testen einer App anzumelden. Wenn Sie Nutzern die Möglichkeit geben, sich selbst in die Liste der App-Tester aufzunehmen, können Sie Ihre interne Testbasis ganz einfach vergrößern.
Anwendungsfälle für Einladungslinks sind z. B. Dogfood-Programme von Unternehmen, Organisationen mit großen QA-Teams und Entwicklergruppen, die einzelnen Kunden und „Control Tester-Zugriff“.
Wir empfehlen Ihnen, einen Einladungslink für eine Gruppe zu erstellen. Alle Tester, die sich über den Einladungslink registrieren, werden automatisch zu nachfolgenden Releases hinzugefügt.
Weitere Informationen finden Sie unter Einladungslinks erstellen. und Tester einer Gruppe hinzufügen oder daraus entfernen.
Achte darauf, dass die Tester die Version testen, die dir wichtig ist
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:
Release-Links:Verwenden Sie diese Funktion, wenn Sie ein bestimmtes Version mit Testern teilen. Informationen zur Verwendung von Release-Links findest du unter Stellen Sie den Testern iOS-Apps über die Firebase-Konsole bereit. 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. Weitere Informationen Wie Sie In-App-Benachrichtigungen hinzufügen, erfahren Sie unter Tester über neue Builds benachrichtigen.
Zugriff für Tester, die das Unternehmen verlassen, automatisch entfernen
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: Sie können Ihre Fastfile-Datei verwenden oder Fastlane-Aktionen direkt ausführen. Bis Weitere Informationen zum Entfernen von Testern über Fastlane erhalten Sie unter iOS-Apps per Schnellzugriff an Tester verteilen
Öffentliche Firebase App Distribution API: Verwenden Sie den Endpunkt
testers.batchRemove
.