Fastlane: wat is het, automatisering van builds en publicaties

Auteur: IT Sectr Gepubliceerd: 2026-02-13 Leestijd: 10 min

Fastlane — een tool voor het automatiseren van builds en publicaties van mobiele apps voor iOS en Android. Fastlane beheert het ondertekenen van code, builden, testen, het maken van screenshots en het uploaden naar App Store Connect en Google Play Console. Het is de de facto standaard voor CI/CD in mobiele ontwikkeling.

Belangrijkste conclusies

  • Fastlane automatiseert de volledige mobiele release-pipeline: builden, testen, ondertekenen en publiceren met één commando
  • Fastfile — configuratiebestand in Ruby, waarin lanes worden beschreven — benoemde automatisering scenario's
  • Ondersteuning voor iOS en Android — Fastlane werkt met Xcode, Gradle, App Store Connect, Google Play, TestFlight en Firebase
  • match en sigh — beheer van certificaten en provisioning profiles voor iOS-ontwikkeling
  • Integratie met CI/CD — Fastlane wordt geïntegreerd in GitHub Actions, GitLab CI, Bitrise, Jenkins en CircleCI

Fastlane — wat is het

Fastlane — is een open-source tool die routinetaken in mobiele ontwikkeling automatiseert: het builden van de app, het uitvoeren van tests, het maken van screenshots, het beheren van certificaten, het uploaden van builds naar TestFlight, App Store en Google Play. Fastlane is geschreven in Ruby en wordt verspreid via RubyGems met het commando gem install fastlane.

Fastlane verscheen in 2015 als iOS-tool, maar breidde zich snel uit naar Android. Tegenwoordig is het een ecosysteem van tientallen actions — ingebouwde commando's die kunnen worden gecombineerd in scenario's, lanes genoemd. Elke lane voert een specifieke taak uit: bijvoorbeeld build_release bouwt de releaseversie en deploy_beta uploadt de build naar TestFlight.

Fastlane wordt gebruikt door bedrijven zoals Uber, Airbnb, Snapchat, Twitter en Shopify. Volgens een enquête uit 2024 gebruikt meer dan 60% van de iOS-ontwikkelaars Fastlane in hun projecten. De tool ondersteunt zowel lokale uitvoering als integratie met cloud CI-systemen, wat het de de facto standaard maakt voor mobiele CI/CD.

ruby
# Installatie van Fastlane
sudo gem install fastlane -NV

# Initialisatie in het project
fastlane init

Na initialisatie maakt Fastlane de map fastlane/ aan met drie bestanden: Fastfile (scenario's), Appfile (app-instellingen) en Matchfile (certificaatinstellingen). Deze structuur blijft hetzelfde voor beide platforms — iOS en Android.

Fastfile en lanes

Het belangrijkste configuratiebestand van Fastlane — Fastfile. Het bevindt zich in de map fastlane/ in de root van het project. Fastfile wordt geschreven in Ruby: elke lane is een benoemd blok met een reeks actions. Een lane kan parameters accepteren, andere lanes aanroepen en waarden retourneren.

ruby
# fastlane/Fastfile — voorbeeld voor iOS
default_platform(:ios)

platform :ios do
  desc "Build and upload to TestFlight"
  lane :beta do
    match(type: "appstore")
    gym(scheme: "MyApp", configuration: "Release")
    pilot(skip_waiting_for_build: true)
  end

  desc "Deploy to App Store"
  lane :release do
    ensure_git_status_clean
    match(type: "appstore")
    gym(scheme: "MyApp")
    deliver(
      skip_metadata: true,
      skip_screenshots: true
    )
    push_to_git_remote(tags: true)
  end
end

Elke lane wordt gestart met het commando fastlane ios beta of fastlane ios release. Fastfile ondersteunt variabelen, condities, loops en het aanroepen van externe scripts — het is een volwaardig Ruby-bestand. Ontwikkelaars kunnen code hergebruiken via private_lane (lokale methoden) en import uit andere Fastfile-bestanden.

Fastlane biedt meer dan 200 ingebouwde actions voor de meeste taken. Als de benodigde action niet bestaat, kan men een eigen action in Ruby schrijven of een shell-commando aanroepen via sh("..."). Actions kunnen parameters accepteren — buildinstellingen, paden, toegangstokens — en het resultaat retourneren voor gebruik in volgende stappen.

Automatisering van iOS-builds

Fastlane voor iOS lost drie belangrijke problemen op: het beheer van certificaten en provisioning profiles, het builden van IPA via Xcode en publicatie naar App Store Connect en TestFlight. Elk van deze taken wordt afgedekt door een aparte action.

match — action voor certificaatbeheer. Het slaat alle certificaten en provisioning profiles op in een versleutelde Git-repository. Elke ontwikkelaar en CI-server gebruiken dezelfde set bestanden, wat conflicten en problemen met verlopen certificaten elimineert. Match werkt profielen automatisch bij wanneer nieuwe apparaten worden toegevoegd.

sigh — maakt en downloadt een provisioning profile via de Apple Developer Portal. Wordt gebruikt wanneer snel een profiel nodig is voor een specifiek type: development, ad-hoc of appstore.

gym — builden van IPA. Gym omhult xcodebuild met optimale parameters, selecteert automatisch het schema, de configuratie, export options en maakt een ondertekende IPA. Voorbeeld: gym(scheme: "MyApp", export_method: "app-store").

pilot — beheer van TestFlight. Uploadt de build, voegt testers toe, volgt de reviewstatus. deliver — volledige publicatie in de App Store, inclusief metadata, screenshots, prijs en versies.

ruby
# Builden en publiceren van iOS-app
lane :deploy_ios do
  cocoapods
  match(type: "appstore", readonly: true)
  gym(scheme: "MyApp", export_method: "app-store")
  pilot(changelog: "Bug fixes and performance improvements")
end

Voor het werken met App Store Connect zijn toegangstokens vereist. Fastlane ondersteunt twee authenticatiemethoden: App Store Connect API Key (aanbevolen) en Apple ID met tweefactorauthenticatie. API-sleutels zijn handiger voor CI/CD omdat ze geen interactieve wachtwoordinvoer vereisen.

ActionDoelHandmatig equivalent
matchBeheer van certificaten en profielenApple Developer Portal
sighAanmaken provisioning profileXcode + Developer Portal
gymBuilden van IPAxcodebuild + xcrun
pilotUploaden naar TestFlightXcode Organizer
deliverPublicatie in App StoreApp Store Connect Web
scanUitvoeren van UI-testsxcodebuild test

Automatisering van Android-builds

Op Android automatiseert Fastlane het builden via Gradle, het ondertekenen van APK en AAB, het uploaden naar Google Play Console en Firebase App Distribution.

gradle — de belangrijkste action voor Android-builden. Het roept de Gradle wrapper aan met de benodigde taken: gradle(task: "assembleRelease") of gradle(task: "bundleRelease") voor AAB. Vlaggen, omgevingsvariabelen en het pad naar gradle.properties kunnen worden doorgegeven.

supply — uploaden van APK of AAB naar Google Play Console. Supply beheert versies, tracks (internal, alpha, beta, production), releasenotes, prijs en distributieland. Voorbeeld: supply(track: "beta", release_status: "completed").

screengrab — het maken van screenshots voor Google Play. Het voert instrumentatietests uit die screenshots maken van app-schermen op verschillende apparaten en talen. De verkregen screenshots worden geüpload via supply.

ruby
# Builden en publiceren van Android-app
lane :deploy_android do
  gradle(task: "clean bundleRelease")
  supply(
    track: "beta",
    release_status: "completed",
    version_code: 42
  )
end
ActionDoelHandmatig equivalent
gradleBuilden via Gradle./gradlew assembleRelease
supplyUploaden naar Google PlayGoogle Play Console Web
screengrabMaken van screenshotsHandmatige screenshot + ImageMagick
firebase_app_distributionDistributie via FirebaseFirebase Console Upload

Integratie met CI/CD

Fastlane is ontworpen voor gebruik in CI/CD-pipelines. Het verwerkt non-interactieve modus, omgevingsvariabelen en build-artefacten correct. Hieronder — voorbeelden van integratie met populaire CI-systemen.

In GitHub Actions wordt Fastlane uitgevoerd als een Ruby-script. Typische workflow: installatie van Ruby en Fastlane, configuratie van sleutels (certificaten, API-tokens via secrets), uitvoeren van lane. Voor iOS is een macOS-runner vereist; Android werkt op ubuntu-latest.

In GitLab CI wordt Fastlane gebruikt in .gitlab-ci.yml met een vergelijkbaar schema: installatie van dependencies, uitvoeren van fastlane, overdracht van artefacten. GitLab CI ondersteunt macOS- en Linux-runners.

Bitrise — gespecialiseerde CI/CD voor mobiele apps — heeft ingebouwde ondersteuning voor Fastlane. Bitrise Workflow kan Fastlane Step aanroepen of willekeurige scripts uitvoeren met fastlane. Bitrise beheert certificaten via zijn eigen Code Signing Manager.

ruby
# Fastfile voor CI/CD met voorwaardelijk uitvoeren van tests
lane :ci_test do
  scan(scheme: "MyApp", code_coverage: true)
end

lane :ci_beta do
  ensure_git_status_clean
  version_bump_podspec(path: "MyApp.podspec")
  match(type: "appstore", readonly: true)
  gym(scheme: "MyApp", export_method: "app-store")
  pilot(distribute_external: true)
end

Een belangrijk aspect van CI/CD-integratie — het opslaan van geheimen. Fastlane gebruikt het .env-bestand via dotenv en omgevingsvariabelen. Voor iOS zijn kritieke variabelen: MATCH_PASSWORD, FASTLANE_APPLE_API_KEY, FASTLANE_APPLE_API_KEY_ID. Voor Android: SUPPLY_JSON_KEY_DATA — de inhoud van het Google Play-serviceaccount.

Populaire Fastlane-actions

Fastlane bevat meer dan 200 ingebouwde actions. Hieronder — een overzicht van de meest populaire met vermelding van platform en doel.

ActionPlatformBeschrijving
gymiOSIPA builden met geoptimaliseerde xcodebuild-parameters
matchiOSSynchronisatie van certificaten en provisioning profiles via Git
pilotiOSBuild uploaden naar TestFlight en testers beheren
deliveriOSApp publiceren in App Store met metadata
scaniOSUnit- en UI-tests uitvoeren met rapportgeneratie
gradleAndroidGradle-taken uitvoeren: assemble, bundle, test
supplyAndroidAPK en AAB uploaden naar Google Play Console
screengrabAndroidAutomatische screenshots voor Google Play
firebase_app_distributionAndroidBuilds distribueren via Firebase
snapshotiOSAutomatische screenshots op simulatoren voor App Store
increment_build_numberiOSAuto-increment van buildnummer in Xcode-project
appcenter_uploadBeideBuild uploaden naar App Center

Voor het zoeken van een benodigde action wordt het commando fastlane action [naam] gebruikt, dat documentatie, parameters en voorbeelden toont. De volledige lijst is lokaal beschikbaar: fastlane actions.

Fastlane ondersteunt ook plugins — community-extensies die nieuwe actions toevoegen. Plugins worden geïnstalleerd via fastlane add_plugin [naam] en zijn beschikbaar in de RubyGems-registry. Voorbeelden van populaire plugins: fastlane-plugin-versioning (versiebeheer), fastlane-plugin-sentry (debug-symbolen uploaden naar Sentry), fastlane-plugin-teams (meldingen in Microsoft Teams).

Frequently Asked Questions

Fastlane — wat is het en waar is het voor nodig?

Fastlane — is een tool voor het automatiseren van builds en publicaties van mobiele apps. Het is nodig om handmatige bewerkingen — builden, ondertekenen, uploaden naar winkels — te vervangen door één commando. Fastlane verkort de releasetijd van uren naar minuten en elimineert menselijke fouten bij publicatie.

Kan Fastlane alleen voor Android of alleen voor iOS worden gebruikt?

Ja. Fastlane ondersteunt beide platforms onafhankelijk. Voor iOS is macOS nodig, voor Android is Linux voldoende. In één Fastfile kunnen lanes per platform worden gescheiden: platform :ios do ... end en platform :android do ... end.

Hoe beheert Fastlane iOS-certificaten?

Via de action match. Het slaat versleutelde certificaten en provisioning profiles op in een Git-repository. Elke ontwikkelaar kloont de repository, match ontsleutelt de bestanden met het wachtwoord uit de variabele MATCH_PASSWORD en installeert ze in de keychain. Dit lost het probleem "het buildt op mijn machine" op.

Werkt Fastlane met Firebase App Distribution?

Ja. Fastlane heeft een ingebouwde action firebase_app_distribution voor het uploaden van APK en IPA naar Firebase App Distribution. Ook is firebase_app_distribution_add_testers beschikbaar voor het toevoegen van testers. Alternatief — de action appcenter_upload voor App Center.

Hoe installeer ik Fastlane op een CI-server?

Fastlane wordt geïnstalleerd via RubyGems: gem install fastlane -NV. Voor iOS is macOS met Xcode vereist; voor Android — Linux of macOS met JDK en Android SDK. In GitHub Actions is er een kant-en-klare action ruby/setup-ruby voor het installeren van Ruby en Fastlane. Omgevingsvariabelen worden doorgegeven via de secrets van het CI-systeem.

Wat is het verschil tussen Fastlane en Bitrise of Jenkins?

Fastlane — is een bibliotheek en CLI voor het automatiseren van build- en publicatietaken. Bitrise en Jenkins — zijn volledige CI/CD-platforms. Fastlane werkt binnen hen: Jenkins voert Fastlane uit als een pipelinestap, Bitrise roept Fastlane aan via een speciale Step. Fastlane vervangt het CI-systeem niet, maar vult het aan met mobiele specificiteit.

Summary

  • Fastlane — open-source tool voor het automatiseren van builds, testen en publicaties van mobiele apps voor iOS en Android
  • Fastfile — configuratiebestand in Ruby waarin lanes worden beschreven — scenario's met een reeks actions
  • match + gym + pilot — standaard pipeline voor iOS: certificaatbeheer, IPA builden, uploaden naar TestFlight
  • gradle + supply — standaard pipeline voor Android: builden via Gradle, uploaden naar Google Play Console
  • CI/CD-integratie — Fastlane wordt geïntegreerd in GitHub Actions, GitLab CI, Bitrise, Jenkins en CircleCI via omgevingsvariabelen
  • 200+ actions — ingebouwde commando's voor ondertekenen, builden, testen, screenshots, publicatie en meldingen
  • Plugins — community-extensies die nieuwe actions toevoegen: versioning, Sentry, meldingen in messengers

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.

Bespreek het project

Lees ook