Fastlane: ano ito, automation ng mga build at publikasyon

May-akda: IT Sectr Nai-publish: 2026-02-13 Oras ng pagbabasa: 10 min

Fastlane — kasangkapan para sa automation ng mga build at publikasyon ng mga mobile app para sa iOS at Android. Pinamamahalaan ng Fastlane ang pag-sign ng code, build, pagpapatakbo ng mga test, paggawa ng mga screenshot, at pag-upload sa App Store Connect at Google Play Console. Ito ang de facto na pamantayan para sa CI/CD sa pag-develop ng mobile.

Mga pangunahing konklusyon

  • Ina-automate ng Fastlane ang buong pipeline ng mobile release: build, pagsubok, pag-sign, at publikasyon sa isang utos
  • Fastfile — file ng configuration sa Ruby, kung saan inilalarawan ang mga lanes — pinangalanang mga senaryo ng automation
  • Suporta para sa iOS at Android — gumagana ang Fastlane sa Xcode, Gradle, App Store Connect, Google Play, TestFlight, at Firebase
  • match at sigh — pamamahala ng mga sertipiko at provisioning profile para sa pag-develop ng iOS
  • Integrasyon sa CI/CD — isinasama ang Fastlane sa GitHub Actions, GitLab CI, Bitrise, Jenkins, at CircleCI

Fastlane — ano ito

Fastlane — ay isang open-source na kasangkapan na nag-a-automate ng mga nakagawiang gawain sa pag-develop ng mobile: pagbuo ng app, pagpapatakbo ng mga test, paggawa ng mga screenshot, pamamahala ng mga sertipiko, pag-upload ng mga build sa TestFlight, App Store, at Google Play. Ang Fastlane ay nakasulat sa Ruby at ipinamamahagi sa pamamagitan ng RubyGems gamit ang utos na gem install fastlane.

Lumitaw ang Fastlane noong 2015 bilang isang iOS na kasangkapan, ngunit mabilis na lumawak sa Android. Ngayon ito ay isang ecosystem ng dose-dosenang mga action — mga built-in na utos na maaaring pagsamahin sa mga senaryo, tinatawag na mga lane. Ang bawat lane ay gumaganap ng isang partikular na gawain: halimbawa, ang build_release ay bumubuo ng bersyon ng release, at ang deploy_beta ay nag-a-upload ng build sa TestFlight.

Ang Fastlane ay ginagamit ng mga kumpanya tulad ng Uber, Airbnb, Snapchat, Twitter, at Shopify. Ayon sa isang survey noong 2024, higit sa 60% ng mga iOS developer ang gumagamit ng Fastlane sa kanilang mga proyekto. Ang kasangkapan ay sumusuporta sa parehong lokal na pagpapatupad at integrasyon sa mga cloud CI system, na ginagawa itong de facto na pamantayan para sa mobile CI/CD.

ruby
# Pag-install ng Fastlane
sudo gem install fastlane -NV

# Initialization sa proyekto
fastlane init

Pagkatapos ng initialization, lumilikha ang Fastlane ng direktoryo na fastlane/ na may tatlong file: Fastfile (mga senaryo), Appfile (mga setting ng app), at Matchfile (mga setting ng sertipiko). Ang istraktura na ito ay nananatiling pareho para sa parehong platform — iOS at Android.

Fastfile at mga lane

Ang pangunahing file ng configuration ng Fastlane — Fastfile. Ito ay matatagpuan sa direktoryo na fastlane/ sa root ng proyekto. Ang Fastfile ay isinusulat sa Ruby: ang bawat lane ay isang pinangalanang bloke na may pagkakasunod-sunod ng mga action. Ang lane ay maaaring tumanggap ng mga parameter, tumawag ng iba pang mga lane, at magbalik ng mga halaga.

ruby
# fastlane/Fastfile — halimbawa para sa 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

Ang bawat lane ay pinapatakbo gamit ang utos na fastlane ios beta o fastlane ios release. Ang Fastfile ay sumusuporta sa mga variable, kondisyon, loop, at pagtawag ng mga panlabas na script — ito ay isang ganap na Ruby file. Maaaring gamitin muli ng mga developer ang code sa pamamagitan ng private_lane (mga lokal na metodo) at import mula sa iba pang Fastfile.

Ang Fastlane ay nagbibigay ng higit sa 200 built-in na mga action para sa karamihan ng mga gawain. Kung wala ang kinakailangang action, maaaring sumulat ng sariling action sa Ruby o tumawag ng shell command sa pamamagitan ng sh("..."). Ang mga action ay maaaring tumanggap ng mga parameter — mga setting ng build, mga path, mga token ng access — at magbalik ng resulta para magamit sa mga susunod na hakbang.

Automation ng mga iOS build

Ang Fastlane para sa iOS ay lumulutas ng tatlong pangunahing problema: pamamahala ng mga sertipiko at provisioning profile, pagbuo ng IPA sa pamamagitan ng Xcode, at publikasyon sa App Store Connect at TestFlight. Ang bawat isa sa mga gawaing ito ay sakop ng isang hiwalay na action.

match — action para sa pamamahala ng sertipiko. Iniimbak nito ang lahat ng sertipiko at provisioning profile sa isang naka-encrypt na Git repository. Ang bawat developer at CI server ay gumagamit ng parehong set ng mga file, na nag-aalis ng mga salungatan at problema sa mga expired na sertipiko. Awtomatikong ina-update ng Match ang mga profile kapag nagdagdag ng mga bagong device.

sigh — lumilikha at nagda-download ng provisioning profile sa pamamagitan ng Apple Developer Portal. Ginagamit kapag kailangang mabilis na makakuha ng profile para sa isang partikular na uri: development, ad-hoc, o appstore.

gym — pagbuo ng IPA. Binabalot ng Gym ang xcodebuild na may pinakamainam na parameter, awtomatikong pumipili ng scheme, configuration, export options, at lumilikha ng naka-sign na IPA. Halimbawa: gym(scheme: "MyApp", export_method: "app-store").

pilot — pamamahala ng TestFlight. Nag-a-upload ng build, nagdaragdag ng mga tester, sumusubaybay sa status ng review. deliver — buong publikasyon sa App Store, kabilang ang metadata, mga screenshot, presyo, at mga bersyon.

ruby
# Pagbuo at publikasyon ng 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

Para sa pagtatrabaho sa App Store Connect, kinakailangan ang mga token ng access. Sinusuportahan ng Fastlane ang dalawang paraan ng pag-authenticate: App Store Connect API Key (inirerekomenda) at Apple ID na may two-factor authentication. Ang mga API key ay mas maginhawa para sa CI/CD dahil hindi nila kailangan ng interactive na pagpasok ng password.

ActionLayuninManu-manong katumbas
matchPamamahala ng mga sertipiko at profileApple Developer Portal
sighPaglikha ng provisioning profileXcode + Developer Portal
gymPagbuo ng IPAxcodebuild + xcrun
pilotPag-upload sa TestFlightXcode Organizer
deliverPublikasyon sa App StoreApp Store Connect Web
scanPagpapatakbo ng mga UI testxcodebuild test

Automation ng mga Android build

Sa Android, ina-automate ng Fastlane ang pagbuo sa pamamagitan ng Gradle, pag-sign ng APK at AAB, pag-upload sa Google Play Console at Firebase App Distribution.

gradle — pangunahing action para sa Android build. Tinatawag nito ang Gradle wrapper na may mga kinakailangang gawain: gradle(task: "assembleRelease") o gradle(task: "bundleRelease") para sa AAB. Maaaring ipasa ang mga flag, environment variable, at path sa gradle.properties.

supply — pag-upload ng APK o AAB sa Google Play Console. Pinamamahalaan ng Supply ang mga bersyon, track (internal, alpha, beta, production), release notes, presyo, at bansa ng pamamahagi. Halimbawa: supply(track: "beta", release_status: "completed").

screengrab — paggawa ng mga screenshot para sa Google Play. Pinapatakbo nito ang instrumentation test na kumukuha ng mga screenshot ng mga screen ng app sa iba't ibang device at wika. Ang mga nakuhang screenshot ay ina-upload sa pamamagitan ng supply.

ruby
# Pagbuo at publikasyon ng Android app
lane :deploy_android do
  gradle(task: "clean bundleRelease")
  supply(
    track: "beta",
    release_status: "completed",
    version_code: 42
  )
end
ActionLayuninManu-manong katumbas
gradlePagbuo sa pamamagitan ng Gradle./gradlew assembleRelease
supplyPag-upload sa Google PlayGoogle Play Console Web
screengrabPaggawa ng mga screenshotManu-manong screenshot + ImageMagick
firebase_app_distributionPamamahagi sa pamamagitan ng FirebaseFirebase Console Upload

Integrasyon sa CI/CD

Ang Fastlane ay dinisenyo para sa pagtatrabaho sa mga pipeline ng CI/CD. Tama nitong pinoproseso ang non-interactive mode, environment variable, at build artifact. Sa ibaba — mga halimbawa ng integrasyon sa mga sikat na CI system.

Sa GitHub Actions, ang Fastlane ay pinapatakbo bilang isang Ruby script. Karaniwang workflow: pag-install ng Ruby at Fastlane, konfigurasyon ng mga key (mga sertipiko, API token sa pamamagitan ng secrets), pagpapatakbo ng lane. Para sa iOS kinakailangan ang macOS runner; ang Android ay gumagana sa ubuntu-latest.

Sa GitLab CI, ang Fastlane ay ginagamit sa .gitlab-ci.yml na may katulad na schema: pag-install ng mga dependency, pagpapatakbo ng fastlane, paglilipat ng mga artifact. Sinusuportahan ng GitLab CI ang mga runner ng macOS at Linux.

Bitrise — espesyalisadong CI/CD para sa mga mobile app — ay may built-in na suporta para sa Fastlane. Ang Bitrise Workflow ay maaaring tumawag ng Fastlane Step o magpatakbo ng mga arbitrary script na may fastlane. Pinamamahalaan ng Bitrise ang mga sertipiko sa pamamagitan ng sarili nitong Code Signing Manager.

ruby
# Fastfile para sa CI/CD na may kondisyonal na pagpapatakbo ng mga test
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

Isang mahalagang aspeto ng integrasyon ng CI/CD — pag-iimbak ng mga lihim. Gumagamit ang Fastlane ng .env file sa pamamagitan ng dotenv at mga environment variable. Para sa iOS, ang mga kritikal na variable ay: MATCH_PASSWORD, FASTLANE_APPLE_API_KEY, FASTLANE_APPLE_API_KEY_ID. Para sa Android: SUPPLY_JSON_KEY_DATA — nilalaman ng service account ng Google Play.

Mga sikat na Fastlane action

Ang Fastlane ay naglalaman ng higit sa 200 built-in na action. Sa ibaba — isang pangkalahatang-ideya ng mga pinakasikat na may indikasyon ng platform at layunin.

ActionPlatformPaglalarawan
gymiOSPagbuo ng IPA na may optimize na xcodebuild parameter
matchiOSSynchronization ng mga sertipiko at provisioning profile sa pamamagitan ng Git
pilotiOSPag-upload ng build sa TestFlight at pamamahala ng mga tester
deliveriOSPublikasyon ng app sa App Store na may metadata
scaniOSPagpapatakbo ng unit at UI test na may pagbuo ng ulat
gradleAndroidPagpapatakbo ng mga Gradle task: assemble, bundle, test
supplyAndroidPag-upload ng APK at AAB sa Google Play Console
screengrabAndroidAwtomatikong mga screenshot para sa Google Play
firebase_app_distributionAndroidPamamahagi ng mga build sa pamamagitan ng Firebase
snapshotiOSAwtomatikong mga screenshot sa simulator para sa App Store
increment_build_numberiOSAwtomatikong pagtaas ng build number sa Xcode project
appcenter_uploadParehoPag-upload ng build sa App Center

Para sa paghahanap ng kinakailangang action, ginagamit ang utos na fastlane action [pangalan], na nagpapakita ng dokumentasyon, mga parameter, at mga halimbawa. Ang buong listahan ay available nang lokal: fastlane actions.

Sinusuportahan din ng Fastlane ang mga plugin — mga extension ng komunidad na nagdaragdag ng mga bagong action. Ang mga plugin ay ini-install sa pamamagitan ng fastlane add_plugin [pangalan] at available sa RubyGems registry. Mga halimbawa ng sikat na plugin: fastlane-plugin-versioning (pamamahala ng bersyon), fastlane-plugin-sentry (pag-upload ng debug symbols sa Sentry), fastlane-plugin-teams (mga notification sa Microsoft Teams).

Frequently Asked Questions

Fastlane — ano ito at para saan ito?

Fastlane — ay isang kasangkapan para sa automation ng mga build at publikasyon ng mga mobile app. Ito ay kinakailangan upang palitan ang mga manu-manong operasyon — pagbuo, pag-sign, pag-upload sa mga tindahan — ng isang utos. Binabawasan ng Fastlane ang oras ng release mula oras hanggang minuto at inaalis ang mga pagkakamali ng tao sa publikasyon.

Maaari bang gamitin ang Fastlane para lamang sa Android o para lamang sa iOS?

Oo. Sinusuportahan ng Fastlane ang parehong platform nang independyente. Para sa iOS kinakailangan ang macOS, para sa Android sapat na ang Linux. Sa isang Fastfile, maaaring paghiwalayin ang mga lane ayon sa platform: platform :ios do ... end at platform :android do ... end.

Paano pinamamahalaan ng Fastlane ang mga iOS sertipiko?

Sa pamamagitan ng action na match. Nag-iimbak ito ng mga naka-encrypt na sertipiko at provisioning profile sa isang Git repository. Ang bawat developer ay nag-clone ng repository, ine-decrypt ng match ang mga file gamit ang password mula sa variable na MATCH_PASSWORD at ini-install ang mga ito sa keychain. Nalulutas nito ang problemang "nagbu-build sa aking machine".

Gumagana ba ang Fastlane sa Firebase App Distribution?

Oo. Ang Fastlane ay may built-in na action na firebase_app_distribution para sa pag-upload ng APK at IPA sa Firebase App Distribution. Available din ang firebase_app_distribution_add_testers para sa pagdaragdag ng mga tester. Alternatibo — ang action na appcenter_upload para sa App Center.

Paano i-install ang Fastlane sa isang CI server?

Ang Fastlane ay ini-install sa pamamagitan ng RubyGems: gem install fastlane -NV. Para sa iOS kinakailangan ang macOS na may Xcode; para sa Android — Linux o macOS na may JDK at Android SDK. Sa GitHub Actions, mayroong handa na action na ruby/setup-ruby para sa pag-install ng Ruby at Fastlane. Ang mga environment variable ay ipinapasa sa pamamagitan ng secrets ng CI system.

Ano ang pagkakaiba ng Fastlane sa Bitrise o Jenkins?

Fastlane — ay isang library at CLI para sa automation ng mga gawain sa build at publikasyon. Bitrise at Jenkins — ay kumpletong CI/CD platform. Gumagana ang Fastlane sa loob ng mga ito: pinapatakbo ng Jenkins ang Fastlane bilang isang hakbang ng pipeline, tinatawag ng Bitrise ang Fastlane sa pamamagitan ng isang espesyal na Step. Hindi pinapalitan ng Fastlane ang CI system, kundi dinadagdagan ito ng mobile specificity.

Summary

  • Fastlane — open-source na kasangkapan para sa automation ng build, pagsubok, at publikasyon ng mga mobile app para sa iOS at Android
  • Fastfile — file ng configuration sa Ruby na naglalarawan ng mga lane — mga senaryo na may pagkakasunod-sunod ng mga action
  • match + gym + pilot — karaniwang pipeline para sa iOS: pamamahala ng sertipiko, pagbuo ng IPA, pag-upload sa TestFlight
  • gradle + supply — karaniwang pipeline para sa Android: pagbuo sa pamamagitan ng Gradle, pag-upload sa Google Play Console
  • CI/CD integrasyon — isinasama ang Fastlane sa GitHub Actions, GitLab CI, Bitrise, Jenkins, at CircleCI sa pamamagitan ng environment variable
  • 200+ action — mga built-in na utos para sa pag-sign, build, pagsubok, screenshot, publikasyon, at notification
  • Mga plugin — mga extension ng komunidad na nagdaragdag ng mga bagong action: versioning, Sentry, mga notification sa messenger

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.

Pag-usapan ang proyekto

Basahin din