Sie können Builds mit
fastlanean Tester verteilen.
Fastlane ist eine Open-Source-Plattform, mit der das Erstellen und Veröffentlichen von iOS- und Android
Apps automatisiert wird. Dabei werden einfache Anweisungen befolgt, die in einer Fastfile definiert sind. Nachdem Sie
fastlane und Ihre Fastfile eingerichtet haben, können Sie App Distribution in Ihre fastlane
Konfiguration einbinden.
Schritt 1: fastlane einrichten
Führen Sie den folgenden Befehl im Stammverzeichnis Ihres iOS-Projekts aus, um App Distribution zu Ihrer fastlane-Konfiguration hinzuzufügen:
fastlane add_plugin firebase_app_distribution
Wenn Sie im Befehl nach einer Option gefragt werden, wählen Sie
Option 3: RubyGems.orgaus.
Schritt 2: Bei Firebase authentifizieren
Bevor Sie das fastlane-Plug-in verwenden können, müssen Sie sich zuerst auf eine der folgenden Arten bei Ihrem Firebase-Projekt authentifizieren. Standardmäßig sucht das fastlane-Plug-in nach Anmeldedaten aus der Firebase CLI, wenn keine andere Authentifizierung methode verwendet wird.
Schritt 3: Fastfile einrichten und App verteilen
- Fügen Sie in einer
./fastlane/Fastfile-Lane einenfirebase_app_distribution-Block hinzu. Konfigurieren Sie die Verteilung mit den folgenden Parametern:Parameter für „firebase_app_distribution“ appNur erforderlich, wenn Ihre App keine Firebase-Konfigurationsdatei (
GoogleService-Info.plist) enthält: Die Firebase-App-ID Ihrer App. Sie finden die App-ID in der Firebase Console auf der Seite „Allgemeine Einstellungen“.app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_pathDer Pfad zu Ihrer
GoogleService-Info.plist-Datei relativ zum archivierten Produktpfad. Standardmäßig aufGoogleService-Info.plistfestgelegt.Die Datei wird verwendet, um die Firebase-App-ID Ihrer App abzurufen, wenn der Parameter
appnicht angegeben ist.firebase_cli_tokenEin Aktualisierungstoken, das ausgegeben wird, wenn Sie Ihre CI-Umgebung mit der Firebase CLI authentifizieren. Weitere Informationen finden Sie unter CLI mit CI-Systemen verwenden .
service_credentials_fileDer Pfad zur JSON-Datei Ihres Google-Dienstkontos. Informationen zur Authentifizierung mit Anmeldedaten für das Dienstkonto finden Sie oben.
ipa_pathErsetzt
apk_path(veraltet). Absoluter Pfad zu der IPA-Datei, die Sie hochladen möchten. Wenn nicht angegeben, bestimmt fastlane den Speicherort der Datei anhand der Lane, in der die Datei generiert wurde.release_notes
release_notes_fileVersionshinweise für diesen Build.
Sie können die Versionshinweise entweder direkt angeben:
release_notes: "Text of release notes"
Oder Sie geben den Pfad zu einer Nur-Text-Datei an:
release_notes_file: "/path/to/release-notes.txt"
testers
testers_fileDie E‑Mail-Adressen der Tester, die Sie einladen möchten.
Sie können die Tester als durch Kommas getrennte Liste von E‑Mail Adressen angeben:
testers: "ali@example.com, bri@example.com, cal@example.com"
Oder Sie geben den Pfad zu einer Nur-Text-Datei an, die eine durch Kommas getrennte Liste von E‑Mail-Adressen enthält:
testers_file: "/path/to/testers.txt"
groups
groups_fileDie Testergruppen, die Sie einladen möchten (siehe Tester verwalten). Gruppen werden mit
Gruppenaliasen angegeben, die Sie in der Firebase Console nachschlagen können.Sie können die Gruppen als durch Kommas getrennte Liste angeben:
groups: "qa-team, trusted-testers"
Oder Sie geben den Pfad zu einer Nur-Text-Datei an, die eine durch Kommas getrennte Liste von Gruppennamen enthält:
groups_file: "/path/to/groups.txt"
test_devices
test_devices_file
Die Testgeräte, auf denen Sie Tests des App Testing-Agents ausführen möchten.
Sie können die Testgeräte als durch Semikolons getrennte Liste von Gerätespezifikationen angeben:
test_devices: "model=shiba,version=34,locale=en,orientation=portrait"
Oder Sie geben den Pfad zu einer Nur-Text-Datei an, die eine durch Semikolons getrennte Liste von Testgeräten enthält:
test_devices_file: "/path/to/test-devices.txt"
test_usernameDer Nutzername für die automatische Anmeldung, der bei Tests des App Testing-Agents verwendet werden soll.
test_password
test_password_fileDas Passwort für die automatische Anmeldung, das bei Tests des App Testing-Agents verwendet werden soll.
Oder Sie geben den Pfad zu einer Nur-Text-Datei an, die ein Passwort enthält:
test_password_file: "/path/to/test-password.txt"
test_username_resourceRessourcenname für das Feld „Nutzername“ für die automatische Anmeldung, das bei Tests des App Testing-Agents verwendet werden soll.
test_password_resourceRessourcenname für das Feld „Passwort“ für die automatische Anmeldung, das bei Tests des App Testing-Agents verwendet werden soll.
test_non_blockingWenn diese Option beim Ausführen von Tests des App Testing-Agents festgelegt ist, werden die Tests mit dem Befehl gestartet und dann sofort zurückgegeben, ohne auf den Abschluss zu warten. Die Testergebnisse finden Sie in der Firebase Console. Wenn dieses Flag nicht festgelegt ist, wird der Befehl blockiert, bis die Tests abgeschlossen sind. Bei einem Fehler in einem der Tests wird der Befehl mit einem Fehlercode beendet.
debugEin boolesches Flag. Sie können es auf
truesetzen, um eine ausführliche Debug-Ausgabe zu erhalten.
Beispiel:
platform :ios do desc "My awesome app" lane :distribute do build_ios_app(...) # build_ios_app is a built-in fastlane action. release = firebase_app_distribution( app: "1:123456789:ios:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
Führen Sie Ihre Lane aus, um den Build für Tester verfügbar zu machen:
fastlane <lane>
Der Rückgabewert der Aktion ist ein Hash, der den hochgeladenen Release darstellt.
Dieser Hash ist auch über lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE] verfügbar.
Weitere Informationen zu den verfügbaren Feldern in diesem Hash finden Sie in der
REST API-Dokumentation.
Das fastlane-Plug-in gibt nach dem Hochladen des Release die folgenden Links aus: Mit diesen Links können Sie Binärdateien verwalten und dafür sorgen, dass Tester und andere Entwickler den richtigen Release haben:
- Ein Link zur Firebase Console, auf der ein einzelner Release angezeigt wird. Sie können diesen Link mit anderen Entwicklern in Ihrer Organisation teilen.
- Ein Link zum Release in der Testerumgebung (iOS-Webclip), über den Tester Versionshinweise ansehen und die App auf ihrem Gerät installieren können. Der Tester benötigt Zugriff auf den Release, um den Link verwenden zu können.
- Ein signierter Link, über den die App-Binärdatei (IPA-Datei) direkt heruntergeladen und installiert wird. Der Link läuft nach einer Stunde ab.
Nachdem Sie Ihren Build verteilt haben, ist er 150 Tage lang im App Distribution Dashboard der Firebase Console verfügbar. Wenn der Build in 30 Tagen abläuft, wird in der Console und in der Liste der Builds des Testers auf seinem Testgerät ein Hinweis zum Ablaufdatum angezeigt.
Tester, die zuvor nicht zum Testen der App eingeladen wurden, erhalten E‑Mail-Einladungen. Vorhandene Tester erhalten E‑Mail-Benachrichtigungen, dass ein neuer Build zum Testen bereit ist. Informationen zum Installieren der Test App finden Sie unter Als Tester einrichten. In der Firebase Console können Sie den Status jedes Testers prüfen, um festzustellen, ob er die Einladung angenommen und die App heruntergeladen hat.
Optional: Wenn Sie die Build-Nummer jedes Mal automatisch erhöhen möchten, wenn Sie in App Distribution einen neuen Release erstellen, können Sie die
firebase_app_distribution_get_latest_release Aktion und die
increment_build_number Aktion verwenden.
Der folgende Code zeigt ein Beispiel dafür, wie Sie die Build-Nummer automatisch erhöhen können:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end
Weitere Informationen zu dieser Funktion des fastlane-Plug-ins finden Sie unter Informationen zum neuesten Release Ihrer App abrufen.
Schritt 4 (optional): Tester für die Verteilung verwalten
Sie können Tester über die Datei Fastfile oder durch direktes Ausführen von fastlane-Aktionen zu Ihrem Projekt oder Ihrer Gruppe hinzufügen und daraus entfernen. Wenn Sie Aktionen direkt ausführen, werden die in der Datei Fastfile festgelegten Werte überschrieben.
Sobald ein Tester zu Ihrem Firebase-Projekt hinzugefügt wurde, können Sie ihn einzelnen Releases hinzufügen. Tester, die aus Ihrem Firebase-Projekt entfernt werden, haben keinen Zugriff mehr auf Releases in Ihrem Projekt. Sie können jedoch für eine bestimmte Zeit weiterhin auf Ihre Releases zugreifen.
Wenn Sie eine große Anzahl von Testern haben, sollten Sie Gruppen verwenden.
Fastfile verwenden
# Use lanes to add or remove testers from a project. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) add testers to this group ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) remove testers from this group only ) end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testersfastlane-Aktionen ausführen
fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"fastlane run firebase_app_distribution_delete_group alias:"qa-team"
Sie können Tester auch mit --file="/path/to/testers.txt anstelle von
--emails angeben.
Die Aufgaben firebase_app_distribution_add_testers und firebase_app_distribution_remove_testers akzeptieren auch die folgenden Argumente:
project_name: Ihre Firebase-Projektnummer.group_alias(optional): Wenn angegeben, werden die Tester der angegebenen Gruppe hinzugefügt oder daraus entfernt.service_credentials_file: Der Pfad zu Ihrer Google-Anmeldedatendatei für das Dienstkonto.firebase_cli_token: Authentifizierungstoken für die Firebase CLI.
service_credentials_file und firebase_cli_token sind dieselben Argumente, die von der Upload-Aktion verwendet werden.
Schritt 5 (optional): Informationen zum neuesten Release Ihrer App abrufen
Mit der Aktion firebase_app_distribution_get_latest_release können Sie Informationen zum neuesten Release Ihrer App in App Distribution abrufen, einschließlich Informationen zur App-Version, Versionshinweise und Erstellungszeit. Anwendungsfälle sind beispielsweise das automatische Erhöhen der Version und das Übertragen der Versionshinweise aus dem vorherigen Release.
Der Rückgabewert der Aktion ist ein Hash, der den neuesten Release darstellt.
Dieser Hash ist auch über lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] verfügbar.
Weitere Informationen zu den verfügbaren Feldern in diesem Hash finden Sie in der
REST API-Dokumentation.
Parameter
| Parameter für „firebase_app_distribution_get_latest_release“ | |
|---|---|
app
|
Nur erforderlich, wenn Ihre App keine Firebase-Konfigurationsdatei ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path
|
Der Pfad zu Ihrer
Die Datei wird verwendet, um die Firebase-App-ID Ihrer App abzurufen, wenn der Parameter |
firebase_cli_token
|
Ein Aktualisierungstoken, das ausgegeben wird, wenn Sie Ihre CI-Umgebung mit der Firebase CLI authentifizieren. Weitere Informationen finden Sie unter CLI mit CI-Systemen verwenden . |
service_credentials_file
|
Der Pfad zur JSON-Datei Ihres Google-Dienstkontos. Informationen zur Authentifizierung mit Anmeldedaten für das Dienstkonto finden Sie weiter oben. |
service_credentials_json_data
|
Inhalt der JSON-Datei des Google-Dienstkontos. Informationen zur Authentifizierung mit Anmeldedaten für das Dienstkonto finden Sie weiter oben. |
debug
|
Ein boolesches Flag. Sie können es auf |
Nächste Schritte
Informationen zum manuellen oder programmatischen Registrieren weiterer Geräte finden Sie unter Zusätzliche iOS-Geräte registrieren.
Best Practices für die Verteilung von Apple-Apps an Qualitätssicherungstester mit CI/CD und fastlane