Fastlane iOS və Android tətbiqlərinin qurulması, test edilməsi və nəşri üçün açıq mənbə alətidir. İmzalama, qurma və mağazaya yükləmə üçün çoxsaylı əmrləri əl ilə yerinə yetirmək əvəzinə, tərtibatçı bütün prosesi Fastfile-də təsvir edir və bir əmrlə işə salır. Fastlane Docs, 2025 məlumatına görə, alət dünyada 1,5 milyondan çox layihədə istifadə olunur. Fastlane App Store Connect, Google Play Console və kod imzalama sistemləri ilə işləmək üçün vasitələri birləşdirir.
Əsas məqamlar
Fastlane Ruby dilində yazılmış və MIT lisenziyası ilə yayımlanan mobil qurma avtomatlaşdırma alətidir. O, mobil tərtibatçının rutin işlərini avtomatlaşdırır: tətbiqin qurulması, testlərin işə salınması, ekran görüntülərinin yaradılması, kodun imzalanması və ikili faylların App Store və ya Google Play-ə yüklənməsi. 15–20 əl əmri yerinə, tərtibatçı ssenari adı ilə bir fastlane əmri işə salır.
Fastlane Xcode (xcodebuild, xcrun) və Android SDK (gradlew, apksigner, bundletool) alətləri üzərində sarğı kimi işləyir və hər iki platforma üçün vahid interfeys təmin edir. Bu, eyni tətbiqin iOS və Android versiyalarını dəstəkləyən komandalar üçün xüsusilə dəyərlidir — eyni Fastfile hər iki platforma üçün parametrlərdə minimal fərqlərlə qurmaları təsvir edə bilər.
GitHub məlumatına görə, Fastlane 39 mindən çox ulduza malikdir və mobil inkişafda avtomatlaşdırma standartıdır. Alət icma və Google şirkəti tərəfindən dəstəklənir — Fastlane Firebase-ə Android tətbiqlərini Google Play Console-a çatdırmaq üçün tövsiyə olunan üsul kimi inteqrasiya edilmişdir.
Fastlane arxitekturası üç səviyyəyə əsaslanır: actions (əsas əmrlər), lanes (ssenarilər) və alətlər (ixtisaslaşmış vasitələr). Actions Fastlane-in ayrı-ayrı funksiyalarıdır, hər biri konkret bir hərəkəti yerinə yetirir: ekran görüntüsü yaratmaq, IPA qurmaq, TestFlight-a yükləmək. Lanes bir neçə actions-ı Fastfile-də təsvir olunan ardıcıl ssenaridə birləşdirir.
Actions Fastlane-in tikinti bloklarıdır. Hər bir action parametrləri qəbul edir və bir tapşırığı yerinə yetirir. Məsələn, gym action-ı iOS tətbiqini qurur, scan testləri işə salır, pilot build-i TestFlight-a yükləyir. Fastlane-də 200-dən çox daxili action var, hər biri üçün sənədlər fastlane action [ad] əmri ilə əldə edilə bilər.
Əgər daxili actions kifayət deyilsə, tərtibatçı Ruby dilində custom action yaradıb Fastfile-ə əlavə edə bilər. Custom actions Fastlane plaginləri vasitəsilə yayımlanır, Rubygems-də nəşr olunur və layihənin kökündə FastfilePlugin faylı vasitəsilə quraşdırılır.
Lane bir neçə actions-ı məntiqi ardıcıllıqda birləşdirən adlandırılmış avtomatlaşdırma ssenarisidir. Lane digər lanes-ləri çağıra (private lanes), parametrləri ötürə və səhvləri idarə edə bilər. Bu, ssenarilər iyerarxiyasını qurmağa imkan verir: əsas qurma lane-i, yerləşdirmə lane-i, tam CI/CD dövrü lane-i.
Fastlane hər biri mobil avtomatlaşdırmanın konkret tapşırığını həll edən ixtisaslaşmış alətlər dəsti daxildir. Alətlər lanes daxilində action kimi və ya birbaşa əmr sətrindən işə salınır. iOS və Android üçün CI/CD ehtiyaclarını əhatə edən dörd əsas alətə nəzər salaq.
| Alət | Təyinat | Əmr |
|---|---|---|
| scan | iOS simulyatorunda Unit və UI testlərinin işə salınması | fastlane scan |
| gym | iOS üçün IPA və ya APP faylının qurulması | fastlane gym |
| match | Sertifikatların və provisioning profiles-lərin Git vasitəsilə sinxronizasiyası | fastlane match |
| deliver | İkili faylın və metadatanın App Store Connect-ə yüklənməsi | fastlane deliver |
| snapshot | Müxtəlif cihazlarda avtomatik ekran görüntüsü generasiyası | fastlane snapshot |
Scan Xcode testlərinin işə salınmasını asanlaşdırır, avtomatik olaraq uyğun simulyatoru seçir və hesabatı formatlaşdırır. Gym tətbiqi optimal kompilyasiya bayraqları ilə qurur və müxtəlif qurma tipləri (development, adhoc, appstore) üçün exportOptions.plist dəstəkləyir. Deliver təkcə ikili faylı deyil, həm də ekran görüntülərini, təsviri, versiyaları və qiymətləri vahid metadata faylı vasitəsilə yükləməyə imkan verir.
Match aləti xüsusi diqqətə layiqdir — o, komandada iOS sertifikatlarının saxlanması və sinxronizasiyası problemini həll edir. Match sertifikatları və provisioning profiles-ləri şifrələyir və Git repozitoriyasında saxlayır, tərtibatçılar isə fastlane match işə salındıqda onları avtomatik əldə edir. Bu, hər bir iş yerinin əl ilə konfiqurasiyasını aradan qaldırır.
Snapshot müxtəlif cihazlarda və dillərdə mobil tətbiqin ekran görüntülərini avtomatik yaratmaq üçün alətdir. Snapshot iOS simulyatorlarında UI testlərini işə salır, testin hər addımında ekran görüntüləri çəkir. Nəticələr fastlane/screenshots kataloqunda saxlanılır və deliver vasitəsilə App Store Connect-ə yüklənə bilər.
Android üçün screengrab Android emulyatorlarında oxşar funksiyanı yerinə yetirir. Hər iki alət lokallaşdırmanı dəstəkləyir — ekran görüntüləri hər bir dil üçün yaradılır, bu da çoxdilli tətbiq mağazalarında nəşr üçün materialların hazırlanmasını asanlaşdırır.
iOS layihələri üçün Fastlane Gemfile (fastlane geminin quraşdırılması) və fastlane kataloqundakı Fastfile vasitəsilə konfiqurasiya edilir. İlkin qurulum fastlane init əmri ilə həyata keçirilir, bu, əsas kataloq strukturunu yaradır, App Store Connect məlumatlarını soruşur və əsas lanes ilə Fastlane şablonu yaradır.
iOS üçün əsas əmr fastlane match-dir, o, sertifikatları və provisioning profiles-ləri əldə etmək üçün ilk olaraq yerinə yetirilməlidir. Uğurlu imzalamadan sonra Fastlane tətbiqi qurmaq (gym), testləri işə salmaq (scan) və ikili faylı yükləmək (pilot və ya deliver) üçün istifadə oluna bilər.
# iOS tətbiqi üçün 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: 'Yeni versiya TestFlight-a yükləndi')
end
TestFlight ilə işləmək üçün pilot action-ından istifadə edin — o, IPA-nı yükləyir və testçiləri idarə edir. Fastlane upload_to_testflight (pilot-un sinonimi) dəstəkləyir və Apple-ın build-i emal etməsini gözləməyi avtomatik idarə edir, bu, 5 dəqiqədən 30 dəqiqəyə qədər çəkə bilər.
Android layihələri üçün Fastlane oxşar şəkildə konfiqurasiya edilir, lakin Xcode alətləri əvəzinə Gradle və Android SDK istifadə olunur. Android üçün Fastlane APK və AAB qurulmasını, apksigner və ya jarsigner vasitəsilə imzalamanı, instrumental testlərin işə salınmasını və Supply action vasitəsilə Google Play Console-a yükləməyi dəstəkləyir.
Əsas fərq — Android qurması match vasitəsilə sertifikatların idarə edilməsini tələb etmir (Android imzalaması ayrıca saxlanılan Keystore vasitəsilə idarə olunur). Android üçün Fastlane istənilən Gradle tapşırıqlarını işə salmaq üçün gradle action-ından və Google Play ilə işləmək üçün supply action-ından istifadə edir.
# Android tətbiqi üçün 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 ilə işləmək üçün Google Play API-yə çıxışı olan Google Cloud xidmət hesabı tələb olunur. Fastlane xidmət hesabının JSON açarını SUPPLY_JSON_KEY mühit dəyişəni və ya supply action-da json_key parametri vasitəsilə qəbul edir. Nəşr treki internal, alpha, beta və ya production ola bilər.
Fastlane Ruby skriptlərini icra edə bilən istənilən CI/CD sistemi ilə inteqrasiya olunur: Jenkins, Travis CI, GitHub Actions, GitLab CI, Bitrise və CircleCI. İnteqrasiya fastlane geminin quraşdırılması və pipeline-in script mərhələsində fastlane [lane_name] əmrinin işə salınmasından ibarətdir.
CI/CD üçün həssas məlumatları saxlamaq üçün mühit dəyişənlərinin konfiqurasiyası vacibdir: MATCH_PASSWORD (sertifikat şifrələmə parolu), FASTLANE_USER (Apple ID), FASTLANE_PASSWORD (Apple ID parolu). Travis CI-də dəyişənlər travis encrypt vasitəsilə şifrələnir, GitHub Actions-da — Secrets repository vasitəsilə.
Tövsiyə olunan təcrübə — CI/CD-də fastlane match-i readonly bayrağı ilə istifadə etməkdir ki, sertifikat repozitoriyasında təsadüfi dəyişikliklər olmasın. Android üçün Base64 kodlaşdırılmış və mühit dəyişənində saxlanılan Keystore-dan istifadə edin, o, desifrələnir və before_install mərhələsində müvəqqəti fayla yazılır.
Fastlane Match iOS sertifikatları və provisioning profiles-lərinin idarə edilməsini avtomatlaşdırmaq üçün alətdir, komandalar üçün Fastlane-in ən dəyərli funksiyalarından biridir. Match şifrələnmiş Git repozitoriyası yaradır (və ya mövcuddan istifadə edir), burada bütün sertifikatları və profilləri saxlayır, onları tərtibatçılar və CI/CD serverləri arasında sinxronizasiya edir.
Match beş növ profili dəstəkləyir: development, adhoc, appstore, enterprise və developer_id. Hər bir növ repozitoriya daxilində ayrıca kataloqda saxlanılır. fastlane match development əmri development sertifikatlarını yerli maşına quraşdırır, fastlane match appstore isə CI-də qurma üçün App Store profillərini quraşdırır.
# Fastfile-də Match-in istifadəsi
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-in təhlükəsizliyi Git-ə committən əvvəl bütün faylların şifrələnməsi ilə təmin olunur. Şifrələmə parolu MATCH_PASSWORD mühit dəyişəni vasitəsilə təyin edilir və komandanın bütün üzvləri üçün eyni olmalıdır. Match şifrələmə üçün OpenSSL-dən istifadə edir və parolu repozitoriyada açıq şəkildə saxlamır.
Tez-tez verilən suallar
Fastlane iOS və Android tətbiqləri üçün Open Source avtomatlaşdırma alətidir. O, vahid konfiqurasiya faylı Fastfile və daxili alətlər dəsti vasitəsilə qurma, test etmə, kod imzalama və App Store və Google Play-ə çatdırmanı avtomatlaşdırır.
Fastlane-in əsas alətləri: scan (testlər), gym (iOS qurması), match (sertifikatlar), deliver (App Store), pilot (TestFlight), snapshot (ekran görüntüləri), supply (Google Play) və frameit (ekran görüntüləri üçün çərçivələr). Hər bir alət lane daxilində action kimi və ya əmr sətrindən əlçatandır.
gem fastlane quraşdırın, layihənin kökündə fastlane init icra edin. Fastfile-i qurma (gym) və test (scan) lanes-ləri ilə konfiqurasiya edin. Sertifikatları idarə etmək üçün Match-i Git repozitoriyası vasitəsilə qurun. App Store Connect-ə yükləmək üçün pilot və ya deliver ilə yerləşdirmə lane-i əlavə edin.
fastlane init package name ilə icra edin. Gradle tapşırıqlarını (assembleRelease, testReleaseUnitTest) işə salmaq üçün gradle action-ından istifadə edin. Keystore-u mühit dəyişənləri vasitəsilə qurun. AAB və ya APK-nı Google Play Console-a tələb olunan trekə yükləmək üçün supply action-ından istifadə edin.
CI/CD serverində gem fastlane quraşdırın və pipeline-in script mərhələsində fastlane [lane_name] əmrini əlavə edin. FASTLANE_USER, FASTLANE_PASSWORD və MATCH_PASSWORD mühit dəyişənlərini CI/CD gizli dəyişənlərində konfiqurasiya edin. Sertifikatlarda təsadüfi dəyişikliklərin qarşısını almaq üçün CI üçün match readonly istifadə edin.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun