Fastlane je open-source nástroj pro automatizaci sestavení, testování a publikování iOS a Android aplikací. Místo ručního provádění desítek příkazů pro podepisování, sestavení a nahrávání do obchodu, vývojář popíše celý proces v Fastfile a spustí jej jedním příkazem. Podle Fastlane Docs, 2025 je nástroj používán ve více než 1,5 milionu projektů po celém světě. Fastlane sdružuje nástroje pro práci s App Store Connect, Google Play Console a systémy pro podepisování kódu.
Hlavní body
Fastlane je nástroj pro automatizaci mobilních sestavení, napsaný v Ruby a distribuovaný pod licencí MIT. Automatizuje rutinní úkoly mobilního vývojáře: sestavení aplikace, spouštění testů, vytváření snímků obrazovky, podepisování kódu a nahrávání binárních souborů do App Store nebo Google Play. Místo 15–20 ručních příkazů vývojář spustí jeden příkaz fastlane s názvem scénáře.
Fastlane funguje jako wrapper pro nástroje Xcode (xcodebuild, xcrun) a Android SDK (gradlew, apksigner, bundletool) a poskytuje jednotné rozhraní pro obě platformy. To je zvláště cenné pro týmy, které udržují iOS a Android verze stejné aplikace — stejné Fastfile mohou popisovat sestavení pro obě platformy s minimálními rozdíly v parametrech.
Podle GitHub má Fastlane více než 39 tisíc hvězd a je standardem automatizace v mobilním vývoji. Nástroj je podporován komunitou a společností Google — Fastlane je integrován do Firebase jako doporučený způsob doručení Android aplikací do Google Play Console.
Architektura Fastlane je postavena na třech úrovních: actions (základní příkazy), lanes (scénáře) a nástroje (specializované nástroje). Actions jsou jednotlivé funkce Fastlane, z nichž každá provádí konkrétní akci: vytvoření snímku obrazovky, sestavení IPA, nahrání do TestFlight. Lanes spojují více actions do sekvenčního scénáře popsaného v Fastfile.
Actions jsou stavební bloky Fastlane. Každá action přijímá parametry a provádí jeden úkol. Například action gym sestaví iOS aplikaci, scan spouští testy, pilot nahrává build do TestFlight. Fastlane má celkem více než 200 vestavěných actions, dokumentace ke každé je k dispozici prostřednictvím příkazu fastlane action [název].
Pokud vestavěné actions nestačí, vývojář může vytvořit custom action v Ruby a připojit ji v Fastfile. Vlastní actions jsou distribuovány prostřednictvím Fastlane pluginů, které jsou publikovány na Rubygems a instalovány prostřednictvím souboru FastfilePlugin v kořeni projektu.
Lane je pojmenovaný automatizační scénář, který spojuje více actions do logické sekvence. Lane může volat jiné lanes (private lanes), předávat parametry a zpracovávat chyby. To umožňuje vytvoření hierarchie scénářů: základní lane sestavení, lane nasazení, lane úplného CI/CD cyklu.
Fastlane obsahuje sadu specializovaných nástrojů, z nichž každý řeší konkrétní úkol mobilní automatizace. Nástroje se spouštějí jako actions uvnitř lanes nebo přímo z příkazové řádky. Podívejme se na čtyři klíčové nástroje, které pokrývají hlavní potřeby CI/CD pro iOS a Android.
| Nástroj | Účel | Příkaz |
|---|---|---|
| scan | Spouštění Unit a UI testů na iOS simulátoru | fastlane scan |
| gym | Sestavení IPA nebo APP souboru pro iOS | fastlane gym |
| match | Synchronizace certifikátů a provisioning profilů přes Git | fastlane match |
| deliver | Nahrání binárního souboru a metadat do App Store Connect | fastlane deliver |
| snapshot | Automatické generování snímků obrazovky na různých zařízeních | fastlane snapshot |
Scan zjednodušuje spouštění Xcode testů, automaticky vybírá vhodný simulátor a formátuje zprávu. Gym sestaví aplikaci s optimálními kompilačními příznaky a podporuje exportOptions.plist pro různé typy sestavení (development, adhoc, appstore). Deliver umožňuje nahrát nejen binární soubor, ale také snímky obrazovky, popis, verze a ceny prostřednictvím jednoho souboru metadat.
Nástroj Match si zaslouží zvláštní pozornost — řeší problém ukládání a synchronizace iOS certifikátů v týmu. Match šifruje a ukládá certifikáty a provisioning profily v Git repozitáři a vývojáři je automaticky získají při spuštění fastlane match. To eliminuje ruční nastavování každého pracovního místa.
Snapshot je nástroj pro automatické vytváření snímků obrazovky mobilní aplikace na různých zařízeních a jazycích. Snapshot spouští UI testy na iOS simulátorech a pořizuje snímky obrazovky v každém kroku testu. Výsledky se ukládají do adresáře fastlane/screenshots a lze je nahrát do App Store Connect prostřednictvím deliver.
Pro Android screengrab vykonává podobnou funkci na Android emulátorech. Oba nástroje podporují lokalizaci — snímky obrazovky se vytvářejí pro každý jazyk, což zjednodušuje přípravu materiálů pro publikaci ve vícejazyčných obchodech s aplikacemi.
Pro iOS projekty se Fastlane nastavuje přes Gemfile (instalace gem fastlane) a Fastfile v adresáři fastlane. Počáteční nastavení se provádí příkazem fastlane init, který vytvoří základní adresářovou strukturu, vyžádá data App Store Connect a vygeneruje šablonu Fastfile se základními lanes.
Klíčový příkaz pro iOS — fastlane match — musí být proveden jako první pro získání certifikátů a provisioning profilů. Po úspěšném podepsání může Fastlane sestavit aplikaci (gym), spustit testy (scan) a nahrát binární soubor (pilot nebo deliver).
# Fastfile pro iOS aplikaci
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: 'Nová verze byla nahrána do TestFlight')
end
Pro práci s TestFlight použijte pilot action — nahraje IPA a spravuje testery. Fastlane podporuje upload_to_testflight (synonymum pro pilot) a automaticky zpracovává čekání na zpracování buildu Apple, což může trvat 5 až 30 minut.
Pro Android projekty se Fastlane nastavuje podobně, ale místo nástrojů Xcode se používají Gradle a Android SDK. Fastlane pro Android podporuje sestavení APK a AAB, podepisování přes apksigner nebo jarsigner, spouštění instrumentačních testů a nahrávání do Google Play Console přes Supply action.
Klíčový rozdíl — Android sestavení nevyžaduje správu certifikátů přes match (podepisování Android je řízeno přes Keystore, který je uložen samostatně). Fastlane pro Android používá gradle action pro spouštění jakýchkoli Gradle úloh a supply action pro práci s Google Play.
# Fastfile pro Android aplikaci
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
Pro práci s Google Play Console je vyžadován servisní účet Google Cloud s přístupem k Google Play API. Fastlane přijímá JSON klíč servisního účtu prostřednictvím proměnné prostředí SUPPLY_JSON_KEY nebo parametru json_key v action supply. Publikační stopa může být internal, alpha, beta nebo production.
Fastlane se integruje s jakýmikoli CI/CD systémy, které mohou spouštět Ruby skripty: Jenkins, Travis CI, GitHub Actions, GitLab CI, Bitrise a CircleCI. Integrace spočívá v instalaci gem fastlane a spuštění příkazu fastlane [lane_name] ve fázi script pipeline.
Pro CI/CD je důležité nastavit proměnné prostředí pro ukládání citlivých údajů: MATCH_PASSWORD (heslo pro šifrování certifikátů), FASTLANE_USER (Apple ID), FASTLANE_PASSWORD (heslo Apple ID). V Travis CI jsou proměnné šifrovány přes travis encrypt, v GitHub Actions — přes Secrets repository.
Doporučený postup — používejte fastlane match v CI/CD s příznakem readonly, aby nedošlo k náhodným změnám v repozitáři certifikátů. Pro Android použijte Keystore, zakódovaný v Base64 a uložený v proměnné prostředí, který je dešifrován a uložen do dočasného souboru ve fázi before_install.
Fastlane Match je nástroj pro automatizaci správy iOS certifikátů a provisioning profilů, jedna z nejcennějších funkcí Fastlane pro týmy. Match vytváří šifrovaný Git repozitář (nebo používá existující), kde ukládá všechny certifikáty a profily, a synchronizuje je mezi vývojáři a CI/CD servery.
Match podporuje pět typů profilů: development, adhoc, appstore, enterprise a developer_id. Každý typ je uložen v samostatném adresáři uvnitř repozitáře. Příkaz fastlane match development nainstaluje development certifikáty na lokální počítač a fastlane match appstore nainstaluje App Store profily pro sestavení na CI.
# Použití Match v 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
Bezpečnost Match je zajištěna šifrováním všech souborů před commitem do Git. Šifrovací heslo se nastavuje prostřednictvím proměnné prostředí MATCH_PASSWORD a musí být stejné pro všechny členy týmu. Match používá OpenSSL pro šifrování a neukládá heslo v otevřené podobě v repozitáři.
Často kladené otázky
Fastlane je Open Source automatizační nástroj pro iOS a Android aplikace. Automatizuje sestavení, testování, podepisování kódu a doručení do App Store a Google Play prostřednictvím jednoho konfiguračního souboru Fastfile a sady vestavěných nástrojů.
Hlavní nástroje Fastlane: scan (testy), gym (sestavení iOS), match (certifikáty), deliver (App Store), pilot (TestFlight), snapshot (snímky obrazovky), supply (Google Play) a frameit (rámečky pro snímky). Každý nástroj je k dispozici jako action uvnitř lane nebo z příkazové řádky.
Nainstalujte gem fastlane, spusťte fastlane init v kořeni projektu. Nakonfigurujte Fastfile s lanes pro sestavení (gym) a testy (scan). Nastavte Match pro správu certifikátů přes Git repozitář. Přidejte lane nasazení s pilot nebo deliver pro nahrání do App Store Connect.
Spusťte fastlane init s uvedením package name. Použijte gradle action pro spouštění Gradle úloh (assembleRelease, testReleaseUnitTest). Nastavte Keystore pomocí proměnných prostředí. Použijte supply action pro nahrání AAB nebo APK do Google Play Console na požadovanou stopu.
Nainstalujte gem fastlane na CI/CD server a přidejte příkaz fastlane [lane_name] do fáze script pipeline. Nastavte proměnné prostředí FASTLANE_USER, FASTLANE_PASSWORD a MATCH_PASSWORD v tajných proměnných CI/CD. Použijte match readonly pro CI, abyste předešli náhodným změnám certifikátů.
Shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.
Přečtěte si také