Fastlane — bu nima, vositalar va mobil ilovalar qurilishini avtomatlashtirish

Muallif: IT Sectr Nashr etilgan: 2026-04-14 O'qish vaqti: 10 daq

Fastlane — bu iOS va Android ilovalarini qurish, sinash va nashr qilishni avtomatlashtirish uchun ochiq manbali vositadir. Imzolash, qurish va do'konga yuklash uchun o'nlab buyruqlarni qo'lda bajarish o'rniga, dasturchi butun jarayonni Fastfile-da tasvirlaydi va uni bitta buyruq bilan ishga tushiradi. Fastlane Docs, 2025 ma'lumotlariga ko'ra, vosita dunyo bo'ylab 1,5 million dan ortiq loyihalarda qo'llaniladi. Fastlane App Store Connect, Google Play Console va kod imzolash tizimlari bilan ishlash uchun yordamchi dasturlarni birlashtiradi.

Asosiy

  • Fastlane — iOS va Android qurish va yetkazib berish uchun Open Source avtomatlashtirish vositasi
  • Actions — App Store, Google Play, imzolash va testlar bilan ishlash uchun o'rnatilgan buyruqlar
  • Lanes — Fastfile-dagi actions ketma-ketligini birlashtiruvchi avtomatlashtirish ssenariylari
  • Match — iOS uchun sertifikatlar va provisioning profillarini boshqarish tizimi
  • Vositalar — scan (testlar), gym (qurish), deliver (yuklash), snapshot (skrinshotlar)

Fastlane nima va u mobil qurilishlarni qanday avtomatlashtiradi

Fastlane — bu Ruby tilida yozilgan va MIT litsenziyasi ostida tarqatiladigan mobil qurilishlarni avtomatlashtirish vositasidir. U mobil dasturchining odatiy vazifalarini avtomatlashtiradi: ilovani qurish, testlarni ishga tushirish, skrinshotlar yaratish, kodni imzolash va ikkilik fayllarni App Store yoki Google Play-ga yuklash. 15–20 qo'lda bajariladigan buyruq o'rniga, dasturchi ssenariy nomi bilan bitta fastlane buyrug'ini ishga tushiradi.

Fastlane Xcode (xcodebuild, xcrun) va Android SDK (gradlew, apksigner, bundletool) yordamchi dasturlari uchun o'ram sifatida ishlaydi va ikkala platforma uchun yagona interfeysni taqdim etadi. Bu, ayniqsa, bitta ilovaning iOS va Android versiyalarini qo'llab-quvvatlaydigan jamoalar uchun qimmatlidir — bir xil Fastfile ikkala platforma uchun qurilishlarni parametrlardagi minimal farqlar bilan tavsiflashi mumkin.

GitHub ma'lumotlariga ko'ra, Fastlane 39 mingdan ortiq yulduzga ega va mobil ishlanmada avtomatlashtirish standarti hisoblanadi. Vosita hamjamiyat va Google kompaniyasi tomonidan qo'llab-quvvatlanadi — Fastlane Android ilovalarini Google Play Console-ga yetkazib berishning tavsiya etilgan usuli sifatida Firebase-ga integratsiyalangan.

Fastlane arxitekturasi: Actions, Lanes va vositalar

Fastlane arxitekturasi uch darajaga qurilgan: actions (asosiy buyruqlar), lanes (ssenariylar) va vositalar (ixtisoslashgan yordamchi dasturlar). Actions — bu Fastlane-ning alohida funksiyalari bo'lib, ularning har biri aniq bir harakatni bajaradi: skrinshot yaratish, IPA qurish, TestFlight-ga yuklash. Lanes bir nechta actions-ni Fastfile-da tasvirlangan ketma-ket ssenariyga birlashtiradi.

Fastlane Actions

Actions — bu Fastlane-ning qurilish bloklari. Har bir action parametrlarni qabul qiladi va bitta vazifani bajaradi. Masalan, gym action iOS ilovasini quradi, scan testlarni ishga tushiradi, pilot build-ni TestFlight-ga yuklaydi. Fastlane-da jami 200 dan ortiq o'rnatilgan actions mavjud, har biri uchun hujjatlar fastlane action [nomi] buyrug'i orqali mavjud.

Agar o'rnatilgan actions yetarli bo'lmasa, dasturchi Ruby tilida custom action yaratishi va uni Fastfile-ga ulashi mumkin. Maxsus actions Rubygems-da nashr etiladigan va loyiha ildizidagi FastfilePlugin fayli orqali o'rnatiladigan Fastlane plaginlari orqali tarqatiladi.

Lanes va ularning kompozitsiyasi

Lane — bu bir nechta actions-ni mantiqiy ketma-ketlikka birlashtiruvchi nomlangan avtomatlashtirish ssenariysi. Lane boshqa lanes-ni (private lanes) chaqirishi, parametrlarni uzatishi va xatolarni qayta ishlashi mumkin. Bu ssenariylar ierarxiyasini qurish imkonini beradi: asosiy qurish lane, deploy lane, to'liq CI/CD sikl lane.

Fastlane-ning asosiy vositalari: scan, gym, match, deliver

Fastlane ixtisoslashgan vositalar to'plamini o'z ichiga oladi, ularning har biri mobil avtomatlashtirishning aniq bir vazifasini hal qiladi. Vositalar lanes ichidagi actions sifatida yoki to'g'ridan-to'g'ri buyruq satridan ishga tushiriladi. Keling, iOS va Android uchun CI/CD ning asosiy ehtiyojlarini qoplaydigan to'rtta asosiy vositani ko'rib chiqaylik.

VositaVazifasiBuyruq
scaniOS simulyatorida Unit va UI testlarini ishga tushirishfastlane scan
gymiOS uchun IPA yoki APP faylini qurishfastlane gym
matchSertifikatlar va provisioning profillarini Git orqali sinxronlashfastlane match
deliverIkkilik fayl va metama'lumotlarni App Store Connect-ga yuklashfastlane deliver
snapshotTurli qurilmalarda avtomatik skrinshotlar yaratishfastlane snapshot

Scan Xcode testlarini ishga tushirishni soddalashtiradi, avtomatik ravishda mos simulyatorni tanlaydi va hisobotni formatlaydi. Gym ilovani optimal kompilyatsiya bayroqlari bilan quradi va turli qurilish turlari (development, adhoc, appstore) uchun exportOptions.plist-ni qo'llab-quvvatlaydi. Deliver nafaqat ikkilik faylni, balki skrinshotlar, tavsif, versiyalar va narxlarni yagona metama'lumotlar fayli orqali yuklash imkonini beradi.

Match vositasi alohida e'tiborga loyiq — u jamoada iOS sertifikatlarini saqlash va sinxronlash muammosini hal qiladi. Match sertifikatlar va provisioning profillarini shifrlaydi va Git omborida saqlaydi, dasturchilar esa fastlane match ishga tushirilganda ularni avtomatik ravishda oladi. Bu har bir ish joyini qo'lda sozlashni istisno qiladi.

Snapshot: skrinshotlar yaratish

Snapshot — bu mobil ilovaning turli qurilmalar va tillarda skrinshotlarini avtomatik yaratish vositasi. Snapshot iOS simulyatorlarida UI testlarini ishga tushiradi va testning har bir bosqichida ekran tasvirlarini oladi. Natijalar fastlane/screenshots katalogida saqlanadi va deliver orqali App Store Connect-ga yuklanishi mumkin.

Android uchun screengrab Android emulyatorlarida xuddi shunday vazifani bajaradi. Ikkala vosita ham lokalizatsiyani qo'llab-quvvatlaydi — skrinshotlar har bir til uchun yaratiladi, bu ko'p tilli ilovalar do'konlarida nashr qilish uchun materiallarni tayyorlashni soddalashtiradi.

Fastlane-ni iOS ilovalari uchun sozlash

iOS loyihalari uchun Fastlane Gemfile (gem fastlane o'rnatish) va fastlane katalogidagi Fastfile orqali sozlanadi. Dastlabki sozlash fastlane init buyrug'i bilan amalga oshiriladi, u asosiy kataloglar tuzilmasini yaratadi, App Store Connect ma'lumotlarini so'raydi va asosiy lanes bilan Fastfile shablonini yaratadi.

iOS uchun asosiy buyruq — fastlane match bo'lib, u sertifikatlar va provisioning profillarini olish uchun birinchi bo'lib bajarilishi kerak. Muvaffaqiyatli imzolashdan so'ng, Fastlane ilovani qurishi (gym), testlarni ishga tushirishi (scan) va ikkilik faylni yuklashi mumkin (pilot yoki deliver).

ruby
# iOS ilovasi uchun Fastfile
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: 'Yangi versiya TestFlight-ga yuklandi')
end

TestFlight bilan ishlash uchun pilot action-dan foydalaning — u IPA-ni yuklaydi va sinovchilarni boshqaradi. Fastlane upload_to_testflight (pilot sinonimi) ni qo'llab-quvvatlaydi va Apple build-ni qayta ishlashini kutishni avtomatik ravishda boshqaradi, bu 5 dan 30 daqiqagacha davom etishi mumkin.

Fastlane-ni Android ilovalari uchun sozlash

Android loyihalari uchun Fastlane xuddi shunday sozlanadi, ammo Xcode vositalari o'rniga Gradle va Android SDK ishlatiladi. Fastlane Android uchun APK va AAB qurishni, apksigner yoki jarsigner orqali imzolashni, instrumental testlarni ishga tushirishni va Supply action orqali Google Play Console-ga yuklashni qo'llab-quvvatlaydi.

Asosiy farq — Android qurilishi match orqali sertifikatlarni boshqarishni talab qilmaydi (Android imzolash alohida saqlanadigan Keystore orqali boshqariladi). Fastlane Android uchun har qanday Gradle vazifalarini ishga tushirish uchun gradle action va Google Play bilan ishlash uchun supply action dan foydalanadi.

ruby
# Android ilovasi uchun Fastfile
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

Google Play Console bilan ishlash uchun Google Play API-ga kirish huquqiga ega Google Cloud xizmat hisobi talab qilinadi. Fastlane xizmat hisobining JSON kalitini SUPPLY_JSON_KEY muhit o'zgaruvchisi yoki supply action-dagi json_key parametri orqali qabul qiladi. Nashr treki internal, alpha, beta yoki production bo'lishi mumkin.

Fastlane-ni CI/CD tizimlari bilan integratsiyalash

Fastlane Ruby skriptlarini bajaradigan har qanday CI/CD tizimlari bilan integratsiyalashadi: Jenkins, Travis CI, GitHub Actions, GitLab CI, Bitrise va CircleCI. Integratsiya gem fastlane o'rnatish va pipeline-ning script bosqichida fastlane [lane_name] buyrug'ini ishga tushirishdan iborat.

CI/CD uchun nozik ma'lumotlarni saqlash uchun muhit o'zgaruvchilarini sozlash muhim: MATCH_PASSWORD (sertifikatlarni shifrlash paroli), FASTLANE_USER (Apple ID), FASTLANE_PASSWORD (Apple ID paroli). Travis CI da o'zgaruvchilar travis encrypt orqali, GitHub Actions da — Secrets repository orqali shifrlanadi.

Tavsiya etilgan amaliyot — CI/CD da fastlane match ni readonly bayrog'i bilan ishlatish, bu sertifikatlar omboriga tasodifiy o'zgartirishlar kiritilishining oldini oladi. Android uchun Base64 kodlangan va muhit o'zgaruvchisida saqlangan Keystore-dan foydalaning, u before_install bosqichida shifrdan chiqariladi va vaqtinchalik faylga saqlanadi.

Fastlane Match: sertifikatlar va profillarni boshqarish

Fastlane Match — bu iOS sertifikatlari va provisioning profillarini boshqarishni avtomatlashtirish vositasi, Fastlane-ning jamoalar uchun eng qimmatli funksiyalaridan biri. Match barcha sertifikatlar va profillarni saqlaydigan shifrlangan Git omborini yaratadi (yoki mavjudidan foydalanadi) va ularni dasturchilar va CI/CD serverlari o'rtasida sinxronlaydi.

Match besh turdagi profillarni qo'llab-quvvatlaydi: development, adhoc, appstore, enterprise va developer_id. Har bir tur ombor ichidagi alohida katalogda saqlanadi. fastlane match development buyrug'i mahalliy mashinaga development sertifikatlarini o'rnatadi, fastlane match appstore esa CI da qurish uchun App Store profillarini o'rnatadi.

ruby
# Fastfile-da Match dan foydalanish
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

Match xavfsizligi Git-ga commit qilishdan oldin barcha fayllarni shifrlash orqali ta'minlanadi. Shifrlash paroli MATCH_PASSWORD muhit o'zgaruvchisi orqali o'rnatiladi va jamoa a'zolari uchun bir xil bo'lishi kerak. Match shifrlash uchun OpenSSL dan foydalanadi va parolni omborda ochiq matnda saqlamaydi.

Tez-tez so'raladigan savollar

Mobil ishlanmada Fastlane nima?

Fastlane — bu iOS va Android ilovalari uchun Open Source avtomatlashtirish vositasi. U yagona konfiguratsiya fayli Fastfile va o'rnatilgan vositalar to'plami orqali qurish, sinash, kod imzolash va App Store va Google Play-ga yetkazib berishni avtomatlashtiradi.

Fastlane tarkibiga qanday vositalar kiradi?

Fastlane ning asosiy vositalari: scan (testlar), gym (iOS qurish), match (sertifikatlar), deliver (App Store), pilot (TestFlight), snapshot (skrinshotlar), supply (Google Play) va frameit (skrinshot ramkalari). Har bir vosita lane ichidagi action sifatida yoki buyruq satridan mavjud.

iOS ilovasi uchun Fastlane-ni qanday sozlash kerak?

gem fastlane ni o'rnating, loyiha ildizida fastlane init ni bajaring. Qurish (gym) va testlar (scan) uchun lanes bilan Fastfile ni sozlang. Git ombori orqali sertifikatlarni boshqarish uchun Match ni sozlang. App Store Connect-ga yuklash uchun pilot yoki deliver bilan deploy lane qo'shing.

Android ilovasi uchun Fastlane-ni qanday sozlash kerak?

Package name bilan fastlane init ni bajaring. Gradle vazifalarini (assembleRelease, testReleaseUnitTest) ishga tushirish uchun gradle action dan foydalaning. Muhit o'zgaruvchilari orqali Keystore ni sozlang. AAB yoki APK ni Google Play Console-ga kerakli trekka yuklash uchun supply action dan foydalaning.

Fastlane-ni CI/CD tizimlari bilan qanday integratsiyalash mumkin?

CI/CD serverida gem fastlane ni o'rnating va pipeline-ning script bosqichiga fastlane [lane_name] buyrug'ini qo'shing. FASTLANE_USER, FASTLANE_PASSWORD va MATCH_PASSWORD muhit o'zgaruvchilarini CI/CD maxfiy o'zgaruvchilarida sozlang. Sertifikatlardagi tasodifiy o'zgarishlarning oldini olish uchun CI da match readonly dan foydalaning.

Xulosa

  • Fastlane — iOS va Android-ni qo'llab-quvvatlaydigan mobil qurilishlarni avtomatlashtirish uchun Open Source vosita
  • Actions — qurish, testlar, imzolash va yetkazib berish uchun asosiy buyruqlar (200 dan ortiq o'rnatilgan)
  • Lanes — Fastfile-dagi bir nechta actions-ni ketma-ket CI/CD jarayoniga birlashtiruvchi ssenariylar
  • Match — shifrlangan Git ombori orqali iOS sertifikatlarini boshqarish tizimi
  • iOS sozlamasi testlar uchun scan, qurish uchun gym, TestFlight uchun pilot-ni o'z ichiga oladi
  • Android sozlamasi qurish uchun gradle va Google Play uchun supply-ni o'z ichiga oladi
  • Fastlane Jenkins, Travis CI, GitHub Actions va boshqa CI/CD platformalari bilan integratsiyalashadi

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing