Fastlane is een open-source tool voor het automatiseren van het bouwen, testen en publiceren van iOS- en Android-apps. In plaats van handmatig tientallen commando's uit te voeren voor het ondertekenen, bouwen en uploaden naar de winkel, beschrijft de ontwikkelaar het hele proces in een Fastfile en start het met één commando. Volgens Fastlane Docs, 2025 wordt de tool gebruikt in meer dan 1,5 miljoen projecten wereldwijd. Fastlane bundelt hulpprogramma's voor het werken met App Store Connect, Google Play Console en code-ondertekeningssystemen.
Belangrijkste punten
Fastlane is een tool voor het automatiseren van mobiele builds, geschreven in Ruby en gedistribueerd onder de MIT-licentie. Het automatiseert routinetaken van mobiele ontwikkelaars: het bouwen van de app, het uitvoeren van tests, het maken van schermafbeeldingen, het ondertekenen van code en het uploaden van binaire bestanden naar App Store of Google Play. In plaats van 15–20 handmatige commando's start de ontwikkelaar één fastlane-commando met de naam van het script.
Fastlane werkt als een wrapper rond Xcode-hulpprogramma's (xcodebuild, xcrun) en Android SDK (gradlew, apksigner, bundletool) en biedt een uniforme interface voor beide platformen. Dit is vooral waardevol voor teams die zowel iOS- als Android-versies van dezelfde app onderhouden — identieke Fastfiles kunnen builds voor beide platformen beschrijven met minimale parameter verschillen.
Volgens GitHub heeft Fastlane meer dan 39.000 sterren en is het de automatiseringsstandaard in mobiele ontwikkeling. De tool wordt ondersteund door de community en Google — Fastlane is geïntegreerd in Firebase als de aanbevolen manier om Android-apps naar Google Play Console te leveren.
De Fastlane-architectuur is opgebouwd uit drie lagen: actions (basiscommando's), lanes (scripts) en tools (gespecialiseerde hulpprogramma's). Actions zijn afzonderlijke Fastlane-functies, die elk een specifieke actie uitvoeren: een schermafbeelding maken, een IPA bouwen, uploaden naar TestFlight. Lanes combineren meerdere actions in een sequentieel script dat in Fastfile wordt beschreven.
Actions zijn de bouwstenen van Fastlane. Elke action ontvangt parameters en voert één taak uit. Bijvoorbeeld, action gym bouwt een iOS-app, scan voert tests uit, pilot uploadt een build naar TestFlight. Fastlane heeft in totaal meer dan 200 ingebouwde actions, documentatie voor elke action is beschikbaar via het commando fastlane action [naam].
Als ingebouwde actions niet volstaan, kan de ontwikkelaar een custom action in Ruby maken en deze koppelen in Fastfile. Custom actions worden verspreid via Fastlane-plugins, die worden gepubliceerd op Rubygems en geïnstalleerd via een FastfilePlugin-bestand in de projectroot.
Lane is een benoemd automatiseringsscript dat meerdere actions combineert in een logische volgorde. Een lane kan andere lanes aanroepen (private lanes), parameters doorgeven en fouten afhandelen. Dit maakt het mogelijk om een hiërarchie van scripts te bouwen: een basis build-lane, een deploy-lane, een volledige CI/CD-cyclus lane.
Fastlane bevat een reeks gespecialiseerde tools, die elk een specifieke taak van mobiele automatisering oplossen. Tools worden gestart als actions binnen lanes of rechtstreeks vanaf de commandoregel. Laten we vier belangrijke tools bekijken die de belangrijkste CI/CD-behoeften voor iOS en Android dekken.
| Tool | Functie | Commando |
|---|---|---|
| scan | Unit- en UI-tests uitvoeren op iOS-simulator | fastlane scan |
| gym | IPA- of APP-bestand bouwen voor iOS | fastlane gym |
| match | Certificaten en provisioning profiles synchroniseren via Git | fastlane match |
| deliver | Binair bestand en metadata uploaden naar App Store Connect | fastlane deliver |
| snapshot | Automatisch schermafbeeldingen genereren op verschillende apparaten | fastlane snapshot |
Scan vereenvoudigt het uitvoeren van Xcode-tests door automatisch de juiste simulator te selecteren en het rapport te formatteren. Gym bouwt de app met optimale compilatievlaggen en ondersteunt exportOptions.plist voor verschillende buildtypes (development, adhoc, appstore). Deliver maakt het mogelijk om niet alleen het binaire bestand te uploaden, maar ook schermafbeeldingen, beschrijving, versies en prijzen via één metadatabestand.
De tool Match verdient speciale aandacht — het lost het probleem op van het opslaan en synchroniseren van iOS-certificaten in een team. Match versleutelt en slaat certificaten en provisioning profiles op in een Git-repository, en ontwikkelaars krijgen ze automatisch bij het starten van fastlane match. Dit elimineert handmatige configuratie van elke werkplek.
Snapshot is een tool voor het automatisch maken van schermafbeeldingen van een mobiele app op verschillende apparaten en talen. Snapshot voert UI-tests uit op iOS-simulators en maakt schermafbeeldingen bij elke teststap. Resultaten worden opgeslagen in de map fastlane/screenshots en kunnen via deliver naar App Store Connect worden geüpload.
Voor Android vervult screengrab een vergelijkbare functie op Android-emulators. Beide tools ondersteunen lokalisatie — schermafbeeldingen worden voor elke taal gemaakt, wat de voorbereiding van materialen voor publicatie in meertalige app-winkels vereenvoudigt.
Voor iOS-projecten wordt Fastlane ingesteld via Gemfile (installatie van de fastlane-gem) en Fastfile in de map fastlane. De initiële installatie wordt uitgevoerd met het commando fastlane init, dat de basisstructuur van mappen aanmaakt, App Store Connect-gegevens opvraagt en een Fastfile-sjabloon met basis-lanes genereert.
Het belangrijkste commando voor iOS — fastlane match — moet als eerste worden uitgevoerd om certificaten en provisioning profiles te verkrijgen. Na succesvolle ondertekening kan Fastlane de app bouwen (gym), tests uitvoeren (scan) en het binaire bestand uploaden (pilot of deliver).
# Fastfile voor 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: 'Nieuwe versie geüpload naar TestFlight')
end
Gebruik voor TestFlight de pilot-action — deze uploadt de IPA en beheert testers. Fastlane ondersteunt upload_to_testflight (synoniem voor pilot) en verwerkt automatisch het wachten op de verwerking van de build door Apple, wat 5 tot 30 minuten kan duren.
Voor Android-projecten wordt Fastlane op dezelfde manier ingesteld, maar in plaats van Xcode-tools worden Gradle en Android SDK gebruikt. Fastlane voor Android ondersteunt het bouwen van APK en AAB, ondertekening via apksigner of jarsigner, het uitvoeren van instrumentele tests en uploaden naar Google Play Console via de Supply-action.
Het belangrijkste verschil — Android-build vereist geen certificaatbeheer via match (Android-ondertekening wordt beheerd via Keystore, die apart wordt opgeslagen). Fastlane voor Android gebruikt de gradle-action voor het uitvoeren van alle Gradle-taken en de supply-action voor het werken met Google Play.
# Fastfile voor 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
Voor Google Play Console is een Google Cloud-serviceaccount met toegang tot de Google Play API vereist. Fastlane accepteert de JSON-sleutel van het serviceaccount via de omgevingsvariabele SUPPLY_JSON_KEY of de parameter json_key in de supply-action. Het publicatiekanaal kan internal, alpha, beta of production zijn.
Fastlane integreert met alle CI/CD-systemen die Ruby-scripts kunnen uitvoeren: Jenkins, Travis CI, GitHub Actions, GitLab CI, Bitrise en CircleCI. Integratie komt neer op het installeren van de fastlane-gem en het uitvoeren van het commando fastlane [lane_name] in de scriptfase van de pipeline.
Voor CI/CD is het belangrijk om omgevingsvariabelen in te stellen voor het opslaan van gevoelige gegevens: MATCH_PASSWORD (wachtwoord voor certificaatversleuteling), FASTLANE_USER (Apple ID), FASTLANE_PASSWORD (Apple ID-wachtwoord). In Travis CI worden variabelen versleuteld via travis encrypt, in GitHub Actions via Secrets repository.
Aanbevolen werkwijze — gebruik fastlane match in CI/CD met de readonly-vlag om te voorkomen dat er per ongeluk wijzigingen in de certificatenrepository worden aangebracht. Gebruik voor Android een Keystore, gecodeerd in Base64 en opgeslagen in een omgevingsvariabele, die wordt ontsleuteld en opgeslagen in een tijdelijk bestand in de before_install-fase.
Fastlane Match is een tool voor het automatiseren van het beheer van iOS-certificaten en provisioning profiles, een van de meest waardevolle functies van Fastlane voor teams. Match maakt een versleutelde Git-repository (of gebruikt een bestaande) waarin alle certificaten en profielen worden opgeslagen en gesynchroniseerd tussen ontwikkelaars en CI/CD-servers.
Match ondersteunt vijf typen profielen: development, adhoc, appstore, enterprise en developer_id. Elk type wordt opgeslagen in een aparte map binnen de repository. Het commando fastlane match development installeert development-certificaten op de lokale machine, en fastlane match appstore installeert App Store-profielen voor builds op CI.
# Match gebruiken in 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
De beveiliging van Match wordt gegarandeerd door versleuteling van alle bestanden vóór commit naar Git. Het versleutelingswachtwoord wordt ingesteld via de omgevingsvariabele MATCH_PASSWORD en moet voor alle teamleden hetzelfde zijn. Match gebruikt OpenSSL voor versleuteling en slaat het wachtwoord niet in platte tekst op in de repository.
Veelgestelde vragen
Fastlane is een Open Source automatiserings tool voor iOS- en Android-apps. Het automatiseert het bouwen, testen, code-ondertekenen en leveren aan App Store en Google Play via één configuratiebestand Fastfile en een set ingebouwde tools.
De belangrijkste Fastlane-tools: scan (tests), gym (iOS-build), match (certificaten), deliver (App Store), pilot (TestFlight), snapshot (schermafbeeldingen), supply (Google Play) en frameit (lijsten voor schermafbeeldingen). Elke tool is beschikbaar als action binnen een lane of vanaf de commandoregel.
Installeer gem fastlane, voer fastlane init uit in de projectroot. Configureer Fastfile met lanes voor build (gym) en tests (scan). Stel Match in voor certificaatbeheer via een Git-repository. Voeg een deploy-lane toe met pilot of deliver voor upload naar App Store Connect.
Voer fastlane init uit met opgave van package name. Gebruik de gradle-action voor het uitvoeren van Gradle-taken (assembleRelease, testReleaseUnitTest). Configureer Keystore via omgevingsvariabelen. Gebruik de supply-action voor het uploaden van AAB of APK naar Google Play Console op het gewenste kanaal.
Installeer gem fastlane op de CI/CD-server en voeg het commando fastlane [lane_name] toe aan de scriptfase van de pipeline. Stel omgevingsvariabelen FASTLANE_USER, FASTLANE_PASSWORD en MATCH_PASSWORD in als geheime variabelen in CI/CD. Gebruik match readonly voor CI om onbedoelde wijzigingen in certificaten te voorkomen.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook