Fastlane ist ein Open-Source-Tool zur Automatisierung von Build, Test und Veröffentlichung von iOS- und Android-Apps. Anstatt ein Dutzend Befehle für Signatur, Build und Upload in den Store manuell auszuführen, beschreibt der Entwickler den gesamten Prozess in einer Fastfile und führt ihn mit einem einzigen Befehl aus. Laut Fastlane Docs, 2025 wird das Tool in mehr als 1,5 Millionen Projekten weltweit eingesetzt. Fastlane vereint Dienstprogramme für die Arbeit mit App Store Connect, Google Play Console und Codesignatursystemen.
Auf einen Blick
Fastlane ist ein Tool zur Automatisierung mobiler Builds, geschrieben in Ruby und unter der MIT-Lizenz veröffentlicht. Es automatisiert Routineaufgaben mobiler Entwickler: App-Build, Testausführung, Screenshot-Erstellung, Codesignatur und Upload von Binärdateien in den App Store oder Google Play. Statt 15–20 manueller Befehle führt der Entwickler einen einzigen Fastlane-Befehl mit dem Namen des Szenarios aus.
Fastlane fungiert als Wrapper über die Xcode-Dienstprogramme (xcodebuild, xcrun) und das Android SDK (gradlew, apksigner, bundletool) und bietet eine einheitliche Schnittstelle für beide Plattformen. Dies ist besonders wertvoll für Teams, die iOS- und Android-Versionen derselben App betreuen — identische Fastfiles können Builds für beide Plattformen mit minimalen Parameterunterschieden beschreiben.
Laut GitHub hat Fastlane über 39.000 Sterne und ist der Automatisierungsstandard in der mobilen Entwicklung. Das Tool wird von der Community und Google unterstützt — Fastlane ist in Firebase als empfohlener Weg zur Auslieferung von Android-Apps an die Google Play Console integriert.
Die Fastlane-Architektur basiert auf drei Ebenen: Actions (Basiskommandos), Lanes (Szenarien) und Tools (spezialisierte Dienstprogramme). Actions sind einzelne Fastlane-Funktionen, die jeweils eine bestimmte Aktion ausführen: Screenshot erstellen, IPA bauen, in TestFlight hochladen. Lanes kombinieren mehrere Actions zu einem sequenziellen Szenario, das in der Fastfile beschrieben wird.
Actions sind die Bausteine von Fastlane. Jede Action nimmt Parameter entgegen und führt eine einzelne Aufgabe aus. Zum Beispiel erstellt die Action gym einen iOS-App-Build, scan führt Tests aus, pilot lädt den Build in TestFlight hoch. Insgesamt gibt es über 200 integrierte Actions in Fastlane, mit Dokumentation für jede einzelne über den Befehl fastlane action [Name].
Wenn die integrierten Actions nicht ausreichen, kann der Entwickler eine custom action in Ruby erstellen und in der Fastfile einbinden. Custom Actions werden über Fastlane-Plugins verbreitet, die auf Rubygems veröffentlicht und über die FastfilePlugin-Datei im Projektstamm installiert werden.
Lane ist ein benanntes Automatisierungsszenario, das mehrere Actions zu einer logischen Sequenz kombiniert. Eine Lane kann andere Lanes (private Lanes) aufrufen, Parameter übergeben und Fehler behandeln. Dies ermöglicht den Aufbau einer Szenario-Hierarchie: Basis-Build-Lane, Deploy-Lane, vollständige CI/CD-Zyklus-Lane.
Fastlane enthält eine Reihe spezialisierter Tools, die jeweils eine bestimmte Aufgabe der mobilen Automatisierung lösen. Die Tools werden als Actions innerhalb von Lanes oder direkt von der Befehlszeile aus ausgeführt. Betrachten wir vier wichtige Tools, die die grundlegenden CI/CD-Anforderungen für iOS und Android abdecken.
| Tool | Zweck | Befehl |
|---|---|---|
| scan | Ausführung von Unit- und UI-Tests auf dem iOS-Simulator | fastlane scan |
| gym | Erstellung einer IPA- oder APP-Datei für iOS | fastlane gym |
| match | Synchronisation von Zertifikaten und Provisioning Profiles über Git | fastlane match |
| deliver | Upload von Binärdatei und Metadaten an App Store Connect | fastlane deliver |
| snapshot | Automatische Screenshot-Erstellung auf verschiedenen Geräten | fastlane snapshot |
Scan vereinfacht die Ausführung von Xcode-Tests, wählt automatisch den passenden Simulator aus und formatiert den Bericht. Gym erstellt den App-Build mit optimalen Compiler-Flags und unterstützt exportOptions.plist für verschiedene Build-Typen (development, adhoc, appstore). Deliver ermöglicht den Upload nicht nur der Binärdatei, sondern auch von Screenshots, Beschreibung, Versionen und Preisen über eine einzige Metadatendatei.
Das Tool Match verdient besondere Aufmerksamkeit — es löst das Problem der Speicherung und Synchronisation von iOS-Zertifikaten im Team. Match verschlüsselt und speichert Zertifikate und Provisioning Profiles in einem Git-Repository, und Entwickler erhalten sie automatisch beim Ausführen von fastlane match. Dies macht die manuelle Einrichtung jedes Arbeitsplatzes überflüssig.
Snapshot ist ein Tool zur automatischen Erstellung von Screenshots mobiler Apps auf verschiedenen Geräten und in verschiedenen Sprachen. Snapshot führt UI-Tests auf iOS-Simulatoren aus und macht bei jedem Testschritt einen Bildschirmschuss. Die Ergebnisse werden im Verzeichnis fastlane/screenshots gespeichert und können über deliver an App Store Connect übermittelt werden.
Für Android übernimmt screengrab eine ähnliche Funktion auf Android-Emulatoren. Beide Tools unterstützen Lokalisierung — Screenshots werden für jede Sprache erstellt, was die Vorbereitung von Materialien für die Veröffentlichung in mehrsprachigen App Stores vereinfacht.
Für iOS-Projekte wird Fastlane über die Gemfile (Installation der fastlane-Gem) und die Fastfile im Verzeichnis fastlane konfiguriert. Die Ersteinrichtung erfolgt mit dem Befehl fastlane init, der die grundlegende Verzeichnisstruktur erstellt, App Store Connect-Daten abfragt und eine Fastfile-Vorlage mit den wichtigsten Lanes generiert.
Der wichtigste Befehl für iOS ist fastlane match, der zuerst ausgeführt werden muss, um Zertifikate und Provisioning Profiles zu erhalten. Nach erfolgreicher Signatur kann Fastlane die App bauen (gym), Tests ausführen (scan) und die Binärdatei hochladen (pilot oder deliver).
# Fastfile für iOS-App
default_platform(:ios)
lane :build do
cocoapods
scan(scheme: 'App', devices: ['iPhone 15'])
gym(scheme: 'App', export_method: 'app-store')
end
lane :deploy do
match(type: 'appstore')
build
pilot(skip_waiting_for_build_processing: true)
slack(message: 'Neue Version wurde in TestFlight hochgeladen')
end
Für die Arbeit mit TestFlight verwenden Sie die pilot-Action — sie lädt das IPA hoch und verwaltet Tester. Fastlane unterstützt upload_to_testflight (Synonym für pilot) und verarbeitet automatisch die Wartezeit auf die Build-Verarbeitung durch Apple, die 5 bis 30 Minuten dauern kann.
Für Android-Projekte wird Fastlane ähnlich konfiguriert, aber statt Xcode-Tools werden Gradle und Android SDK verwendet. Fastlane für Android unterstützt APK- und AAB-Builds, Signatur über apksigner oder jarsigner, Ausführung von Instrumentierungstests und Upload in die Google Play Console über die Supply-Action.
Der Hauptunterschied ist, dass Android-Builds keine Zertifikatsverwaltung über match erfordern (die Android-Signatur wird über einen separat gespeicherten Keystore verwaltet). Fastlane für Android verwendet die gradle-Action zum Ausführen beliebiger Gradle-Aufgaben und die supply-Action für die Arbeit mit Google Play.
# Fastfile für Android-App
default_platform(:android)
lane :build do
gradle(task: 'clean assembleRelease')
gradle(task: 'testReleaseUnitTest')
end
lane :deploy do
build
supply(
track: 'internal',
aab: 'app/build/outputs/bundle/release/app-release.aab'
)
end
Für die Arbeit mit der Google Play Console ist ein Google Cloud-Dienstkonto mit Zugriff auf die Google Play API erforderlich. Fastlane akzeptiert den JSON-Schlüssel des Dienstkontos über die Umgebungsvariable SUPPLY_JSON_KEY oder den Parameter json_key in der supply-Action. Der Veröffentlichungs-Track kann internal, alpha, beta oder production sein.
Fastlane kann in jedes CI/CD-System integriert werden, das Ruby-Skripte ausführen kann: Jenkins, Travis CI, GitHub Actions, GitLab CI, Bitrise und CircleCI. Die Integration beschränkt sich auf die Installation der fastlane-Gem und die Ausführung des Befehls fastlane [lane_name] in der Script-Phase der Pipeline.
Für CI/CD ist die Konfiguration von Umgebungsvariablen zur Speicherung sensibler Daten wichtig: MATCH_PASSWORD (Verschlüsselungspasswort für Zertifikate), FASTLANE_USER (Apple ID), FASTLANE_PASSWORD (Apple-ID-Passwort). In Travis CI werden Variablen über travis encrypt verschlüsselt, in GitHub Actions über Repository-Secrets.
Die empfohlene Praxis ist die Verwendung von fastlane match in CI/CD mit dem readonly-Flag, um versehentliche Änderungen am Zertifikatsrepository zu vermeiden. Für Android verwenden Sie den Base64-kodierten Keystore, der in einer Umgebungsvariable gespeichert, dekodiert und in der before_install-Phase in einer temporären Datei abgelegt wird.
Fastlane Match ist ein Tool zur Automatisierung der Verwaltung von iOS-Zertifikaten und Provisioning Profiles — eine der wertvollsten Fastlane-Funktionen für Teams. Match erstellt ein verschlüsseltes Git-Repository (oder verwendet ein bestehendes), in dem alle Zertifikate und Profile gespeichert und zwischen Entwicklern und CI/CD-Servern synchronisiert werden.
Match unterstünft fünf Profiltypen: development, adhoc, appstore, enterprise und developer_id. Jeder Typ wird in einem separaten Verzeichnis innerhalb des Repositories gespeichert. Der Befehl fastlane match development installiert Entwicklungszertifikate auf dem lokalen Rechner, während fastlane match appstore App Store-Profile für CI-Builds installiert.
# Verwendung von Match in der Fastfile
lane :setup_signing do
match(
type: 'appstore',
readonly: true,
git_branch: 'main'
)
end
lane :update_profiles do
match(
type: 'development',
force: true,
app_identifier: ['com.example.app', 'com.example.app.watchkitapp']
)
end
Die Sicherheit von Match wird durch Verschlüsselung aller Dateien vor dem Commit in Git gewährleistet. Das Verschlüsselungspasswort wird über die Umgebungsvariable MATCH_PASSWORD festgelegt und muss für alle Teammitglieder gleich sein. Match verwendet OpenSSL zur Verschlüsselung und speichert das Passwort nicht im Klartext im Repository.
Häufig gestellte Fragen
Fastlane ist ein Open-Source-Automatisierungstool für iOS- und Android-Apps. Es automatisiert Build, Test, Codesignatur und Auslieferung an App Store und Google Play über eine einzige Konfigurationsdatei Fastfile und einen Satz integrierter Tools.
Die wichtigsten Fastlane-Tools: scan (Tests), gym (iOS-Build), match (Zertifikate), deliver (App Store), pilot (TestFlight), snapshot (Screenshots), supply (Google Play) und frameit (Screenshot-Rahmen). Jedes Tool ist als Action innerhalb einer Lane oder von der Befehlszeile aus verfügbar.
Installieren Sie die gem fastlane, führen Sie fastlane init im Projektstamm aus. Konfigurieren Sie die Fastfile mit Lanes für Build (gym) und Tests (scan). Richten Sie Match für die Zertifikatsverwaltung über ein Git-Repository ein. Fügen Sie eine Deploy-Lane mit pilot oder deliver für den Upload zu App Store Connect hinzu.
Führen Sie fastlane init mit Angabe des Package-Namens aus. Verwenden Sie die gradle-Action zum Ausführen von Gradle-Aufgaben (assembleRelease, testReleaseUnitTest). Konfigurieren Sie den Keystore über Umgebungsvariablen. Verwenden Sie die supply-Action zum Hochladen von AAB oder APK in die Google Play Console auf den gewünschten Track.
Installieren Sie die gem fastlane auf dem CI/CD-Server und fügen Sie den Befehl fastlane [lane_name] in der Script-Phase der Pipeline hinzu. Konfigurieren Sie die Umgebungsvariablen FASTLANE_USER, FASTLANE_PASSWORD und MATCH_PASSWORD in den CI/CD-Geheimnissen. Verwenden Sie match readonly im CI, um versehentliche Änderungen an Zertifikaten zu vermeiden.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch