Catch up on highlights from Firebase at Google I/O 2023. Learn more

Best Practices für die Verteilung von Apple-Apps an QA-Tester mit CI/CD und Fastlane

Dieses Dokument stellt Best Practices für die Verwendung von Firebase App Distribution und Fastlane vor, um die Testworkflows Ihrer Apple-Plattform vor der Veröffentlichung in einer CI/CD-Umgebung nachhaltig und wiederholbar zu gestalten. Obwohl sich dieses Dokument auf Fastlane konzentriert, beschreiben wir auch Lösungen, die über die Firebase-Konsole, die Firebase-CLI und die öffentliche Firebase App Distribution API verfügbar sind, um Ihnen mehr Flexibilität zu bieten. Wir beschreiben auch Release- und Tester-Limits, damit Sie im Voraus für 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 mit 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 App Distribution nicht aktiviert haben, erhalten Sie einen 404-Fehler.

Führen Sie die folgenden Schritte aus, um die App-Verteilung zu aktivieren:

  1. Öffnen Sie die Seite „App-Verteilung“ in der Firebase-Konsole.

  2. Wählen Sie Ihre iOS-App aus.

  3. Klicken Sie auf Erste Schritte .

Automatisieren Sie Ihren Test-Workflow vor der Veröffentlichung mit CI/CD

Wenn Sie das Erstellen und Freigeben 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.

Verwenden Sie fastlane

Integrieren Sie App Distribution 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 Releases automatisch erstellen und an Tester verteilen, stellen Sie sicher, dass Tester immer über die aktuellste Testversion Ihrer App verfügen.

Informationen zum Integrieren von App Distribution in Fastlane finden Sie unter Verteilen von iOS-Apps an Tester mit 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-Befehlszeilenschnittstelle zum Automatisieren Ihrer Builds finden Sie unter Verteilen von iOS-Apps an Tester mithilfe der Firebase-Befehlszeilenschnittstelle .

Verwenden Sie zur Authentifizierung Dienstanmeldeinformationen

Verwenden Sie das Fastlane-Plug-in für die App-Verteilung oder die Firebase-Befehlszeilenschnittstelle mit Dienstkonten, die die Vorteile der Standardanmeldeinformationen für Anwendungen nutzen und Ihnen bei der Verwaltung Ihres CI helfen. Ein Dienstkonto ist eine Art Google-Konto, das Anwendungen im Gegensatz zu Benutzern darstellt. Ihr CI-System kann Dienstkonten verwenden, um Ihre App Distribution-Workloads auszuführen. Weitere Informationen finden Sie unter Mit einem Dienstkonto authentifizieren .

Wenn Sie Workload Identity Federation verwenden, können Sie anstelle eines Dienstkontoschlüssels eine Konfigurationsdatei für Anmeldeinformationen generieren und verwenden.

Beachten Sie die Release-Limits

App Distribution unterstützt maximal 1.000 Releases pro App. Das bedeutet, dass App Distribution automatisch die ältesten Versionen über dem Limit löscht, wenn Sie das Release-Limit überschreiten. Informationen zum Verwalten von Release-Limits finden Sie unter Wie lange sind App-Releases verfügbar?

Fügen Sie mehreren Releases dieselbe Gruppe von Testern hinzu

Wenn Sie Ihren Releases eine große Anzahl von Testern hinzufügen möchten, verwenden Sie die Bulk-Tester-Verwaltungsfunktion von App Distribution.

Wir empfehlen Ihnen, Gruppen zu verwenden, um dieselben Tester zu mehreren Releases hinzuzufügen. Eine Gruppe fungiert 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 Hinzufügen und Entfernen von Testern zu einer Gruppe .

Wenn Sie viele Tester verwalten müssen, können Sie Tester mithilfe der Firebase-Konsole massenweise 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 Testergrenzen

Die App-Verteilung begrenzt die Anzahl der Tester, die Sie einem Firebase-Projekt oder einer App-Verteilungsgruppe hinzufügen können. Wenn Sie diese Beschränkungen überschreiten, können Sie Ihre App nicht an weitere Tester verteilen. Weitere Informationen zu Testerbeschränkungen finden Sie unter Gibt es Beschränkungen für das Hinzufügen von Testern zu meiner App?

Neue iOS-Testgeräte verwalten und automatisch hinzufügen

Um Ihnen bei der Registrierung zusätzlicher iOS-Testergeräte zu helfen, hilft Ihnen App Distribution bei der Verwaltung Ihrer iOS-Testergeräte im Apple Developer Portal, indem Sie per E-Mail oder CSV-Dateien über neue Tester-iOS-Geräte informiert werden. Weitere Informationen finden Sie unter Tester aus CSV-Dateien importieren . Sie können neue Geräte auch programmgesteuert mit Fastlane exportieren .

Um zu erfahren, wie Sie eine Fastlane-Aktion einrichten, die UDIDs automatisch herunterlädt, sie zur Apple-Entwicklerkonsole hinzufügt und dann die App neu erstellt und verteilt, siehe Verteilen Sie Ihre Vorabversionen von iOS-Builds schneller 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 vereinfachen, 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. Wenn Sie es 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 Dogfood-Programme von Unternehmen, Organisationen mit großen QA-Teams und Entwicklergruppen, die möchten, dass einzelne Kunden den Testerzugriff kontrollieren können.

Wir empfehlen, dass Sie einen Einladungslink für eine Gruppe 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 einer Gruppe hinzufügen und daraus entfernen .

Stellen Sie sicher, dass Tester die für Sie interessante Version testen

Wenn eine neue Version hochgeladen wird, werden Ihre Tester per E-Mail benachrichtigt. Um diese Benachrichtigung zu ergänzen, können Sie die folgenden Funktionen verwenden – Release-Links und In-App-Benachrichtigungen – um sicherzustellen, dass Ihre Tester die spezifische App-Version testen, die Ihnen wichtig ist:

  • Release-Links: Verwenden Sie diese Funktion, wenn Sie eine bestimmte Version für Tester freigeben 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 Benachrichtigungen, 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 direkt in der App Benachrichtigungen 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 eingerichtet ist und ausgeführt wird, müssen Sie sicherstellen, dass Personen, die das Unternehmen verlassen, keinen Zugriff mehr auf Ihre internen Builds haben. Um Ihnen bei der Verwaltung des Testerzugriffs auf Builds zu helfen, bietet App Distribution die folgenden Optionen: