Fastlane iOS और Android एप्लिकेशनों के बिल्ड, परीक्षण और प्रकाशन को स्वचालित करने का एक ओपन सोर्स टूल है। हस्ताक्षर करने, बिल्ड करने और स्टोर पर अपलोड करने के लिए डजनों कमांड को मैनुअली चलाने के बजाय, डेवलपर Fastfile में पूरी प्रक्रिया का वर्णन करता है और एक ही कमांड से इसे शुरू करता है। Fastlane Docs, 2025 के अनुसार, इस टूल का उपयोग दुनिया भर में 1.5 मिलियन से अधिक परियोजनाओं में किया जाता है। Fastlane App Store Connect, Google Play Console और कोड साइनिंग सिस्टम के साथ काम करने के लिए उपयोगिताओं को जोड़ता है।
मुख्य बातें
Fastlane Ruby में लिखा गया और MIT लाइसइंस के तहत वितरित एक मोबाइल बिल्ड स्वचालन टूल है। यह मोबाइल डेवलपर के रूटीन कार्यों को स्वचालित करता है: एप्लिकेशन बनाना, परीक्षण चलाना, स्क्रीनशॉट बनाना, कोड साइन करना और बैनरी फ़ाइलों को App Store या Google Play पर अपलोड करना। 15–20 मैनुअल कमांड के बजाय, डेवलपर परिदृश्य नाम के साथ एक ही fastlane कमांड चलाता है।
Fastlane Xcode उपयोगिताओं (xcodebuild, xcrun) और Android SDK (gradlew, apksigner, bundletool) के ऊपर एक रैपर की तरह काम करता है, जो दोनों प्लेटफ़ॉर्म के लिए एकीकृत इंटरफ़ेस प्रदान करता है। यह उन टीमों के लिए विशेष रूप से मूल्यवान है जो एक ही एप्लिकेशन के iOS और Android संस्करणों को बनाए रखती हैं — समान Fastfile प्राचलियों में न्यूनतम अंतरों के साथ दोनों प्लेटफ़ॉर्म के लिए बिल्ड का वर्णन कर सकते हैं।
GitHub के अनुसार, Fastlane के 39 हजार से अधिक स्टार हैं और यह मोबाइल डेवलपमेंट में स्वचालन का मानक है। इस टूल को समुदाय और Google का समर्थन प्राप्त है — Fastlane को Firebase में Android एप्लिकेशनों को Google Play Console पर पहुंचाने के अनुशंसित तरीके के रूप में एकीकृत किया गया है।
Fastlane आर्किटेक्चर तीन स्तरों पर बना है: actions (मूल कमांड), lanes (परिदृश्य) और उपकरण (विशेषिकृत उपयोगिताएँ)। Actions Fastlane के अलग-अलग फ़ंक्शन हैं, जिनमें से प्रत्येक एक विशिष्ट कार्य करता है: स्क्रीनशॉट बनाना, IPA बनाना, TestFlight में अपलोड करना। Lanes एक Fastfile में वर्णित एक अनुक्रमिक परिदृश्य में कई actions को संयोजित करती हैं।
Actions Fastlane के बिल्डिंग ब्लॉक हैं। प्रत्येक action पैरामीटर लेता है और एक कार्य करता है। उदाहरण के लिए, action gym iOS एप्लिकेशन बनाता है, scan परीक्षण चलाता है, pilot TestFlight में बिल्ड अपलोड करता है। Fastlane में कुल मिलाकर 200 से अधिक बिल्ट-इन actions हैं, प्रत्येक का दस्तावेज़ीकरण fastlane action [नाम] कमांड के माध्यम से उपलब्ध है।
यदि बिल्ट-इन actions पर्याप्त नहीं हैं, तो डेवलपर Ruby में एक कस्टम action बना सकता है और इसे Fastfile में जोड़ सकता है। कस्टम actions Fastlane प्लगइन के माध्यम से वितरित की जाती हैं, जो Rubygems में प्रकाशित होती हैं और परियोजना जड़ में FastfilePlugin फ़ाइल के माध्यम से स्थापित की जाती हैं।
Lane एक नामित स्वचालन परिदृश्य है जो कई actions को एक तार्किक अनुक्रम में संयोजित करता है। एक lane अन्य lanes (private lanes) को कॉल कर सकता है, पैरामीटर पास कर सकता है और त्रुटियों को संभाल सकता है। यह परिदृश्यों का एक पदानुक्रम बनाने की अनुमति देता है: एक बेस बिल्ड lane, एक डिप्लोय lane, एक पूर्ण CI/CD चक्र lane।
Fastlane में विशेषिकृत उपकरणों का एक सैट शामिल है, जिनमें से प्रत्येक मोबाइल स्वचालन के एक विशिष्ट कार्य को हल करता है। उपकरण lanes के अंदर actions के रूप में या सीधे कमांड लाइन से चलाए जाते हैं। आइए iOS और Android के लिए CI/CD की मुख्य आवश्यकताओं को कवर करने वाले चार प्रमुख उपकरणों पर नज़र डालें।
| उपकरण | उद्देश्य | कमांड |
|---|---|---|
| scan | iOS सिमुलेटर पर Unit और UI परीक्षण चलाना | fastlane scan |
| gym | iOS के लिए IPA या APP फ़ाइल बनाना | fastlane gym |
| match | Git के माध्यम से प्रमाणपत्र और provisioning profiles को सिंक करना | fastlane match |
| deliver | App Store Connect पर बैनरी और मेटडेटा अपलोड करना | fastlane deliver |
| snapshot | विभिन्न डिवाइसों पर स्वचालित स्क्रीनशॉट निर्माण | fastlane snapshot |
Scan Xcode परीक्षणों को सरल बनाता है, स्वचालित रूप से एक उपयुक्त सिमुलेटर चुनता है और रिपोर्ट को फ़ॉर्मेट करता है। Gym एप्लिकेशन को इष्टतम कंपाइलेशन फ़्लैग के साथ बनाता है और विभिन्न बिल्ड प्रकारों (development, adhoc, appstore) के लिए exportOptions.plist का समर्थन करता है। Deliver एक ही मेटडेटा फ़ाइल के माध्यम से न केवल बैनरी बल्कि स्क्रीनशॉट, विवरण, संस्करण और मूल्य भी अपलोड करने की अनुमति देता है।
Match उपकरण विशेष ध्यान का हक्दार है — यह टीमों में iOS प्रमाणपत्रों को संग्रहीत करने और सिंक करने की समस्या को हल करता है। Match प्रमाणपत्रों और provisioning profiles को एन्क्रिप्ट करता है और Git रिपोज़िटरी में संग्रहीत करता है, और डेवलपर्स को fastlane match चलाने पर वे स्वचालित रूप से मिल जाते हैं। यह प्रत्येक वर्कस्टेशन पर मैनुअल सेटअप को समाप्त कर देता है।
Snapshot विभिन्न डिवाइसों और भाषाओं पर मोबाइल एप्लिकेशन के स्क्रीनशॉट स्वचालित रूप से बनाने का एक टूल है। Snapshot iOS सिमुलेटर पर UI परीक्षण चलाता है, परीक्षण के प्रत्येक चरण पर स्क्रीनशॉट लेता है। परिणाम fastlane/screenshots निर्देशिका में सहेज किए जाते हैं और deliver के माध्यम से App Store Connect पर अपलोड किए जा सकते हैं।
Android के लिए, screengrab Android एमुलेटरों पर समान कार्य करता है। दोनों उपकरण स्थानीयकरण का समर्थन करते हैं — प्रत्येक भाषा के लिए स्क्रीनशॉट बनाए जाते हैं, जो बहुभाषीय एप्ल स्टोरों में प्रकाशन के लिए सामग्री तैयार करने को सरल बनाता है।
iOS परियोजनाओं के लिए, Fastlane को Gemfile (fastlane gem स्थापित करना) और fastlane निर्देशिका में Fastfile के माध्यम से कॉन्फ़िगर किया जाता है। प्रारंभिक सेटअप fastlane init कमांड से किया जाता है, जो मूल निर्देशिका संरचना बनाता है, App Store Connect डेटा मांगता है और बुनियादी lanes के साथ एक Fastfile टेम्पलेट जनरेट करता है।
iOS के लिए मुख्य कमांड fastlane match है, जिसे प्रमाणपत्र और provisioning profiles प्राप्त करने के लिए पहले चलाना चाहिए। सफल हस्ताक्षर के बाद, Fastlane एप्लिकेशन बना सकता है (gym), परीक्षण चला सकता है (scan) और बैनरी अपलोड कर सकता है (pilot या deliver)।
# iOS ऐप्लिकेशन के लिए 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: 'नया संस्करण TestFlight में अपलोड किया गया')
end
TestFlight के साथ काम करने के लिए pilot action का उपयोग करें — यह IPA अपलोड करता है और परीक्षकों का प्रबंधन करता है। Fastlane upload_to_testflight (pilot का पर्याय) का समर्थन करता है और Apple के बिल्ड प्रॉसेसिंग की प्रतीक्षा को स्वचालित रूप से संभालता है, जो 5 से 30 मिनट तक ले सकता है।
Android परियोजनाओं के लिए, Fastlane को समान रूप से कॉन्फ़िगर किया जाता है, लेकिन Xcode टूल्स के बजाय Gradle और Android SDK का उपयोग किया जाता है। Android के लिए Fastlane APK और AAB बनाने, apksigner या jarsigner के माध्यम से हस्ताक्षर करने, इंस्ट्रमेंटेड परीक्षण चलाने और Supply action के माध्यम से Google Play Console पर अपलोड करने का समर्थन करता है।
मुख्य अंतर यह है कि Android बिल्ड को match के माध्यम से प्रमाणपत्र प्रबंधन की आवश्यकता नहीं है (Android हस्ताक्षर Keystore के माध्यम से प्रबंधित किया जाता है, जो अलग से संग्रहीत होता है)। Android के लिए Fastlane किसी भी Gradle कार्य को चलाने के लिए gradle action और Google Play के साथ काम करने के लिए supply action का उपयोग करता है।
# Android ऐप्लिकेशन के लिए 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 के साथ काम करने के लिए Google Play API तक पहुंच वाले Google Cloud सार्विस अकाउंट की आवश्यकता है। Fastlane SUPPLY_JSON_KEY पर्यावरण चर या supply action में json_key पैरामीटर के माध्यम से सार्विस अकाउंट की JSON कुंजी स्वीकार करता है। प्रकाशन ट्रैक internal, alpha, beta या production हो सकता है।
Fastlane किसी भी CI/CD सिस्टम के साथ एकीकृत हो सकता है जो Ruby स्क्रिप्ट चला सकता है: Jenkins, Travis CI, GitHub Actions, GitLab CI, Bitrise और CircleCI। एकीकरण में fastlane gem स्थापित करना और पाइपलाइन के script चरण में fastlane [lane_name] कमांड चलाना शामिल है।
CI/CD के लिए, संवेदनशील डेटा को संग्रहीत करने के लिए पर्यावरण चर सेट करना महत्वपूर्ण है: MATCH_PASSWORD (प्रमाणपत्र एन्क्रिप्शन पासवर्ड), FASTLANE_USER (Apple ID), FASTLANE_PASSWORD (Apple ID पासवर्ड)। Travis CI में, चरों को travis encrypt के माध्यम से एन्क्रिप्ट किया जाता है, GitHub Actions में Secrets रिपोज़िटरी के माध्यम से।
अनुशंसित अभ्यास यह है कि प्रमाणपत्र रिपोज़िटरी में आकस्मिक बदलावों से बचने के लिए CI/CD में readonly फ़्लैग के साथ fastlane match का उपयोग करें। Android के लिए, एक पर्यावरण चर में संग्रहीत Base64-एन्कोडेड Keystore का उपयोग करें, जिसे before_install चरण के दौरान डिकोड करके एक अस्थायी फ़ाइल में सहेज किया जाता है।
Fastlane Match iOS प्रमाणपत्रों और provisioning profiles के प्रबंधन को स्वचालित करने का एक टूल है, जो टीमों के लिए Fastlane की सबसे मूल्यवान विशेषताओं में से एक है। Match एक एन्क्रिप्टेड Git रिपोज़िटरी बनाता है (या मौजूदा का उपयोग करता है) जो सभी प्रमाणपत्रों और प्रोफाइल्स को संग्रहीत करता है, और उन्हें डेवलपर्स और CI/CD सर्वरों के बीच सिंक करता है।
Match पांच प्रोफाइल प्रकारों का समर्थन करता है: development, adhoc, appstore, enterprise और developer_id। प्रत्येक प्रकार रिपोज़िटरी के अंदर एक अलग निर्देशिका में संग्रहीत होता है। कमांड fastlane match development स्थानीय मशीन पर डेवलपमेंट प्रमाणपत्र स्थापित करता है, जबकि fastlane match appstore CI बिल्ड के लिए App Store प्रोफाइल स्थापित करता है।
# Fastfile में Match का उपयोग
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 सुरक्षा Git में कमिट करने से पहले सभी फ़ाइलों को एन्क्रिप्ट करके सुनिश्चित की जाती है। एन्क्रिप्शन पासवर्ड MATCH_PASSWORD पर्यावरण चर के माध्यम से सेट किया जाता है और टीम के सभी सदस्यों के लिए समान होना चाहिए। Match एन्क्रिप्शन के लिए OpenSSL का उपयोग करता है और रिपोज़िटरी में पासवर्ड को सादे टेक्स्ट में संग्रहीत नहीं करता है।
अक्सर पूछे जाने वाले प्रश्न
Fastlane iOS और Android एप्लिकेशनों के लिए एक ओपन सोर्स स्वचालन टूल है। यह एक ही Fastfile कॉन्फ़िगरेशन फ़ाइल और बिल्ट-इन टूल्स के सेट के माध्यम से बिल्डिंग, परीक्षण, कोड साइनिंग और App Store और Google Play पर डिलीवरी को स्वचालित करता है।
Fastlane के मुख्य उपकरण: scan (परीक्षण), gym (iOS बिल्ड), match (प्रमाणपत्र), deliver (App Store), pilot (TestFlight), snapshot (स्क्रीनशॉट), supply (Google Play) और frameit (स्क्रीनशॉट फ़्रेम)। प्रत्येक उपकरण lane के अंदर एक action के रूप में या कमांड लाइन से उपलब्ध है।
gem fastlane स्थापित करें, परियोजना जड़ में fastlane init चलाएं। बिल्ड (gym) और परीक्षण (scan) के लिए lanes के साथ Fastfile कॉन्फ़िगर करें। Git रिपोज़िटरी के माध्यम से प्रमाणपत्र प्रबंधन के लिए Match सेट अप करें। App Store Connect पर अपलोड करने के लिए pilot या deliver के साथ एक डिप्लोय lane जोड़ें।
package name निर्दिष्ट करते हुए fastlane init चलाएं। Gradle कार्यों (assembleRelease, testReleaseUnitTest) को चलाने के लिए gradle action का उपयोग करें। पर्यावरण चरों के माध्यम से Keystore कॉन्फ़िगर करें। वांछित ट्रैक पर Google Play Console में AAB या APK अपलोड करने के लिए supply action का उपयोग करें।
CI/CD सर्वर पर gem fastlane स्थापित करें और पाइपलाइन के script चरण में fastlane [lane_name] कमांड जोड़ें। CI/CD गुप्त चरों में FASTLANE_USER, FASTLANE_PASSWORD और MATCH_PASSWORD पर्यावरण चर कॉन्फ़िगर करें। प्रमाणपत्रों में आकस्मिक बदलावों से बचने के लिए CI के लिए match readonly का उपयोग करें।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें