Fastlane: vad är det, automatisering av byggen och publiceringar

Författare: IT Sectr Publicerad: 2026-02-13 Lästid: 10 min

Fastlane — verktyg för automatisering av byggen och publicering av mobilappar för iOS och Android. Fastlane hanterar kodsignering, bygge, körning av tester, skapande av skärmbilder och uppladdning till App Store Connect och Google Play Console. Det är de facto-standarden för CI/CD inom mobilutveckling.

Huvudsakliga slutsatser

  • Fastlane automatiserar hela pipeline för mobil release: bygge, testning, signering och publicering med ett enda kommando
  • Fastfile — konfigurationsfil i Ruby, där lanes beskrivs — namngivna automatiseringsscenarier
  • Stöd för iOS och Android — Fastlane fungerar med Xcode, Gradle, App Store Connect, Google Play, TestFlight och Firebase
  • match och sigh — hantering av certifikat och provisioning profiles för iOS-utveckling
  • Integration med CI/CD — Fastlane integreras i GitHub Actions, GitLab CI, Bitrise, Jenkins och CircleCI

Fastlane — vad är det

Fastlane — är ett open-source-verktyg som automatiserar rutinuppgifter inom mobilutveckling: bygge av appen, körning av tester, skapande av skärmbilder, hantering av certifikat, uppladdning av byggen till TestFlight, App Store och Google Play. Fastlane är skrivet i Ruby och distribueras via RubyGems med kommandot gem install fastlane.

Fastlane dök upp 2015 som ett iOS-verktyg men expanderade snabbt till Android. Idag är det ett ekosystem av dussintals actions — inbyggda kommandon som kan kombineras i scenarier som kallas lanes. Varje lane utför en specifik uppgift: till exempel bygger build_release releaseversionen och deploy_beta laddar upp bygget till TestFlight.

Fastlane används av företag som Uber, Airbnb, Snapchat, Twitter och Shopify. Enligt en undersökning från 2024 använder över 60% av iOS-utvecklarna Fastlane i sina projekt. Verktyget stöder både lokal körning och integration med molnbaserade CI-system, vilket gör det till de facto-standarden för mobil CI/CD.

ruby
# Installation av Fastlane
sudo gem install fastlane -NV

# Initiering i projektet
fastlane init

Efter initiering skapar Fastlane katalogen fastlane/ med tre filer: Fastfile (scenarier), Appfile (appinställningar) och Matchfile (certifikatinställningar). Denna struktur förblir densamma för båda plattformarna — iOS och Android.

Fastfile och lanes

Fastlanes huvudsakliga konfigurationsfil — Fastfile. Den finns i katalogen fastlane/ i projektets rot. Fastfile skrivs i Ruby: varje lane är ett namngivet block med en sekvens av actions. En lane kan acceptera parametrar, anropa andra lanes och returnera värden.

ruby
# fastlane/Fastfile — exempel för 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

Varje lane startas med kommandot fastlane ios beta eller fastlane ios release. Fastfile stöder variabler, villkor, loopar och anrop av externa skript — det är en fullvärdig Ruby-fil. Utvecklare kan återanvända kod via private_lane (lokala metoder) och import från andra Fastfile.

Fastlane erbjuder över 200 inbyggda actions för de flesta uppgifter. Om den nödvändiga actionen inte finns kan man skriva en egen i Ruby eller anropa ett shell-kommando via sh("..."). Actions kan acceptera parametrar — bygginställningar, sökvägar, åtkomsttokens — och returnera resultatet för användning i nästa steg.

Automatisering av iOS-byggen

Fastlane för iOS löser tre viktiga problem: hantering av certifikat och provisioning profiles, bygge av IPA via Xcode och publicering till App Store Connect och TestFlight. Var och en av dessa uppgifter täcks av en separat action.

match — action för certifikathantering. Lagrar alla certifikat och provisioning profiles i ett krypterat Git-förråd. Varje utvecklare och CI-server använder samma filuppsättning, vilket eliminerar konflikter och problem med utgångna certifikat. Match uppdaterar automatiskt profiler när nya enheter läggs till.

sigh — skapar och laddar ner en provisioning profile via Apple Developer Portal. Används när man snabbt behöver en profil för en specifik typ: development, ad-hoc eller appstore.

gym — bygge av IPA. Gym omsluter xcodebuild med optimala parametrar, väljer automatiskt schema, konfiguration, exportalternativ och skapar en signerad IPA. Exempel: gym(scheme: "MyApp", export_method: "app-store").

pilot — hantering av TestFlight. Laddar upp bygget, lägger till testare, följer granskningsstatus. deliver — fullständig publicering i App Store, inklusive metadata, skärmbilder, pris och versioner.

ruby
# Bygge och publicering av 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

För arbete med App Store Connect krävs åtkomsttokens. Fastlane stöder två autentiseringsmetoder: App Store Connect API Key (rekommenderas) och Apple ID med tvåfaktorsautentisering. API-nycklar är bekvämare för CI/CD eftersom de inte kräver interaktiv lösenordsinmatning.

ActionSyfteManuell motsvarighet
matchHantering av certifikat och profilerApple Developer Portal
sighSkapa provisioning profileXcode + Developer Portal
gymBygge av IPAxcodebuild + xcrun
pilotUppladdning till TestFlightXcode Organizer
deliverPublicering i App StoreApp Store Connect Web
scanKörning av UI-testerxcodebuild test

Automatisering av Android-byggen

På Android automatiserar Fastlane bygge via Gradle, signering av APK och AAB, uppladdning till Google Play Console och Firebase App Distribution.

gradle — den huvudsakliga action för Android-bygge. Anropar Gradle wrapper med nödvändiga uppgifter: gradle(task: "assembleRelease") eller gradle(task: "bundleRelease") för AAB. Flaggor, miljövariabler och sökväg till gradle.properties kan skickas.

supply — uppladdning av APK eller AAB till Google Play Console. Supply hanterar versioner, spår (internal, alpha, beta, production), versionsanteckningar, pris och distributionsland. Exempel: supply(track: "beta", release_status: "completed").

screengrab — skapande av skärmbilder för Google Play. Kör instrumenteringstester som tar skärmbilder av appens skärmar på olika enheter och språk. De erhållna skärmbilderna laddas upp via supply.

ruby
# Bygge och publicering av Android-app
lane :deploy_android do
  gradle(task: "clean bundleRelease")
  supply(
    track: "beta",
    release_status: "completed",
    version_code: 42
  )
end
ActionSyfteManuell motsvarighet
gradleBygge via Gradle./gradlew assembleRelease
supplyUppladdning till Google PlayGoogle Play Console Web
screengrabSkapande av skärmbilderManuell skärmbild + ImageMagick
firebase_app_distributionDistribution via FirebaseFirebase Console Upload

Integration med CI/CD

Fastlane är utformat för att fungera i CI/CD-pipelines. Det hanterar korrekt icke-interaktivt läge, miljövariabler och byggartefakter. Nedan — exempel på integration med populära CI-system.

I GitHub Actions körs Fastlane som ett Ruby-skript. Typiskt arbetsflöde: installation av Ruby och Fastlane, konfiguration av nycklar (certifikat, API-tokens via secrets), körning av lane. För iOS krävs en macOS-runner; Android fungerar på ubuntu-latest.

I GitLab CI används Fastlane i .gitlab-ci.yml med ett liknande schema: installation av beroenden, körning av fastlane, överföring av artefakter. GitLab CI stöder macOS- och Linux-runners.

Bitrise — specialiserad CI/CD för mobilappar — har inbyggt stöd för Fastlane. Bitrise Workflow kan anropa Fastlane Step eller köra godtyckliga skript med fastlane. Bitrise hanterar certifikat via sin egen Code Signing Manager.

ruby
# Fastfile för CI/CD med villkorlig testkörning
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

En viktig aspekt av CI/CD-integration — lagring av hemligheter. Fastlane använder filen .env via dotenv och miljövariabler. För iOS är kritiska variabler: MATCH_PASSWORD, FASTLANE_APPLE_API_KEY, FASTLANE_APPLE_API_KEY_ID. För Android: SUPPLY_JSON_KEY_DATA — innehållet i Google Play-tjänstkontot.

Populära Fastlane-actions

Fastlane innehåller över 200 inbyggda actions. Nedan — en översikt av de mest populära med angivelse av plattform och syfte.

ActionPlattformBeskrivning
gymiOSBygge av IPA med optimerade xcodebuild-parametrar
matchiOSSynkronisering av certifikat och provisioning profiles via Git
pilotiOSUppladdning av bygge till TestFlight och hantering av testare
deliveriOSPublicering av app i App Store med metadata
scaniOSKörning av unit- och UI-tester med rapportgenerering
gradleAndroidKörning av Gradle-uppgifter: assemble, bundle, test
supplyAndroidUppladdning av APK och AAB till Google Play Console
screengrabAndroidAutomatiska skärmbilder för Google Play
firebase_app_distributionAndroidDistribution av byggen via Firebase
snapshotiOSAutomatiska skärmbilder på simulatorer för App Store
increment_build_numberiOSAutoökning av byggnummer i Xcode-projekt
appcenter_uploadBådaUppladdning av bygge till App Center

För att söka efter en nödvändig action används kommandot fastlane action [namn], som visar dokumentation, parametrar och exempel. Fullständig lista finns lokalt: fastlane actions.

Fastlane stöder också plugins — community-tillägg som lägger till nya actions. Plugin installeras via fastlane add_plugin [namn] och finns i RubyGems-registret. Exempel på populära plugin: fastlane-plugin-versioning (versionshantering), fastlane-plugin-sentry (uppladdning av debug-symboler till Sentry), fastlane-plugin-teams (meddelanden i Microsoft Teams).

Frequently Asked Questions

Fastlane — vad är det och vad används det till?

Fastlane — är ett verktyg för automatisering av byggen och publicering av mobilappar. Det används för att ersätta manuella operationer — bygge, signering, uppladdning till butiker — med ett enda kommando. Fastlane förkortar releasetiden från timmar till minuter och eliminerar mänskliga fel vid publicering.

Kan Fastlane användas bara för Android eller bara för iOS?

Ja. Fastlane stöder båda plattformarna oberoende. För iOS krävs macOS, för Android räcker Linux. I en Fastfile kan lanes separeras efter plattform: platform :ios do ... end och platform :android do ... end.

Hur hanterar Fastlane iOS-certifikat?

Genom action match. Det lagrar krypterade certifikat och provisioning profiles i ett Git-förråd. Varje utvecklare klonar förrådet, match dekrypterar filerna med lösenordet från variabeln MATCH_PASSWORD och installerar dem i nyckelringen. Detta löser problemet "det bygger på min maskin".

Fungerar Fastlane med Firebase App Distribution?

Ja. Fastlane har en inbyggd action firebase_app_distribution för uppladdning av APK och IPA till Firebase App Distribution. Även firebase_app_distribution_add_testers finns för att lägga till testare. Alternativ — action appcenter_upload för App Center.

Hur installerar man Fastlane på en CI-server?

Fastlane installeras via RubyGems: gem install fastlane -NV. För iOS krävs macOS med Xcode; för Android — Linux eller macOS med JDK och Android SDK. I GitHub Actions finns en färdig action ruby/setup-ruby för installation av Ruby och Fastlane. Miljövariabler skickas via CI-systemets secrets.

Vad skiljer Fastlane från Bitrise eller Jenkins?

Fastlane — är ett bibliotek och CLI för automatisering av bygg- och publiceringsuppgifter. Bitrise och Jenkins — är kompletta CI/CD-plattformar. Fastlane fungerar inuti dem: Jenkins kör Fastlane som ett pipeline-steg, Bitrise anropar Fastlane via ett särskilt Step. Fastlane ersätter inte CI-systemet utan kompletterar det med mobil specificitet.

Summary

  • Fastlane — open-source-verktyg för automatisering av byggen, testning och publicering av mobilappar för iOS och Android
  • Fastfile — konfigurationsfil i Ruby som beskriver lanes — scenarier med en sekvens av actions
  • match + gym + pilot — standard pipeline för iOS: certifikathantering, bygge av IPA, uppladdning till TestFlight
  • gradle + supply — standard pipeline för Android: bygge via Gradle, uppladdning till Google Play Console
  • CI/CD-integration — Fastlane integreras i GitHub Actions, GitLab CI, Bitrise, Jenkins och CircleCI via miljövariabler
  • 200+ actions — inbyggda kommandon för signering, bygge, testning, skärmbilder, publicering och notifieringar
  • Plugin — community-tillägg som lägger till nya actions: versionshantering, Sentry, meddelanden i chattappar

Vi utvecklar en mobil applikation nyckelfärdigt

IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.

Diskutera projektet

Läs också