Ang Fastlane ay isang open-source na tool para sa pag-automate ng pag-build, pag-test, at pag-publish ng mga iOS at Android app. Sa halip na manu-manong magsagawa ng maraming command para sa pag-sign, pag-build, at pag-upload sa tindahan, inilalarawan ng developer ang buong proseso sa Fastfile at pinapatakbo ito gamit ang isang command. Ayon sa Fastlane Docs, 2025, ang tool ay ginagamit sa mahigit 1.5 milyon na proyekto sa buong mundo. Pinagsasama ng Fastlane ang mga utility para sa pagtatrabaho sa App Store Connect, Google Play Console at mga sistema ng pag-sign ng code.
Mga Pangunahing Punto
Fastlane ay isang tool sa pag-automate ng mobile builds, na nakasulat sa Ruby at ipinamamahagi sa ilalim ng MIT license. Ina-automate nito ang mga routine task ng mobile developer: pag-build ng app, pagpapatakbo ng mga test, paggawa ng mga screenshot, pag-sign ng code at pag-upload ng binary file sa App Store o Google Play. Sa halip na 15–20 manual command, ang developer ay nagpapatakbo ng isang fastlane command na may pangalan ng scenario.
Ang Fastlane ay gumagana bilang isang wrapper para sa mga utility ng Xcode (xcodebuild, xcrun) at Android SDK (gradlew, apksigner, bundletool), na nagbibigay ng pinag-isang interface para sa parehong platform. Ito ay lalong mahalaga para sa mga team na nagpapanatili ng iOS at Android na bersyon ng parehong app — ang magkaparehong Fastfile ay maaaring maglarawan ng builds para sa parehong platform na may kaunting pagkakaiba sa parameter.
Ayon sa GitHub, ang Fastlane ay may higit sa 39 libong bituin at ito ang pamantayan ng automation sa mobile development. Ang tool ay sinusuportahan ng komunidad at ng kumpanyang Google — ang Fastlane ay isinama sa Firebase bilang inirerekomendang paraan ng paghahatid ng Android apps sa Google Play Console.
Ang arkitektura ng Fastlane ay binuo sa tatlong antas: actions (mga pangunahing command), lanes (mga scenario) at mga tool (mga espesyalisadong utility). Ang Actions ay mga indibidwal na function ng Fastlane, bawat isa ay gumaganap ng isang partikular na aksyon: paggawa ng screenshot, pag-build ng IPA, pag-upload sa TestFlight. Pinagsasama ng Lanes ang maraming actions sa isang sequential scenario na inilalarawan sa Fastfile.
Actions ay mga building block ng Fastlane. Bawat action ay tumatanggap ng mga parameter at gumaganap ng isang gawain. Halimbawa, action gym ay nag-build ng iOS app, scan ay nagpapatakbo ng mga test, pilot ay nag-uupload ng build sa TestFlight. Ang Fastlane ay may higit sa 200 built-in na actions, dokumentasyon para sa bawat isa ay makukuha sa pamamagitan ng command fastlane action [pangalan].
Kung hindi sapat ang mga built-in na actions, ang developer ay maaaring lumikha ng custom action sa Ruby at ikonekta ito sa Fastfile. Ang mga custom action ay ipinamamahagi sa pamamagitan ng Fastlane plugins, na nai-publish sa Rubygems at naka-install sa pamamagitan ng FastfilePlugin file sa root ng proyekto.
Lane ay isang pinangalanang automation scenario na pinagsasama ang maraming actions sa isang lohikal na pagkakasunod-sunod. Ang lane ay maaaring tumawag ng ibang lanes (private lanes), magpasa ng mga parameter at humawak ng mga error. Ito ay nagbibigay-daan sa pagbuo ng hierarchy ng mga scenario: base build lane, deploy lane, buong CI/CD cycle lane.
Fastlane ay may kasamang hanay ng mga espesyalisadong tool, bawat isa ay lumulutas ng isang partikular na gawain ng mobile automation. Ang mga tool ay pinapatakbo bilang actions sa loob ng lanes o direkta mula sa command line. Tingnan natin ang apat na pangunahing tool na sumasaklaw sa mga pangunahing pangangailangan ng CI/CD para sa iOS at Android.
| Tool | Function | Command |
|---|---|---|
| scan | Pagpapatakbo ng Unit at UI test sa iOS simulator | fastlane scan |
| gym | Pag-build ng IPA o APP file para sa iOS | fastlane gym |
| match | Pag-sync ng certificate at provisioning profiles sa pamamagitan ng Git | fastlane match |
| deliver | Pag-upload ng binary file at metadata sa App Store Connect | fastlane deliver |
| snapshot | Awtomatikong paggawa ng screenshot sa iba't ibang device | fastlane snapshot |
Scan ay pinapasimple ang pagpapatakbo ng Xcode test, awtomatikong pumipili ng angkop na simulator at nagfo-format ng report. Gym ay nag-build ng app na may optimal compilation flags at sumusuporta sa exportOptions.plist para sa iba't ibang uri ng build (development, adhoc, appstore). Deliver ay nagbibigay-daan sa pag-upload hindi lamang ng binary file, kundi pati na rin ng mga screenshot, deskripsyon, bersyon at presyo sa pamamagitan ng isang metadata file.
Ang tool na Match ay nararapat ng espesyal na atensyon — nilulutas nito ang problema ng pag-iimbak at pag-sync ng iOS certificate sa isang team. Ang Match ay nag-e-encrypt at nag-iimbak ng mga certificate at provisioning profiles sa Git repository, at awtomatikong nakukuha ito ng mga developer kapag pinatakbo ang fastlane match. Tinatanggal nito ang manual configuration ng bawat workstation.
Snapshot ay isang tool para sa awtomatikong paggawa ng screenshot ng mobile app sa iba't ibang device at wika. Ang Snapshot ay nagpapatakbo ng UI test sa iOS simulators, kumukuha ng screenshot sa bawat hakbang ng test. Ang mga resulta ay nai-save sa fastlane/screenshots directory at maaaring i-upload sa App Store Connect sa pamamagitan ng deliver.
Para sa Android screengrab ay gumaganap ng katulad na function sa Android emulators. Parehong tool ay sumusuporta sa localization — ang mga screenshot ay ginagawa para sa bawat wika, na pinapasimple ang paghahanda ng materyal para sa publikasyon sa mga multilingual app store.
Para sa iOS projects, ang Fastlane ay na-configure sa pamamagitan ng Gemfile (pag-install ng gem fastlane) at Fastfile sa fastlane directory. Ang paunang configuration ay ginagawa gamit ang command fastlane init, na lumilikha ng pangunahing istraktura ng directory, humihingi ng data ng App Store Connect, at bumubuo ng Fastfile template na may mga pangunahing lanes.
Ang pangunahing command para sa iOS — fastlane match — ay dapat patakbuhin muna upang makuha ang mga certificate at provisioning profiles. Pagkatapos ng matagumpay na pag-sign, ang Fastlane ay maaaring mag-build ng app (gym), magpatakbo ng mga test (scan) at mag-upload ng binary file (pilot o deliver).
# Fastfile para sa 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: 'Na-upload ang bagong bersyon sa TestFlight')
end
Para sa pagtatrabaho sa TestFlight gamitin ang pilot action — ina-upload nito ang IPA at namamahala ng mga tester. Sinusuportahan ng Fastlane ang upload_to_testflight (kasingkahulugan ng pilot) at awtomatikong hinahawakan ang paghihintay sa pagproseso ng build ng Apple, na maaaring tumagal ng 5 hanggang 30 minuto.
Para sa Android projects, ang Fastlane ay na-configure nang katulad, ngunit sa halip na Xcode tools, ang Gradle at Android SDK ang ginagamit. Ang Fastlane para sa Android ay sumusuporta sa pag-build ng APK at AAB, pag-sign sa pamamagitan ng apksigner o jarsigner, pagpapatakbo ng instrumental test at pag-upload sa Google Play Console sa pamamagitan ng Supply action.
Ang pangunahing pagkakaiba — Android build ay hindi nangangailangan ng pamamahala ng certificate sa pamamagitan ng match (ang Android signing ay pinamamahalaan sa pamamagitan ng Keystore, na naka-imbak nang hiwalay). Ang Fastlane para sa Android ay gumagamit ng gradle action para sa pagpapatakbo ng anumang Gradle tasks at supply action para sa pagtatrabaho sa Google Play.
# Fastfile para sa 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
Para sa pagtatrabaho sa Google Play Console kinakailangan ang Google Cloud service account na may access sa Google Play API. Ang Fastlane ay tumatanggap ng JSON key ng service account sa pamamagitan ng environment variable na SUPPLY_JSON_KEY o parameter na json_key sa action supply. Ang track ng publikasyon ay maaaring internal, alpha, beta o production.
Fastlane ay isinasama sa anumang CI/CD system na maaaring magpatakbo ng Ruby scripts: Jenkins, Travis CI, GitHub Actions, GitLab CI, Bitrise at CircleCI. Ang pagsasama ay binubuo ng pag-install ng gem fastlane at pagpapatakbo ng command fastlane [lane_name] sa script stage ng pipeline.
Para sa CI/CD, mahalagang i-set up ang environment variables para sa pag-iimbak ng sensitibong data: MATCH_PASSWORD (password ng encryption ng certificate), FASTLANE_USER (Apple ID), FASTLANE_PASSWORD (password ng Apple ID). Sa Travis CI, ang mga variable ay naka-encrypt sa pamamagitan ng travis encrypt, sa GitHub Actions — sa pamamagitan ng Secrets repository.
Inirerekomendang kasanayan — gumamit ng fastlane match sa CI/CD na may readonly flag upang maiwasan ang aksidenteng pagbabago sa repository ng certificate. Para sa Android gumamit ng Keystore, na naka-encode sa Base64 at naka-save sa environment variable, na na-decrypt at nai-save sa temporary file sa before_install stage.
Fastlane Match ay isang tool para sa pag-automate ng pamamahala ng iOS certificate at provisioning profiles, isa sa pinakamahalagang function ng Fastlane para sa mga team. Ang Match ay lumilikha ng naka-encrypt na Git repository (o gumagamit ng umiiral na) kung saan iniimbak ang lahat ng certificate at profile, na nagsi-sync sa pagitan ng mga developer at CI/CD server.
Ang Match ay sumusuporta sa limang uri ng profile: development, adhoc, appstore, enterprise at developer_id. Ang bawat uri ay naka-imbak sa magkahiwalay na directory sa loob ng repository. Ang command na fastlane match development ay nag-i-install ng development certificate sa lokal na makina, at ang fastlane match appstore ay nag-i-install ng App Store profile para sa build sa CI.
# Paggamit ng Match sa 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
Ang seguridad ng Match ay tinitiyak sa pamamagitan ng encryption ng lahat ng file bago i-commit sa Git. Ang encryption password ay itinatakda sa pamamagitan ng environment variable na MATCH_PASSWORD at dapat ay pareho para sa lahat ng miyembro ng team. Ang Match ay gumagamit ng OpenSSL para sa encryption at hindi nag-iimbak ng password sa plain text sa repository.
Mga Madalas Itanong
Fastlane ay isang Open Source automation tool para sa iOS at Android apps. Ina-automate nito ang pag-build, pag-test, pag-sign ng code at paghahatid sa App Store at Google Play sa pamamagitan ng isang configuration file na Fastfile at set ng mga built-in na tool.
Mga pangunahing tool ng Fastlane: scan (test), gym (iOS build), match (certificate), deliver (App Store), pilot (TestFlight), snapshot (screenshot), supply (Google Play) at frameit (frame para sa screenshot). Bawat tool ay available bilang action sa loob ng lane o mula sa command line.
I-install ang gem fastlane, patakbuhin ang fastlane init sa root ng proyekto. I-configure ang Fastfile na may lanes para sa build (gym) at test (scan). I-set up ang Match para sa pamamahala ng certificate sa pamamagitan ng Git repository. Magdagdag ng deploy lane na may pilot o deliver para sa pag-upload sa App Store Connect.
Patakbuhin ang fastlane init na may package name. Gamitin ang gradle action para sa pagpapatakbo ng Gradle tasks (assembleRelease, testReleaseUnitTest). I-configure ang Keystore sa pamamagitan ng environment variables. Gamitin ang supply action para sa pag-upload ng AAB o APK sa Google Play Console sa nais na track.
I-install ang gem fastlane sa CI/CD server at idagdag ang command fastlane [lane_name] sa script stage ng pipeline. I-set up ang environment variables na FASTLANE_USER, FASTLANE_PASSWORD at MATCH_PASSWORD sa CI/CD secret variables. Gamitin ang match readonly para sa CI upang maiwasan ang aksidenteng pagbabago ng certificate.
Buod
Gagawa kami ng mobile application na turnkey
Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.
Basahin din