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

In diesem Dokument werden Best Practices für die Verwendung von Firebase App Distribution und „fastlane“ vorgestellt, um Ihre Testworkflows für Vorabveröffentlichungen auf Apple-Plattformen in einer CI/CD-Umgebung nachhaltig und wiederholbar zu gestalten. 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. Außerdem werden Release- und Testerlimits beschrieben, damit Sie im Voraus planen können, um eine optimale Nutzung zu gewährleisten.

Wenn Sie auch Android verwenden, finden Sie weitere Informationen unter Best Practices für die Bereitstellung von Android-Apps für QA-Tester mit 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. Wenn Sie App Distribution nicht aktiviert haben, erhalten Sie einen 404-Fehler.

So aktivieren Sie App Distribution:

  1. Öffnen Sie die App Distribution Seite in der Firebase Konsole.

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

  3. Klicken Sie auf Jetzt starten.

Testworkflow für Vorabveröffentlichungen mit CI/CD automatisieren

Wenn Sie das Erstellen und Bereitstellen von Apps für Ihre Tester automatisieren möchten und CI/CD verwenden, empfehlen wir Ihnen, fastlanezu verwenden. 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 Bereitstellen von iOS- und Android-Apps automatisiert werden kann. Wenn Sie Ihre neuesten Releases automatisch erstellen und an Tester verteilen, haben diese immer die aktuellste Testversion Ihrer App.

Informationen zum Einbinden von App Distribution in „fastlane“ finden Sie unter iOS-Apps mit „fastlane“ an Tester verteilen. Außerdem gibt es ein Codelab das Sie durch den Einbindungsprozess von „fastlane“ führt.

Firebase CLI verwenden

Mit den Firebase CLI-Tools, die App Distribution bereitstellt, können Sie Builds programmatisch an Tester verteilen. Sie können Tester und Release-Hinweise für einen Build angeben.

So verteilen Sie Ihren neuesten iOS-Build test.ipa: Geben Sie 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 Verwendung der Firebase CLI zum Automatisieren Ihrer Builds finden Sie unter iOS-Apps mit der Firebase CLI an Tester verteilen.

Mit Dienstkonto-Anmeldedaten authentifizieren

Verwenden Sie das App Distribution fastlane-Plug-in oder die Firebase CLI mit Dienstkonten, die Standardanmeldedaten für Anwendungen nutzen und Ihnen bei der Verwaltung Ihrer CI helfen. 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 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.

Release-Limits beachten

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

Dieselbe Gruppe von Testern zu mehreren Releases hinzufügen

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

Wir empfehlen, Gruppen zu verwenden, um dieselben Tester zu mehreren Releases hinzuzufügen. Eine Gruppe fungiert als Zugriffssteuerungsliste. 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 Tester im Bulk hinzufügen und löschen mit der Firebase Console. 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.

Testerlimits beachten

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 Limits für das Hinzufügen von Testern zu meiner App?

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

Die App-Bereitstellung unterstützt Sie bei der Registrierung zusätzlicher iOS-Testgeräte. App Distribution Sie können Ihre iOS-Testgeräte im Apple Developer Portal verwalten, indem Sie per E-Mail oder über CSV-Dateien über neue iOS-Testgeräte informiert werden. 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, mit der UDIDs automatisch abgerufen, der Apple Developer Console hinzugefügt und die App dann neu erstellt und verteilt wird, finden Sie unter Schnellere Verteilung von vorab veröffentlichten iOS-Builds mit App Distribution und „fastlane“.

Potenzielle Tester können sich selbst für Tests registrieren

Um die Verteilung Ihrer App an mehr Tester zu erleichtern, empfehlen wir Ihnen, Einladungslinks zu verwenden. Ein Einladungslink ist eine eindeutige URL, über die Tester ihre E-Mail-Adresse eingeben können, um sich für das Testen einer App zu registrieren. Wenn Sie Nutzern die Möglichkeit geben, sich selbst Ihrer Liste von App-Testern hinzuzufügen, können Sie Ihre interne Testbasis ganz einfach vergrößern.

Anwendungsfälle für Einladungslinks sind beispielsweise interne Testprogramme für Unternehmen, Organisationen mit großen QA-Teams und Entwicklergruppen, die einzelnen Kunden die Möglichkeit geben möchten, den Testerzugriff zu steuern.

Wir empfehlen, 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 zu einer Gruppe hinzufügen und daraus entfernen.

Sicherstellen, dass Tester die gewünschte Version testen

Wenn eine neue Version hochgeladen wird, werden Ihre Tester per E-Mail benachrichtigt. Ergänzend zu dieser Benachrichtigung können Sie die folgenden Funktionen verwenden, um sicherzustellen, dass Ihre Tester die gewünschte App-Version testen: Release-Links und In-App-Benachrichtigungen.

  • 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 iOS-Apps mit der Firebase Console an Tester verteilen. Diese Links sind auch mit unseren Firebase und fastlane -Befehlszeilentools (CLI) zur Verwendung mit Ihren Tools zur Build-Automatisierung verfügbar.

  • 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, die das Unternehmen verlassen, automatisch entfernen

Sobald Ihr interner CI/CD-Testablauf eingerichtet ist, müssen Sie dafür sorgen, dass Personen, die das Unternehmen verlassen, keinen Zugriff mehr auf Ihre internen Builds haben. Die App-Bereitstellung bietet die folgenden Optionen, um den Testerzugriff auf Builds zu verwalten: App Distribution