Fastlane: یہ کیا ہے، بلڈ آٹومیشن اور اشاعت

مصنف: IT Sectr اشاعت: 2026-02-13 مطالعے کا وقت: 10 منٹ

Fastlane iOS اور Android کے لیے موبائل ایپلیکیشنز کی بلڈ اور اشاعت کو خودکار بنانے کا ایک ٹول ہے۔ Fastlane کوڈ سائننگ، بلڈنگ، ٹیسٹ چلانے، اسکرین شاٹس بنانے اور App Store Connect اور Google Play Console پر اپ لوڈ کرنے کا انتظام کرتا ہے۔ یہ موبائل ڈویلپمنٹ میں CI/CD کے لیے ڈی فیکٹو معیار ہے۔

اہم نکات

  • Fastlane خودکار بناتا ہے پورے موبائل ریلیز پائپ لائن کو: ایک کمانڈ سے بلڈ، ٹیسٹ، سائن اور اشاعت
  • Fastfile Ruby میں ایک کنفیگریشن فائل ہے جو lanes — نامزد آٹومیشن منظرنامے — بیان کرتی ہے
  • iOS اور Android سپورٹ — Fastlane Xcode، Gradle، App Store Connect، Google Play، TestFlight اور Firebase کے ساتھ کام کرتا ہے
  • match اور sigh — iOS ڈویلپمنٹ کے لیے سرٹیفکیٹ اور پروویژننگ پروفائل مینجمنٹ
  • CI/CD انٹیگریشن — Fastlane GitHub Actions، GitLab CI، Bitrise، Jenkins اور CircleCI میں ضم ہوتا ہے

Fastlane — یہ کیا ہے

Fastlane ایک اوپن سورس ٹول ہے جو موبائل ڈویلپمنٹ کے معمول کے کاموں کو خودکار بناتا ہے: ایپلیکیشن بنانا، ٹیسٹ چلانا، اسکرین شاٹس بنانا، سرٹیفکیٹس کا انتظام کرنا اور TestFlight، App Store اور Google Play پر بلڈ اپ لوڈ کرنا۔ Fastlane Ruby میں لکھا گیا ہے اور gem install fastlane کمانڈ سے RubyGems کے ذریعے تقسیم کیا جاتا ہے۔

Fastlane 2015 میں ایک iOS ٹول کے طور پر سامنے آیا لیکن جلد ہی Android تک پھیل گیا۔ آج یہ درجنوں ایکشنز کا ایک ماحولیاتی نظام ہے — بلٹ ان کمانڈز جنہیں lanes نامی منظرناموں میں ملایا جا سکتا ہے۔ ہر lane ایک مخصوص کام انجام دیتی ہے: مثال کے طور پر، build_release ریلیز ورژن بناتا ہے، اور deploy_beta بلڈ کو TestFlight پر اپ لوڈ کرتا ہے۔

Fastlane Uber، Airbnb، Snapchat، Twitter اور Shopify جیسی کمپنیاں استعمال کرتی ہیں۔ 2024 کے سروے کے مطابق، iOS ڈویلپرز کے 60% سے زیادہ اپنے منصوبوں میں Fastlane استعمال کرتے ہیں۔ ٹول مقامی عملدرآمد اور کلاؤڈ CI سسٹمز کے ساتھ انضمام دونوں کو سپورٹ کرتا ہے، جو اسے موبائل CI/CD کے لیے ڈی فیکٹو معیار بناتا ہے۔

ruby
# Fastlane کی تنصیب
sudo gem install fastlane -NV

# پروجیکٹ میں ابتداء
fastlane init

ابتداء کے بعد، Fastlane تین فائلوں کے ساتھ ایک fastlane/ ڈائریکٹری بناتا ہے: Fastfile (منظرنامے)، Appfile(ایپ کی ترتیبات) اور Matchfile (سرٹیفکیٹ کی ترتیبات)۔ یہ ڈھانچہ دونوں پلیٹ فارمز — iOS اور Android — کے لیے یکساں رہتا ہے۔

Fastfile اور lanes

Fastlane کی مرکزی کنفیگریشن فائل Fastfile ہے۔ یہ پروجیکٹ کی جڑ میں fastlane/ ڈائریکٹری میں واقع ہے۔ Fastfile Ruby میں لکھی جاتی ہے: ہر lane ایکشنز کی ترتیب کے ساتھ ایک نامزد بلاک ہے۔ ایک lane پیرامیٹرز لے سکتی ہے، دوسری lanes کو کال کر سکتی ہے اور ویلیوز واپس کر سکتی ہے۔

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

ہر lane کمانڈ fastlane ios beta یا fastlane ios release سے چلائی جاتی ہے۔ Fastfile متغیرات، شرائط، لوپس اور بیرونی اسکرپٹ کالز کو سپورٹ کرتی ہے — یہ ایک مکمل Ruby فائل ہے۔ ڈویلپرز private_lane (مقامی طریقے) اور دوسری Fastfiles سے import کے ذریعے کوڈ دوبارہ استعمال کر سکتے ہیں۔

Fastlane زیادہ تر کاموں کے لیے 200 سے زیادہ بلٹ ان ایکشنز فراہم کرتا ہے۔ اگر مطلوبہ ایکشن موجود نہیں ہے، تو آپ Ruby میں اپنا لکھ سکتے ہیں یا sh("...") سے شیل کمانڈ کال کر سکتے ہیں۔ ایکشنز پیرامیٹرز لے سکتے ہیں — بلڈ سیٹنگز، راستے، ایکسس ٹوکن — اور بعد کے مراحل میں استعمال کے لیے نتائج واپس کر سکتے ہیں۔

iOS بلڈ آٹومیشن

iOS کے لیے Fastlane تین اہم مسائل حل کرتا ہے: سرٹیفکیٹ اور پروویژننگ پروفائل مینجمنٹ، Xcode کے ذریعے IPA بلڈ، اور App Store Connect اور TestFlight پر اشاعت۔ ان میں سے ہر ایک کام ایک علیحدہ ایکشن سے کور کیا جاتا ہے۔

match سرٹیفکیٹ مینجمنٹ کے لیے ایک ایکشن ہے۔ یہ تمام سرٹیفکیٹس اور پروویژننگ پروفائلز کو ایک خفیہ کردہ Git ریپوزٹری میں محفوظ کرتا ہے۔ ہر ڈویلپر اور CI سرور فائلوں کا ایک ہی سیٹ استعمال کرتا ہے، جو تنازعات اور میعاد ختم شدہ سرٹیفکیٹ کے مسائل کو ختم کرتا ہے۔ Match نئے آلات شامل ہونے پر خود بخود پروفائلز اپ ڈیٹ کرتا ہے۔

sigh Apple Developer Portal کے ذریعے پروویژننگ پروفائل بناتا اور ڈاؤن لوڈ کرتا ہے۔ یہ اس وقت استعمال ہوتا ہے جب کسی مخصوص قسم — development، ad-hoc یا appstore — کے لیے فوری طور پر پروفائل درکار ہو۔

gym IPA بناتا ہے۔ Gym xcodebuild کو بہترین پیرامیٹرز کے ساتھ لپیٹتا ہے، خود بخود اسکیما، کنفیگریشن، ایکسپورٹ آپشنز منتخب کرتا ہے اور ایک سائن شدہ IPA بناتا ہے۔ مثال: gym(scheme: "MyApp", export_method: "app-store")۔

pilot TestFlight کا انتظام کرتا ہے۔ یہ بلڈ اپ لوڈ کرتا ہے، ٹیسٹرز شامل کرتا ہے اور جائزہ کی حیثیت کو ٹریک کرتا ہے۔ deliver میٹا ڈیٹا، اسکرین شاٹس، قیمتوں اور ورژننگ سمیت مکمل App Store اشاعت سنبھالتا ہے۔

ruby
# iOS ایپ بنانا اور شائع کرنا
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

App Store Connect کے ساتھ کام کرنے کے لیے ایکسس ٹوکن درکار ہیں۔ Fastlane دو تصدیقی طریقوں کو سپورٹ کرتا ہے: App Store Connect API Key (تجویز کردہ) اور دو عوامل والی تصدیق کے ساتھ Apple ID۔ API چابیاں CI/CD کے لیے زیادہ آسان ہیں کیونکہ انہیں انٹرایکٹو پاس ورڈ داخل کرنے کی ضرورت نہیں ہوتی۔

ایکشنمقصددستی مساوی
matchسرٹیفکیٹ اور پروفائل مینجمنٹApple Developer Portal
sighپروویژننگ پروفائل بناناXcode + Developer Portal
gymIPA بلڈxcodebuild + xcrun
pilotTestFlight اپ لوڈXcode Organizer
deliverApp Store اشاعتApp Store Connect Web
scanUI ٹیسٹ چلاناxcodebuild test

Android بلڈ آٹومیشن

Android پر، Fastlane Gradle کے ذریعے بلڈ، APK اور AAB سائننگ، Google Play Console پر اپ لوڈ اور Firebase App Distribution کو خودکار بناتا ہے۔

gradle Android بلڈ کے لیے مرکزی ایکشن ہے۔ یہ مطلوبہ کاموں کے ساتھ Gradle ریپر کو کال کرتا ہے: gradle(task: "assembleRelease") یا AAB کے لیے gradle(task: "bundleRelease")۔ آپ فلیگ، ماحولیاتی متغیرات اور gradle.properties کا راستہ پاس کر سکتے ہیں۔

supply APK یا AAB کو Google Play Console پر اپ لوڈ کرتا ہے۔ Supply ورژنز، ٹریکس (internal، alpha، beta، production)، ریلیز نوٹس، قیمتوں اور ملکی تقسیم کا انتظام کرتا ہے۔ مثال: supply(track: "beta", release_status: "completed")۔

screengrab Google Play کے لیے اسکرین شاٹس بناتا ہے۔ یہ انسٹرومینٹیشن ٹیسٹ چلاتا ہے جو مختلف آلات اور زبانوں پر ایپ کے اسکرین شاٹس لیتے ہیں۔ نتیجے میں آنے والے اسکرین شاٹس supply کے ذریعے اپ لوڈ کیے جاتے ہیں۔

ruby
# Android ایپ بنانا اور شائع کرنا
lane :deploy_android do
  gradle(task: "clean bundleRelease")
  supply(
    track: "beta",
    release_status: "completed",
    version_code: 42
  )
end
ایکشنمقصددستی مساوی
gradleGradle سے بلڈ./gradlew assembleRelease
supplyGoogle Play پر اپ لوڈGoogle Play Console Web
screengrabاسکرین شاٹ بنانادستی اسکرین شاٹ + ImageMagick
firebase_app_distributionFirebase تقسیمFirebase Console Upload

CI/CD انٹیگریشن

Fastlane CI/CD پائپ لائنز میں کام کرنے کے لیے ڈیزائن کیا گیا ہے۔ یہ غیر انٹرایکٹو موڈ، ماحولیاتی متغیرات اور بلڈ آرٹیفیکٹس کو صحیح طریقے سے ہینڈل کرتا ہے۔ ذیل میں مشہور CI سسٹمز کے ساتھ انضمام کی مثالیں ہیں۔

GitHub Actions میں، Fastlane Ruby اسکرپٹ کے طور پر چلتا ہے۔ ایک عام ورک فلو: Ruby اور Fastlane انسٹال کریں، چابیاں ترتیب دیں (secrets کے ذریعے سرٹیفکیٹس، API ٹوکن)، اور lane چلائیں۔ iOS کو macOS رنر درکار ہے؛ Android ubuntu-latest پر کام کرتا ہے۔

GitLab CI میں، Fastlane .gitlab-ci.yml میں اسی طرح کی ترتیب سے استعمال ہوتا ہے: انحصار انسٹال کریں، fastlane چلائیں اور آرٹیفیکٹس پاس کریں۔ GitLab CI macOS اور Linux رنرز کو سپورٹ کرتا ہے۔

Bitrise — موبائل ایپلیکیشنز کے لیے ایک خصوصی CI/CD — میں بلٹ ان Fastlane سپورٹ ہے۔ Bitrise Workflow Fastlane Step کو کال کر سکتا ہے یا fastlane کے ساتھ کسٹم اسکرپٹ چلا سکتا ہے۔ Bitrise اپنے کوڈ سائننگ مینیجر کے ذریعے سرٹیفکیٹس کا انتظام کرتا ہے۔

ruby
# CI/CD کے لیے Fastfile مشروط ٹیسٹ چلانے کے ساتھ
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

CI/CD انضمام کا ایک اہم پہلو رازوں کا ذخیرہ ہے۔ Fastlane dotenv کے ذریعے .env فائل اور ماحولیاتی متغیرات استعمال کرتا ہے۔ iOS کے لیے اہم متغیرات: MATCH_PASSWORD، FASTLANE_APPLE_API_KEY، FASTLANE_APPLE_API_KEY_ID۔ Android کے لیے: SUPPLY_JSON_KEY_DATA — Google Play سروس اکاؤنٹ کا مواد۔

مقبول Fastlane ایکشنز

Fastlane میں 200 سے زیادہ بلٹ ان ایکشنز شامل ہیں۔ ذیل میں ان کے پلیٹ فارم اور تفصیل کے ساتھ سب سے مقبول ایکشنز کا جائزہ ہے۔

ایکشنپلیٹ فارمتفصیل
gymiOSبہتر xcodebuild پیرامیٹرز کے ساتھ IPA بنانا
matchiOSGit کے ذریعے سرٹیفکیٹ اور پروویژننگ پروفائلز مطابقت پذیر بنانا
pilotiOSTestFlight پر بلڈ اپ لوڈ اور ٹیسٹرز کا انتظام
deliveriOSمیٹا ڈیٹا کے ساتھ App Store پر ایپ شائع کرنا
scaniOSرپورٹ جنریشن کے ساتھ یونٹ اور UI ٹیسٹ چلانا
gradleAndroidGradle کام چلانا: assemble، bundle، test
supplyAndroidAPK اور AAB Google Play Console پر اپ لوڈ کرنا
screengrabAndroidGoogle Play کے لیے خودکار اسکرین شاٹس
firebase_app_distributionAndroidFirebase کے ذریعے بلڈ تقسیم کرنا
snapshotiOSApp Store کے لیے سمیلیٹروں پر خودکار اسکرین شاٹس
increment_build_numberiOSXcode پروجیکٹ میں بلڈ نمبر خودکار اضافہ
appcenter_uploadدونوںApp Center پر بلڈ اپ لوڈ کرنا

مطلوبہ ایکشن تلاش کرنے کے لیے، کمانڈ fastlane action [نام] استعمال کریں، جو دستاویزات، پیرامیٹرز اور مثالیں دکھاتا ہے۔ مکمل فہرست مقامی طور پر دستیاب ہے: fastlane actions۔

Fastlane پلگ انز کو بھی سپورٹ کرتا ہے — کمیونٹی ایکسٹینشنز جو نئے ایکشنز شامل کرتی ہیں۔ پلگ انز fastlane add_plugin [نام] سے انسٹال ہوتے ہیں اور RubyGems رجسٹری میں دستیاب ہیں۔ مقبول پلگ انز کی مثالیں: fastlane-plugin-versioning (ورژن مینجمنٹ)، fastlane-plugin-sentry (Sentry پر ڈیبگ سمبل اپ لوڈ)، fastlane-plugin-teams (Microsoft Teams میں اطلاعات)۔

اکثر پوچھے گئے سوالات

Fastlane کیا ہے اور اس کی ضرورت کیوں ہے؟

Fastlane موبائل ایپلیکیشنز کی بلڈ اور اشاعت کو خودکار بنانے کا ایک ٹول ہے۔ یہ دستی آپریشنز — بلڈ، کوڈ سائننگ، اسٹور پر اپ لوڈ — کو ایک کمانڈ سے بدل دیتا ہے۔ Fastlane ریلیز کا وقت گھنٹوں سے منٹوں تک کم کرتا ہے اور اشاعت کے دوران انسانی غلطیوں کو ختم کرتا ہے۔

کیا میں Fastlane صرف Android یا صرف iOS کے لیے استعمال کر سکتا ہوں؟

ہاں۔ Fastlane دونوں پلیٹ فارمز کو آزادانہ طور پر سپورٹ کرتا ہے۔ iOS کے لیے macOS درکار ہے، جبکہ Android کے لیے صرف Linux کافی ہے۔ ایک Fastfile میں آپ پلیٹ فارم کے مطابق lanes کو الگ کر سکتے ہیں: platform :ios do ... end اور platform :android do ... end۔

Fastlane iOS سرٹیفکیٹس کا انتظام کیسے کرتا ہے؟

match ایکشن کے ذریعے۔ یہ خفیہ کردہ سرٹیفکیٹس اور پروویژننگ پروفائلز کو Git ریپوزٹری میں محفوظ کرتا ہے۔ ہر ڈویلپر ریپوزٹری کلون کرتا ہے، match MATCH_PASSWORD متغیر کے پاس ورڈ سے فائلیں ڈیکرپٹ کرتا ہے اور انہیں کیچین میں انسٹال کرتا ہے۔ یہ "میری مشین پر کام کرتا ہے" کے مسئلے کو حل کرتا ہے۔

کیا Fastlane Firebase App Distribution کے ساتھ کام کرتا ہے؟

ہاں۔ Fastlane میں APK اور IPA کو Firebase App Distribution پر اپ لوڈ کرنے کے لیے بلٹ ان firebase_app_distribution ایکشن ہے۔ ٹیسٹرز شامل کرنے کے لیے firebase_app_distribution_add_testers بھی دستیاب ہے۔ متبادل App Center کے لیے appcenter_upload ایکشن ہے۔

میں CI سرور پر Fastlane کیسے انسٹال کروں؟

Fastlane RubyGems کے ذریعے انسٹال ہوتا ہے: gem install fastlane -NV۔ iOS کے لیے macOS اور Xcode درکار ہے؛ Android کے لیے Linux یا macOS اور JDK اور Android SDK درکار ہے۔ GitHub Actions میں Ruby اور Fastlane انسٹال کرنے کے لیے تیار ruby/setup-ruby ایکشن ہے۔ ماحولیاتی متغیرات CI سسٹم کے secrets کے ذریعے پاس کیے جاتے ہیں۔

Fastlane Bitrise یا Jenkins سے کیسے مختلف ہے؟

Fastlane بلڈ اور اشاعت کے کاموں کو خودکار بنانے کے لیے ایک لائبریری اور CLI ہے۔ Bitrise اور Jenkins مکمل CI/CD پلیٹ فارمز ہیں۔ Fastlane ان کے اندر کام کرتا ہے: Jenkins Fastlane کو پائپ لائن مرحلے کے طور پر چلاتا ہے، Bitrise Fastlane کو ایک مخصوص Step کے ذریعے کال کرتا ہے۔ Fastlane CI سسٹم کو تبدیل نہیں کرتا — یہ اسے موبائل مخصوص فعالیت سے مکمل کرتا ہے۔

خلاصہ

  • Fastlane — iOS اور Android کے لیے موبائل ایپس کی بلڈ، ٹیسٹنگ اور اشاعت کو خودکار بنانے کا اوپن سورس ٹول
  • Fastfile — Ruby کنفیگریشن فائل جو lanes — ایکشنز کی ترتیب کے ساتھ منظرنامے — بیان کرتی ہے
  • match + gym + pilot — iOS کے لیے معیاری پائپ لائن: سرٹیفکیٹ مینجمنٹ، IPA بلڈ، TestFlight اپ لوڈ
  • gradle + supply — Android کے لیے معیاری پائپ لائن: Gradle سے بلڈ، Google Play Console پر اپ لوڈ
  • CI/CD انٹیگریشن — Fastlane GitHub Actions، GitLab CI، Bitrise، Jenkins اور CircleCI میں ماحولیاتی متغیرات کے ذریعے ضم ہوتا ہے
  • 200+ ایکشنز — کوڈ سائننگ، بلڈنگ، ٹیسٹنگ، اسکرین شاٹس، اشاعت اور اطلاعات کے لیے بلٹ ان کمانڈز
  • پلگ انز — کمیونٹی ایکسٹینشنز نئے ایکشنز شامل کرتی ہیں: ورژننگ، Sentry، میسنجر اطلاعات

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں