आप फास्टलेन का उपयोग करके परीक्षकों को बिल्ड वितरित कर सकते हैं, एक ओपन सोर्स प्लेटफ़ॉर्म जो आईओएस और एंड्रॉइड ऐप्स के निर्माण और रिलीज़ को स्वचालित करता है। यह Fastfile
में परिभाषित सरल निर्देशों का पालन करता है। फास्टलेन और अपनी Fastfile
सेट करने के बाद, आप ऐप डिस्ट्रीब्यूशन को अपने फास्टलेन कॉन्फ़िगरेशन के साथ एकीकृत कर सकते हैं।
चरण 1. फास्टलेन सेट करें
अपने फास्टलेन कॉन्फ़िगरेशन में ऐप डिस्ट्रीब्यूशन जोड़ने के लिए, अपने iOS प्रोजेक्ट के रूट से निम्नलिखित कमांड चलाएँ:
fastlane add_plugin firebase_app_distribution
यदि आदेश आपको कोई विकल्प बताता है, तो
Option 3: RubyGems.org
चुनें।
चरण 2. फायरबेस से प्रमाणित करें
इससे पहले कि आप फास्टलेन प्लगइन का उपयोग कर सकें, आपको पहले अपने फायरबेस प्रोजेक्ट को निम्नलिखित में से किसी एक तरीके से प्रमाणित करना होगा। डिफ़ॉल्ट रूप से, यदि कोई अन्य प्रमाणीकरण विधि का उपयोग नहीं किया जाता है, तो फास्टलेन प्लगइन फायरबेस सीएलआई से क्रेडेंशियल ढूंढता है।
सेवा खाते से प्रमाणीकरण करने से आप अपने सतत एकीकरण (सीआई) सिस्टम के साथ प्लगइन का लचीले ढंग से उपयोग कर सकते हैं। सेवा खाता क्रेडेंशियल प्रदान करने के दो तरीके हैं:
- अपनी सेवा खाता कुंजी फ़ाइल को
firebase_app_distribution
कार्रवाई में पास करें। यदि आपके पास पहले से ही आपके बिल्ड वातावरण में आपकी सेवा खाता कुंजी फ़ाइल है तो आपको यह विधि सुविधाजनक लग सकती है। - अपनी सेवा खाता कुंजी फ़ाइल को इंगित करने के लिए पर्यावरण चर
GOOGLE_APPLICATION_CREDENTIALS
सेट करें। यदि आपके पास पहले से ही किसी अन्य Google सेवा (जैसे, Google क्लाउड) के लिए एप्लिकेशन डिफॉल्ट क्रेडेंशियल (ADC) कॉन्फ़िगर है, तो आप इस पद्धति को प्राथमिकता दे सकते हैं।
- Google क्लाउड कंसोल पर, अपना प्रोजेक्ट चुनें और एक नया सेवा खाता बनाएं।
- फायरबेस ऐप डिस्ट्रीब्यूशन एडमिन भूमिका जोड़ें।
- एक निजी json कुंजी बनाएं और कुंजी को अपने निर्माण परिवेश के लिए पहुंच योग्य स्थान पर ले जाएं। इस फ़ाइल को कहीं सुरक्षित रखना सुनिश्चित करें , क्योंकि यह आपके फायरबेस प्रोजेक्ट में ऐप वितरण तक व्यवस्थापक पहुंच प्रदान करता है।
- यदि आपने 20 सितंबर, 2019 के बाद अपना ऐप बनाया है तो इस चरण को छोड़ दें: Google एपीआई कंसोल में, फायरबेस ऐप वितरण एपीआई को सक्षम करें। संकेत मिलने पर, अपने फायरबेस प्रोजेक्ट के समान नाम वाला प्रोजेक्ट चुनें।
अपने सेवा खाते के क्रेडेंशियल प्रदान करें या पता लगाएं:
- अपनी सेवा खाता कुंजी को अपने लेन की
firebase_app_distribution
कार्रवाई में पास करने के लिए, अपनी निजी कुंजी JSON फ़ाइल के पथ के साथservice_credentials_file
पैरामीटर सेट करें ADC के साथ अपने क्रेडेंशियल्स का पता लगाने के लिए, निजी कुंजी JSON फ़ाइल के पथ पर पर्यावरण चर
GOOGLE_APPLICATION_CREDENTIALS
सेट करें। उदाहरण के लिए:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
एडीसी के साथ प्रमाणीकरण के बारे में अधिक जानकारी के लिए, अपने आवेदन में क्रेडेंशियल प्रदान करना पढ़ें।
- अपनी सेवा खाता कुंजी को अपने लेन की
अपने प्रोजेक्ट को प्रमाणित करने के निर्देशों के लिए फायरबेस सीएलआई के साथ लॉग इन करें देखें।
चरण 3. अपना फास्टफ़ाइल सेट करें और अपना ऐप वितरित करें
-
./fastlane/Fastfile
लेन में, एकfirebase_app_distribution
ब्लॉक जोड़ें। वितरण को कॉन्फ़िगर करने के लिए निम्नलिखित पैरामीटर का उपयोग करें:firebase_app_distribution पैरामीटर app
केवल तभी आवश्यक है जब आपके ऐप में फ़ायरबेस कॉन्फ़िगरेशन फ़ाइल (
GoogleService-Info.plist
) नहीं है : आपके ऐप की फ़ायरबेस ऐप आईडी। आप ऐप आईडी को फायरबेस कंसोल में, सामान्य सेटिंग्स पृष्ठ पर पा सकते हैं।app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path
संग्रहीत उत्पाद पथ के सापेक्ष आपकी
GoogleService-Info.plist
फ़ाइल का पथ। डिफ़ॉल्ट रूप सेGoogleService-Info.plist
पर सेट करें।यदि
app
पैरामीटर अनिर्दिष्ट है तो फ़ाइल का उपयोग आपके ऐप की फायरबेस ऐप आईडी प्राप्त करने के लिए किया जाता है।firebase_cli_token
एक ताज़ा टोकन जो तब मुद्रित होता है जब आप फायरबेस सीएलआई के साथ अपने सीआई वातावरण को प्रमाणित करते हैं (अधिक जानकारी के लिए सीआई सिस्टम के साथ सीएलआई का उपयोग करें पढ़ें)।
service_credentials_file
आपके Google सेवा खाते json फ़ाइल का पथ। सेवा खाता क्रेडेंशियल का उपयोग करके प्रमाणित करने के तरीके के लिए ऊपर देखें।
ipa_path
apk_path
प्रतिस्थापित करता है (अस्वीकृत)। जिस आईपीए फ़ाइल को आप अपलोड करना चाहते हैं उसका पूर्ण पथ। यदि निर्दिष्ट नहीं है, तो फास्टलेन उस लेन से फ़ाइल का स्थान निर्धारित करता है जिसमें फ़ाइल उत्पन्न हुई थी।release_notes
release_notes_file
इस निर्माण के लिए नोट जारी करें।
आप रिलीज़ नोट्स को सीधे निर्दिष्ट कर सकते हैं:
release_notes: "Text of release notes"
या, एक सादे पाठ फ़ाइल का पथ निर्दिष्ट करें:
release_notes_file: "/path/to/release-notes.txt"
testers
testers_file
जिन परीक्षकों को आप आमंत्रित करना चाहते हैं उनके ईमेल पते।
आप परीक्षकों को ईमेल पतों की अल्पविराम से अलग की गई सूची के रूप में निर्दिष्ट कर सकते हैं:
testers: "ali@example.com, bri@example.com, cal@example.com"
या, आप ईमेल पतों की अल्पविराम से अलग की गई सूची वाली सादे पाठ फ़ाइल का पथ निर्दिष्ट कर सकते हैं:
testers_file: "/path/to/testers.txt"
groups
groups_file
जिन परीक्षक समूहों को आप आमंत्रित करना चाहते हैं ( परीक्षकों को प्रबंधित करें देखें)। समूहों का उपयोग करके निर्दिष्ट किया जाता है
समूह उपनाम , जिसे आप फायरबेस कंसोल में देख सकते हैं।आप समूहों को अल्पविराम से अलग की गई सूची के रूप में निर्दिष्ट कर सकते हैं:
groups: "qa-team, trusted-testers"
या, आप समूह नामों की अल्पविराम से अलग की गई सूची वाली सादे पाठ फ़ाइल का पथ निर्दिष्ट कर सकते हैं:
groups_file: "/path/to/groups.txt"
debug
एक बूलियन ध्वज. वर्बोज़ डिबग आउटपुट प्रिंट करने के लिए आप इसे
true
पर सेट कर सकते हैं।
उदाहरण के लिए:
platform :ios do desc "My awesome app" lane :distribute do build_ios_app(...) # build_ios_app is a built-in fastlane action. release = firebase_app_distribution( app: "1:123456789:ios:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
परीक्षकों को बिल्ड उपलब्ध कराने के लिए, अपनी लेन चलाएँ:
fastlane <lane>
कार्रवाई का रिटर्न मान अपलोड की गई रिलीज़ का प्रतिनिधित्व करने वाला हैश है। यह हैश lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
का उपयोग करके भी उपलब्ध है। इस हैश में उपलब्ध फ़ील्ड के बारे में अधिक जानकारी के लिए, REST API दस्तावेज़ देखें।
फ़ास्टलेन प्लगइन रिलीज़ अपलोड के बाद निम्नलिखित लिंक आउटपुट करता है। ये लिंक आपको बायनेरिज़ प्रबंधित करने में मदद करते हैं और यह सुनिश्चित करते हैं कि परीक्षकों और अन्य डेवलपर्स के पास सही रिलीज़ है:
- एकल रिलीज़ प्रदर्शित करने वाले फ़ायरबेस कंसोल का लिंक। आप इस लिंक को अपने संगठन के अन्य डेवलपर्स के साथ साझा कर सकते हैं।
- परीक्षक अनुभव में रिलीज़ का एक लिंक (iOS वेब क्लिप) जो परीक्षकों को रिलीज़ नोट्स देखने और उनके डिवाइस पर ऐप इंस्टॉल करने देता है। लिंक का उपयोग करने के लिए परीक्षक को रिलीज़ तक पहुंच की आवश्यकता होती है।
- एक हस्ताक्षरित लिंक जो सीधे ऐप बाइनरी (आईपीए फ़ाइल) को डाउनलोड और इंस्टॉल करता है। लिंक एक घंटे के बाद समाप्त हो जाता है.
आपके द्वारा अपना बिल्ड वितरित करने के बाद, यह 150 दिनों के लिए फायरबेस कंसोल के ऐप वितरण डैशबोर्ड में उपलब्ध है। जब बिल्ड की समाप्ति तिथि 30 दिन रह जाती है, तो कंसोल में और परीक्षक की उनके परीक्षण डिवाइस पर बिल्ड की सूची में एक समाप्ति सूचना दिखाई देती है।
जिन परीक्षकों को पहले ऐप का परीक्षण करने के लिए आमंत्रित नहीं किया गया था, उन्हें आरंभ करने के लिए ईमेल आमंत्रण प्राप्त होते हैं। मौजूदा परीक्षकों को ईमेल सूचनाएं प्राप्त होती हैं कि एक नया निर्माण परीक्षण के लिए तैयार है। परीक्षण ऐप इंस्टॉल करने का तरीका जानने के लिए, एक परीक्षक के रूप में स्थापित हो जाएं देखें। आप यह निर्धारित करने के लिए प्रत्येक परीक्षक की स्थिति की निगरानी कर सकते हैं कि क्या उन्होंने निमंत्रण स्वीकार किया है और क्या उन्होंने फायरबेस कंसोल में ऐप डाउनलोड किया है।
(वैकल्पिक) हर बार जब आप ऐप डिस्ट्रीब्यूशन में एक नई रिलीज़ बनाते हैं तो अपने बिल्ड नंबर को स्वचालित रूप से बढ़ाने के लिए, आप firebase_app_distribution_get_latest_release
एक्शन और increment_build_number
एक्शन का उपयोग कर सकते हैं। निम्नलिखित कोड आपके बिल्ड नंबर को स्वचालित रूप से बढ़ाने का एक उदाहरण प्रदान करता है:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end
इस फास्टलेन प्लगइन सुविधा के बारे में अधिक जानने के लिए, अपने ऐप की नवीनतम रिलीज़ के बारे में जानकारी प्राप्त करें देखें।
चरण 4 (वैकल्पिक). वितरण के लिए परीक्षकों को प्रबंधित करें
आप अपनी Fastfile
फ़ाइल का उपयोग करके या सीधे फास्टलेन क्रियाएं चलाकर अपने प्रोजेक्ट या समूह से परीक्षकों को जोड़ और हटा सकते हैं। रनिंग क्रियाएं सीधे आपके Fastfile
में सेट मानों को ओवरराइड करती हैं।
एक बार आपके फायरबेस प्रोजेक्ट में एक परीक्षक जुड़ जाने के बाद, आप उन्हें अलग-अलग रिलीज़ में जोड़ सकते हैं। जिन परीक्षकों को आपके फायरबेस प्रोजेक्ट से हटा दिया गया है, उनके पास अब आपके प्रोजेक्ट में रिलीज़ तक पहुंच नहीं है, लेकिन वे कुछ समय के लिए आपकी रिलीज़ तक पहुंच बनाए रख सकते हैं।
यदि आपके पास बड़ी संख्या में परीक्षक हैं तो आपको समूहों का उपयोग करने पर विचार करना चाहिए।
Fastfile
प्रयोग करें
# Use lanes to add or remove testers from a project. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) add testers to this group ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) remove testers from this group only ) end
# Add or remove testers with the terminal $ fastlane add_testers $ fastlane remove_testers
फास्टलेन क्रियाएँ चलाएँ
fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"
आप --emails
के बजाय --file="/path/to/testers.txt
का उपयोग करके भी परीक्षक निर्दिष्ट कर सकते हैं।
firebase_app_distribution_add_testers
और firebase_app_distribution_remove_testers
कार्य भी निम्नलिखित तर्क स्वीकार करते हैं:
-
project_name
: आपका फायरबेस प्रोजेक्ट नंबर। -
group_alias
(वैकल्पिक): यदि निर्दिष्ट किया गया है, तो परीक्षकों को निर्दिष्ट समूह में जोड़ा जाता है (या हटा दिया जाता है)। -
service_credentials_file
: आपकी Google सेवा क्रेडेंशियल फ़ाइल का पथ। -
firebase_cli_token
: Firebase CLI के लिए प्रामाणिक टोकन।
service_credentials_file
और firebase_cli_token
अपलोड कार्रवाई द्वारा उपयोग किए जाने वाले समान तर्क हैं।
चरण 5 (वैकल्पिक). अपने ऐप की नवीनतम रिलीज़ के बारे में जानकारी प्राप्त करें
आप ऐप वितरण में अपने ऐप की नवीनतम रिलीज़ के बारे में जानकारी प्राप्त करने के लिए firebase_app_distribution_get_latest_release
कार्रवाई का उपयोग कर सकते हैं, जिसमें ऐप संस्करण की जानकारी, रिलीज़ नोट्स और निर्माण समय शामिल है। उपयोग के मामलों में संस्करण को स्वचालित रूप से बढ़ाना और पिछले रिलीज़ से रिलीज़ नोट्स को ले जाना शामिल है।
कार्रवाई का रिटर्न मान नवीनतम रिलीज़ का प्रतिनिधित्व करने वाला हैश है। यह हैश lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
का उपयोग करके भी उपलब्ध है। इस हैश में उपलब्ध फ़ील्ड के बारे में अधिक जानकारी के लिए, REST API दस्तावेज़ देखें।
पैरामीटर
firebase_app_distribution_get_latest_release पैरामीटर | |
---|---|
app | केवल तभी आवश्यक है जब आपके ऐप में फ़ायरबेस कॉन्फ़िगरेशन फ़ाइल ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path | संग्रहीत उत्पाद पथ के सापेक्ष आपकी यदि |
firebase_cli_token | एक ताज़ा टोकन जो तब मुद्रित होता है जब आप फायरबेस सीएलआई के साथ अपने सीआई वातावरण को प्रमाणित करते हैं (अधिक जानकारी के लिए सीआई सिस्टम के साथ सीएलआई का उपयोग करें पढ़ें)। |
service_credentials_file | आपके Google सेवा खाते json फ़ाइल का पथ। सेवा खाता क्रेडेंशियल का उपयोग करके प्रमाणित करने के तरीके के लिए ऊपर देखें। |
debug | एक बूलियन ध्वज. वर्बोज़ डिबग आउटपुट प्रिंट करने के लिए आप इसे |
अगले कदम
अधिक डिवाइसों को मैन्युअल रूप से या प्रोग्रामेटिक रूप से पंजीकृत करने के लिए, अतिरिक्त iOS डिवाइस पंजीकृत करें देखें।
CI/CD और फास्टलेन का उपयोग करके QA परीक्षकों को Apple ऐप्स वितरित करने की सर्वोत्तम प्रक्रियाएं जानें।