फ़ास्टलेन का इस्तेमाल करके, टेस्टर को बिल्ड डिस्ट्रिब्यूट किए जा सकते हैं. यह एक ओपन सोर्स प्लैटफ़ॉर्म है, जो अपने-आप iOS और Android ऐप्लिकेशन बनाने और रिलीज़ करने की सुविधा देता है. यह Fastfile
में बताए गए आसान निर्देशों का पालन करता है. फ़ास्टलेन और Fastfile
सेट अप करने के बाद, ऐप्लिकेशन डिस्ट्रिब्यूशन को फ़ास्टलेन कॉन्फ़िगरेशन के साथ इंटिग्रेट किया जा सकता है.
पहला चरण. फ़ास्टलेन सेट अप करें
अपने फ़ास्टलेन कॉन्फ़िगरेशन में App Distribution जोड़ने के लिए, अपने iOS प्रोजेक्ट के रूट से यह कमांड चलाएं:
fastlane add_plugin firebase_app_distribution
अगर निर्देश आपको कोई विकल्प दिखाता है, तो
Option 3: RubyGems.org
चुनें.
दूसरा चरण. Firebase की मदद से पुष्टि करें
फ़ास्टलेन प्लगिन का इस्तेमाल करने से पहले, आपको इनमें से किसी एक तरीके से अपने Firebase प्रोजेक्ट की पुष्टि करनी होगी. अगर पुष्टि करने के किसी दूसरे तरीके का इस्तेमाल नहीं किया जाता है, तो डिफ़ॉल्ट रूप से फ़ास्टलेन प्लगिन, Firebase सीएलआई से क्रेडेंशियल की जांच करता है.
तीसरा चरण. अपनी फ़ास्टफ़ाइल सेट अप करना और अपने ऐप्लिकेशन को लोगों तक पहुंचाना
./fastlane/Fastfile
लेन में,firebase_app_distribution
ब्लॉक जोड़ें. डिस्ट्रिब्यूशन को कॉन्फ़िगर करने के लिए, इन पैरामीटर का इस्तेमाल करें:firebase_app_डिस्ट्रिब्यूशन पैरामीटर app
यह सिर्फ़ तब ज़रूरी है, जब आपके ऐप्लिकेशन में Firebase कॉन्फ़िगरेशन फ़ाइल (
GoogleService-Info.plist
) मौजूद न हो: आपके ऐप्लिकेशन का Firebase ऐप्लिकेशन आईडी. ऐप्लिकेशन आईडी को Firebase कंसोल में, सामान्य सेटिंग पेज पर देखा जा सकता है.app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path
संग्रहित किए गए प्रॉडक्ट पाथ के मुताबिक, आपकी
GoogleService-Info.plist
फ़ाइल का पाथ. डिफ़ॉल्ट रूप सेGoogleService-Info.plist
पर सेट करें.अगर
app
पैरामीटर के बारे में जानकारी नहीं दी गई है, तो आपके ऐप्लिकेशन का Firebase ऐप्लिकेशन आईडी पाने के लिए, इस फ़ाइल का इस्तेमाल किया जाएगा.firebase_cli_token
Firebase सीएलआई की मदद से अपने सीआई एनवायरमेंट की पुष्टि करने के बाद, प्रिंट होने वाला रीफ़्रेश टोकन. ज़्यादा जानकारी के लिए, सीआई सिस्टम के साथ सीएलआई का इस्तेमाल करना लेख पढ़ें.
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
टेस्टर के ऐसे ग्रुप जिन्हें आपको न्योता भेजना है (टेस्टर को मैनेज करना देखें).
ग्रुप के अन्य नामों का इस्तेमाल करके, ग्रुप की जानकारी दी जाती है. इन्हें Firebase कंसोल में देखा जा सकता है.आप समूहों को कॉमा-सेपरेटेड लिस्ट के रूप में तय कर सकते हैं:
groups: "qa-team, trusted-testers"
इसके अलावा, किसी सादे टेक्स्ट वाली फ़ाइल का पाथ बताया जा सकता है. इस फ़ाइल में, ग्रुप के नामों की कॉमा लगाकर अलग की गई सूची शामिल होती है:
groups_file: "/path/to/groups.txt"
test_devices
test_devices_file
नीचे दिए गए डिस्ट्रिब्यूशन टाइप, ऑटोमेटेड टेस्टर बीटा सुविधा का हिस्सा हैं.
टेस्ट वाले वे डिवाइस जिन पर आपको बिल्ड डिस्ट्रिब्यूट करना है (ऑटोमेटेड टेस्ट देखें).
टेस्ट डिवाइसों को, सेमी-कॉलन से अलग किए गए टेस्ट डिवाइसों की सूची के तौर पर तय किया जा सकता है:
test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
इसके अलावा, ऐसी सामान्य टेक्स्ट फ़ाइल का पाथ बताया जा सकता है जिसमें सेमीकोलन लगाकर अलग किए गए टेस्ट डिवाइसों की सूची हो:
test_devices_file: "/path/to/test-devices.txt"
test_username
ऑटोमेटेड टेस्ट के दौरान अपने-आप लॉगिन होने के लिए उपयोगकर्ता नाम.
test_password
test_password_file
ऑटोमैटिक लॉगिन के लिए पासवर्ड, जिसका इस्तेमाल ऑटोमेटेड टेस्ट के दौरान किया जाएगा.
या, आप पासवर्ड वाली सादी टेक्स्ट फ़ाइल का पाथ तय कर सकते हैं:
test_password_file: "/path/to/test-password.txt"
test_username_resource
ऑटोमेटेड टेस्ट के दौरान अपने-आप लॉगिन होने के लिए, उपयोगकर्ता नाम फ़ील्ड के संसाधन का नाम.
test_password_resource
ऑटोमेटेड टेस्ट के दौरान अपने-आप लॉगिन होने के लिए, पासवर्ड फ़ील्ड के लिए संसाधन का नाम.
test_non_blocking
एसिंक्रोनस तरीके से ऑटोमेटेड टेस्ट चलाएं. अपने-आप होने वाले टेस्ट के नतीजों के लिए, Firebase कंसोल पर जाएं.
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 दस्तावेज़ देखें.
फ़ास्टलेन प्लगिन रिलीज़ अपलोड के बाद नीचे दिए गए लिंक देता है. इन लिंक की मदद से, बाइनरी को मैनेज किया जा सकता है. साथ ही, यह पक्का किया जा सकता है कि टेस्टर और अन्य डेवलपर के पास सही रिलीज़ है या नहीं:
- Firebase कंसोल का लिंक, जिस पर सिंगल रिलीज़ दिखाया जाता है. आपके पास इस लिंक को अपने संगठन के दूसरे डेवलपर के साथ शेयर करने का विकल्प है.
- टेस्टर की सुविधा वाले वर्शन (iOS वेब क्लिप) में शामिल रिलीज़ का लिंक. इसकी मदद से टेस्टर, रिलीज़ की जानकारी देख सकते हैं और अपने डिवाइस पर ऐप्लिकेशन इंस्टॉल कर सकते हैं. लिंक का इस्तेमाल करने के लिए, टेस्टर को रिलीज़ का ऐक्सेस चाहिए.
- हस्ताक्षर किया गया एक लिंक, जो ऐप्लिकेशन बाइनरी (IPA फ़ाइल) को सीधे डाउनलोड और इंस्टॉल करता है. एक घंटे बाद लिंक काम नहीं करेगा.
बिल्ड डिस्ट्रिब्यूट करने के बाद, यह Firebase कंसोल के App Distribution डैशबोर्ड में 150 दिनों तक उपलब्ध रहता है. बिल्ड की समयसीमा खत्म होने के 30 दिन बाद, कंसोल और टेस्टर के टेस्ट डिवाइस पर बिल्ड की सूची में, ऐक्सेस खत्म होने की सूचना दिखती है.
जिन टेस्टर को पहले ऐप्लिकेशन की जांच करने का न्योता नहीं भेजा गया है उन्हें ऐप्लिकेशन की जांच करने के लिए ईमेल से न्योते मिलेंगे. मौजूदा टेस्टर को ईमेल सूचनाएं मिलती हैं कि नया बिल्ड टेस्ट करने के लिए तैयार है. टेस्ट ऐप्लिकेशन को इंस्टॉल करने का तरीक़ा जानने के लिए, टेस्टर के तौर पर सेट अप करना देखें. हर टेस्टर की स्थिति पर नज़र रखी जा सकती है. इससे यह पता लगाया जा सकता है कि उन्होंने न्योता स्वीकार किया है या नहीं. साथ ही, यह भी पता लगाया जा सकता है कि उन्होंने Firebase कंसोल में ऐप्लिकेशन डाउनलोड किया है या नहीं.
(ज़रूरी नहीं) App Distribution में नई रिलीज़ बनाने पर, हर बार बिल्ड नंबर अपने-आप बढ़ने के लिए
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
इस फ़ास्टलाइन प्लग इन की सुविधा के बारे में ज़्यादा जानने के लिए, अपने ऐप्लिकेशन के हाल ही में रिलीज़ हुए वर्शन के बारे में जानकारी पाना देखें.
चौथा चरण (ज़रूरी नहीं). डिस्ट्रिब्यूशन के लिए, टेस्टर मैनेज करें
अपनी Fastfile
फ़ाइल का इस्तेमाल करके या सीधे फ़ास्टलेन ऐक्शन चलाकर, टेस्टर को अपने प्रोजेक्ट या ग्रुप में जोड़ा या हटाया जा सकता है. दौड़ने की कार्रवाइयां, आपके Fastfile
में सेट की गई वैल्यू को सीधे तौर पर बदल देती हैं.
टेस्टर को आपके Firebase प्रोजेक्ट में जोड़ने के बाद, उसे अलग-अलग रिलीज़ में जोड़ा जा सकता है. आपके Firebase प्रोजेक्ट से हटाए गए टेस्टर के पास अब आपके प्रोजेक्ट की रिलीज़ का ऐक्सेस नहीं रहेगा. हालांकि, वे कुछ समय तक आपकी रिलीज़ का ऐक्सेस बनाए रख सकते हैं.
अगर आपके पास जांच करने वाले लोगों की संख्या ज़्यादा है, तो आपको ग्रुप का इस्तेमाल करना चाहिए.
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
: आपके Firebase प्रोजेक्ट का नंबर.group_alias
(ज़रूरी नहीं): अगर बताया गया है, तो टेस्टर को तय किए गए ग्रुप में जोड़ा जाता है या उससे हटाया जाता है.service_credentials_file
: आपकी Google सेवा क्रेडेंशियल फ़ाइल का पाथ.firebase_cli_token
: Firebase सीएलआई के लिए पुष्टि करने वाला टोकन.
service_credentials_file
और firebase_cli_token
वही आर्ग्युमेंट हैं जिनका इस्तेमाल अपलोड ऐक्शन के लिए किया जाता है.
पांचवां चरण (ज़रूरी नहीं). अपने ऐप्लिकेशन के नए वर्शन के बारे में जानकारी पाना
App Distribution में, अपने ऐप्लिकेशन की नई रिलीज़ के बारे में जानकारी फ़ेच करने के लिए, firebase_app_distribution_get_latest_release
कार्रवाई का इस्तेमाल किया जा सकता है. इसमें ऐप्लिकेशन के वर्शन की जानकारी, प्रॉडक्ट की जानकारी, और उसे बनाने का समय शामिल है. इस्तेमाल के उदाहरणों में, वर्शन को अपने-आप बढ़ाना और पिछली रिलीज़ के रिलीज़ नोट शामिल करना शामिल है.
कार्रवाई की रिटर्न वैल्यू एक हैश है, जो नई रिलीज़ को दिखाता है.
यह हैश, lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
का इस्तेमाल करके भी उपलब्ध है.
इस हैश में उपलब्ध फ़ील्ड के बारे में ज़्यादा जानकारी के लिए, REST API दस्तावेज़ देखें.
पैरामीटर
firebase_app_ Distribution_get_latest_release पैरामीटर | |
---|---|
app
|
यह सिर्फ़ तब ज़रूरी है, जब आपके ऐप्लिकेशन में Firebase कॉन्फ़िगरेशन फ़ाइल ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path
|
संग्रहित किए गए प्रॉडक्ट पाथ के मुताबिक, आपकी
अगर |
firebase_cli_token
|
Firebase सीएलआई की मदद से अपने सीआई एनवायरमेंट की पुष्टि करने के बाद, प्रिंट होने वाला रीफ़्रेश टोकन. ज़्यादा जानकारी के लिए, सीआई सिस्टम के साथ सीएलआई का इस्तेमाल करना लेख पढ़ें. |
service_credentials_file
|
आपके Google सेवा खाते की json फ़ाइल का पाथ. सेवा खाते के क्रेडेंशियल का इस्तेमाल करके पुष्टि करने का तरीका जानने के लिए, इससे जुड़े दस्तावेज़ देखें. |
service_credentials_json_data
|
Google सेवा खाते की json फ़ाइल का कॉन्टेंट. सेवा खाते के क्रेडेंशियल का इस्तेमाल करके पुष्टि करने का तरीका जानने के लिए, इससे जुड़े दस्तावेज़ देखें. |
debug
|
बूलियन फ़्लैग. वर्बोस डीबग आउटपुट प्रिंट करने के लिए, इसे |
अगले चरण
ज़्यादा डिवाइसों को मैन्युअल तरीके से या प्रोग्रैम्ड तरीके से रजिस्टर करने के लिए, अतिरिक्त iOS डिवाइसों को रजिस्टर करना लेख पढ़ें.
सीआई/सीडी और फ़ास्टलेन का इस्तेमाल करके, QA जांच करने वाले लोगों को Apple के ऐप्लिकेशन उपलब्ध कराने के सबसे सही तरीके जानें.