A Fastlane egy nyílt forráskódú eszköz iOS és Android alkalmazások build-jének, tesztelésének és publikálásának automatizálására. Ahelyett, hogy kézzel tucatnyi parancsot hajtana végre az aláíráshoz, build-hez és feltöltéshez a boltba, a fejlesztő leírja a teljes folyamatot egy Fastfile-ban és egyetlen paranccsal indítja el. A Fastlane Docs, 2025 szerint az eszközt világszerte több mint 1,5 millió projektben használják. A Fastlane egyesíti az App Store Connect, Google Play Console és kódaláírási rendszerekkel való munkához szükséges segédprogramokat.
Főbb pontok
Fastlane egy mobil build-ek automatizálására szolgáló eszköz, Ruby nyelven írva és MIT licenc alatt terjesztve. Automatizálja a mobilfejlesztő rutin feladatait: az alkalmazás build-je, tesztek futtatása, képernyőképek készítése, kód aláírása és bináris fájlok feltöltése az App Store-ba vagy Google Play-be. 15–20 kézi parancs helyett a fejlesztő egyetlen fastlane parancsot futtat a forgatókönyv nevével.
A Fastlane wrapper-ként működik az Xcode (xcodebuild, xcrun) és Android SDK (gradlew, apksigner, bundletool) segédprogramok körül, egységes felületet biztosítva mindkét platformhoz. Ez különösen értékes azoknak a csapatoknak, amelyek ugyanazon alkalmazás iOS és Android verzióját is karbantartják — azonos Fastfile-ok írhatják le a build-eket mindkét platformhoz minimális paraméterbeli eltéréssel.
A GitHub adatai szerint a Fastlane több mint 39 ezer csillaggal rendelkezik, és az automatizálás szabványa a mobilfejlesztésben. Az eszközt a közösség és a Google támogatja — a Fastlane integrálva van a Firebase-be, mint az Android alkalmazások Google Play Console-ba történő szállításának ajánlott módja.
A Fastlane architektúra három szintre épül: actions (alap parancsok), lanes (forgatókönyvek) és eszközök (speciális segédprogramok). Az Actions a Fastlane egyedi függvényei, amelyek mindegyike egy adott műveletet hajt végre: képernyőkép készítése, IPA build-je, feltöltés TestFlight-ba. A Lanes több actions-t egyesít egy szekvenciális forgatókönyvbe, amelyet a Fastfile ír le.
Actions a Fastlane építőkövei. Minden action paramétereket fogad és egy feladatot hajt végre. Például a gym action iOS alkalmazást build-el, a scan teszteket futtat, a pilot build-et tölt fel a TestFlight-ba. A Fastlane összesen több mint 200 beépített action-nel rendelkezik, mindegyikhez a fastlane action [név] paranccsal érhető el a dokumentáció.
Ha a beépített actions nem elegendőek, a fejlesztő létrehozhat egy custom action-t Ruby-ban és csatlakoztathatja azt a Fastfile-ban. Az egyedi action-ök Fastlane plugin-eken keresztül terjeszthetők, amelyek a Rubygems-en jelennek meg és a FastfilePlugin fájlon keresztül telepíthetők a projekt gyökerében.
Lane egy elnevezett automatizálási forgatókönyv, amely több actions-t egyesít logikai sorrendbe. Egy lane hívhat más lane-eket (private lanes), továbbíthat paramétereket és kezelhet hibákat. Ez lehetővé teszi forgatókönyv-hierarchia építését: alap build lane, deploy lane, teljes CI/CD ciklus lane.
Fastlane speciális eszközök készletét tartalmazza, amelyek mindegyike a mobil automatizálás egy adott feladatát oldja meg. Az eszközök actions-ként indulnak a lane-eken belül vagy közvetlenül a parancssorból. Nézzük meg a négy kulcsfontosságú eszközt, amelyek lefedik a CI/CD alapvető igényeit iOS és Android esetén.
| Eszköz | Rendeltetés | Parancs |
|---|---|---|
| scan | Unit és UI tesztek futtatása iOS szimulátoron | fastlane scan |
| gym | IPA vagy APP fájl build-je iOS-hez | fastlane gym |
| match | Tanúsítványok és provisioning profilok szinkronizálása Git-en keresztül | fastlane match |
| deliver | Bináris fájl és metaadatok feltöltése App Store Connect-be | fastlane deliver |
| snapshot | Képernyőképek automatikus generálása különböző eszközökön | fastlane snapshot |
Scan leegyszerűsíti az Xcode tesztek futtatását, automatikusan kiválasztja a megfelelő szimulátort és formázza a jelentést. Gym optimális fordítási jelzőkkel build-eli az alkalmazást és támogatja az exportOptions.plist-et különböző build típusokhoz (development, adhoc, appstore). Deliver lehetővé teszi nem csak a bináris fájl, hanem képernyőképek, leírás, verziók és árak feltöltését egyetlen metaadat fájlon keresztül.
A Match eszköz külön figyelmet érdemel — megoldja az iOS tanúsítványok tárolásának és szinkronizálásának problémáját a csapatban. A Match titkosítja és tárolja a tanúsítványokat és provisioning profilokat egy Git repository-ban, a fejlesztők pedig automatikusan megkapják azokat a fastlane match futtatásakor. Ez kiküszöböli az egyes munkaállomások kézi beállítását.
Snapshot egy eszköz a mobilalkalmazás képernyőképeinek automatikus létrehozásához különböző eszközökön és nyelveken. A Snapshot UI teszteket futtat iOS szimulátorokon, képernyőképeket készítve a teszt minden lépésénél. Az eredmények a fastlane/screenshots könyvtárba kerülnek, és a deliver segítségével feltölthetők az App Store Connect-be.
Android esetén a screengrab hasonló funkciót lát el Android emulátorokon. Mindkét eszköz támogatja a lokalizációt — a képernyőképek minden nyelvhez elkészülnek, leegyszerűsítve a többnyelvű alkalmazásboltokban való publikáláshoz szükséges anyagok előkészítését.
iOS projekteknél a Fastlane a Gemfile-en (gem fastlane telepítése) és a fastlane könyvtárban lévő Fastfile-on keresztül konfigurálható. A kezdeti beállítás a fastlane init paranccsal történik, amely létrehozza az alap könyvtárszerkezetet, bekéri az App Store Connect adatokat, és generál egy Fastfile sablont az alap lane-ekkel.
A legfontosabb parancs iOS-hez — fastlane match — amelyet elsőként kell futtatni a tanúsítványok és provisioning profilok beszerzéséhez. Sikeres aláírás után a Fastlane build-elheti az alkalmazást (gym), futtathat teszteket (scan) és feltöltheti a bináris fájlt (pilot vagy deliver).
# Fastfile iOS alkalmazáshoz
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: 'Az új verzió feltöltve a TestFlight-ba')
end
A TestFlight használatához a pilot action-t használja — ez feltölti az IPA-t és kezeli a tesztelőket. A Fastlane támogatja az upload_to_testflight (a pilot szinonimája) parancsot, és automatikusan kezeli az Apple build feldolgozására való várakozást, ami 5 és 30 perc között tarthat.
Android projekteknél a Fastlane hasonlóan konfigurálható, de az Xcode eszközök helyett Gradle és Android SDK használatos. A Fastlane Android esetén támogatja APK és AAB build-elését, aláírást apksigner vagy jarsigner segítségével, instrumentációs tesztek futtatását és feltöltést a Google Play Console-ba a Supply action-ön keresztül.
A legfontosabb különbség — az Android build nem igényel tanúsítványkezelést a match-en keresztül (az Android aláírást a Keystore kezeli, amelyet külön tárolnak). A Fastlane Android esetén a gradle action-t használja bármilyen Gradle feladat futtatásához és a supply action-t a Google Play-jel való munkához.
# Fastfile Android alkalmazáshoz
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
A Google Play Console-hoz való munkához Google Cloud szolgáltatásfiók szükséges Google Play API hozzáféréssel. A Fastlane a szolgáltatásfiók JSON kulcsát a SUPPLY_JSON_KEY környezeti változón vagy a supply action json_key paraméterén keresztül fogadja. A publikációs track lehet internal, alpha, beta vagy production.
Fastlane integrálható bármely CI/CD rendszerrel, amely Ruby script-eket képes futtatni: Jenkins, Travis CI, GitHub Actions, GitLab CI, Bitrise és CircleCI. Az integráció a gem fastlane telepítéséből és a fastlane [lane_name] parancs futtatásából áll a pipeline script szakaszában.
CI/CD esetén fontos a környezeti változók beállítása az érzékeny adatok tárolásához: MATCH_PASSWORD (tanúsítvány titkosítási jelszó), FASTLANE_USER (Apple ID), FASTLANE_PASSWORD (Apple ID jelszó). Travis CI-ben a változók a travis encrypt-en keresztül, GitHub Actions-ben a Secrets repository-n keresztül titkosíthatók.
Ajánlott gyakorlat — használja a fastlane match-et CI/CD-ben readonly jelzővel, hogy megakadályozza a tanúsítvány repository véletlen módosítását. Android esetén használjon Base64 kódolású, környezeti változóban tárolt Keystore-t, amely a before_install szakaszban visszafejtésre és ideiglenes fájlba mentésre kerül.
Fastlane Match egy eszköz az iOS tanúsítványok és provisioning profilok kezelésének automatizálására, a Fastlane egyik legértékesebb funkciója a csapatok számára. A Match létrehoz egy titkosított Git repository-t (vagy használ egy meglévőt), ahol az összes tanúsítvány és profil tárolásra kerül, szinkronizálva azokat a fejlesztők és CI/CD szerverek között.
A Match öt profiltípust támogat: development, adhoc, appstore, enterprise és developer_id. Minden típus külön könyvtárban tárolódik a repository-n belül. A fastlane match development parancs telepíti a development tanúsítványokat a helyi gépre, a fastlane match appstore pedig az App Store profilokat a CI build-hez.
# Match használata Fastfile-ban
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
A Match biztonságát az összes fájl titkosítása biztosítja a Git-be commit előtt. A titkosítási jelszó a MATCH_PASSWORD környezeti változón keresztül állítható be, és azonosnak kell lennie a csapat összes tagjánál. A Match OpenSSL-t használ a titkosításhoz, és nem tárolja a jelszót nyílt szövegként a repository-ban.
Gyakran Ismételt Kérdések
Fastlane egy nyílt forráskódú automatizálási eszköz iOS és Android alkalmazásokhoz. Automatizálja a build-elést, tesztelést, kódaláírást és szállítást az App Store-ba és Google Play-be egyetlen konfigurációs fájlon, a Fastfile-on és beépített eszközök készletén keresztül.
A Fastlane fő eszközei: scan (tesztek), gym (iOS build), match (tanúsítványok), deliver (App Store), pilot (TestFlight), snapshot (képernyőképek), supply (Google Play) és frameit (keretek képernyőképekhez). Minden eszköz elérhető action-ként lane-en belül vagy a parancssorból.
Telepítse a gem fastlane-t, futtassa a fastlane init-et a projekt gyökerében. Konfigurálja a Fastfile-t build (gym) és teszt (scan) lane-ekkel. Állítsa be a Match-et a tanúsítványkezeléshez Git repository-n keresztül. Adjon hozzá egy deploy lane-t pilot vagy deliver segítségével az App Store Connect-be való feltöltéshez.
Futtassa a fastlane init-et a package name megadásával. Használja a gradle action-t Gradle feladatok futtatásához (assembleRelease, testReleaseUnitTest). Konfigurálja a Keystore-t környezeti változókon keresztül. Használja a supply action-t az AAB vagy APK Google Play Console-ba történő feltöltéséhez a kívánt track-re.
Telepítse a gem fastlane-t a CI/CD szerverre, és adja hozzá a fastlane [lane_name] parancsot a pipeline script szakaszához. Állítsa be a FASTLANE_USER, FASTLANE_PASSWORD és MATCH_PASSWORD környezeti változókat a CI/CD titkos változókban. Használja a match readonly-t CI esetén a tanúsítványok véletlen módosításának elkerülésére.
Összegzés
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is