इस दस्तावेज़ में, Firebase App Distribution और fastlane का इस्तेमाल करने के सबसे सही तरीके बताए गए हैं. इनकी मदद से, Apple प्लैटफ़ॉर्म पर रिलीज़ से पहले की जाने वाली टेस्टिंग के वर्कफ़्लो को CI/CD एनवायरमेंट में बार-बार इस्तेमाल किया जा सकता है. इस दस्तावेज़ में fastlane पर फ़ोकस किया गया है. हालांकि, हमने Firebase कंसोल, Firebase CLI, और सार्वजनिक Firebase App Distribution API के ज़रिए उपलब्ध समाधानों के बारे में भी बताया है, ताकि आपको ज़्यादा विकल्प मिल सकें. हम रिलीज़ और टेस्टर की सीमाओं के बारे में भी बताते हैं, ताकि आपको बेहतरीन अनुभव मिल सके.
अगर Android का भी इस्तेमाल किया जा रहा है, तो सीआई/सीडी का इस्तेमाल करके, क्वालिटी अश्योरेंस टेस्टर को Android ऐप्लिकेशन डिस्ट्रिब्यूट करने के सबसे सही तरीके देखें.
शुरू करने से पहले
इस दस्तावेज़ में दिए गए सबसे सही तरीके लागू करने से पहले, Firebase कंसोल में हर ऐप्लिकेशन के लिए App Distribution चालू करना न भूलें. अगर आपने App Distribution चालू नहीं किया है, तो आपको 404 गड़बड़ी दिखेगी.
App Distribution को चालू करने के लिए, यह तरीका अपनाएं:
Firebase कंसोल में, App Distribution पेज खोलें.
अपना iOS ऐप्लिकेशन चुनें.
शुरू करें पर क्लिक करें.
सीआई/सीडी का इस्तेमाल करके, रिलीज़ से पहले टेस्टिंग के वर्कफ़्लो को ऑटोमेट करना
अगर आपको टेस्टर के लिए ऐप्लिकेशन बनाने और रिलीज़ करने की प्रोसेस को अपने-आप होने वाली प्रोसेस में बदलना है और CI/CD का इस्तेमाल करना है, तो हमारा सुझाव है कि आप fastlane का इस्तेमाल करें. एक और विकल्प है Firebase CLI का इस्तेमाल करना. इससे आपको Firebase के कई प्रॉडक्ट ऐक्सेस करने की सुविधा मिलती है.
fastlane का इस्तेमाल करना
fastlane का इस्तेमाल करके, App Distribution को अपनी CI/CD पाइपलाइन में इंटिग्रेट करें. fastlane एक ओपन सोर्स टूल है. यह iOS और Android ऐप्लिकेशन बनाने और रिलीज़ करने की प्रोसेस को ऑटोमेट करता है. टेस्टर को अपने-आप नई रिलीज़ उपलब्ध कराने से, यह पक्का किया जा सकता है कि उनके पास हमेशा ऐप्लिकेशन का सबसे नया टेस्ट वर्शन हो.
fastlane के साथ App Distribution को इंटिग्रेट करने का तरीका जानने के लिए, fastlane का इस्तेमाल करके टेस्टर को iOS ऐप्लिकेशन डिस्ट्रिब्यूट करना लेख पढ़ें. कोडलैब भी देखें. इसमें fastlane को इंटिग्रेट करने की प्रोसेस के बारे में बताया गया है.
Firebase CLI का इस्तेमाल करना
App Distribution के उपलब्ध कराए गए Firebase सीएलआई टूल का इस्तेमाल करके, टेस्टर को प्रोग्राम के हिसाब से बिल्ड डिस्ट्रिब्यूट करें. किसी बिल्ड के लिए, टेस्टर और रिलीज़ नोट तय किए जा सकते हैं.
ऐप्लिकेशन का Firebase ऐप्लिकेशन आईडी डालकर, iOS के अपने नए बिल्ड को test.ipa डिस्ट्रिब्यूट करें. इसके अलावा, रिलीज़ नोट और टेस्टर के ईमेल पते वाली फ़ाइल भी जोड़ी जा सकती है:
firebase appdistribution:distribute test.ipa \ --app 1:1234567890:ios:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txt
अपनी बिल्ड प्रोसेस को ऑटोमेट करने के लिए, Firebase CLI का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Firebase CLI का इस्तेमाल करके, टेस्टर को iOS ऐप्लिकेशन डिस्ट्रिब्यूट करना लेख पढ़ें.
पुष्टि करने के लिए सेवा क्रेडेंशियल का इस्तेमाल करना
सेवा खातों के साथ App Distribution fastlane प्लगिन या Firebase सीएलआई का इस्तेमाल करें. ये ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का फ़ायदा उठाते हैं और सीआई को मैनेज करने में आपकी मदद करते हैं. सेवा खाता एक तरह का Google खाता होता है. यह उपयोगकर्ताओं के बजाय ऐप्लिकेशन को दिखाता है. आपका सीआई सिस्टम, सेवा खातों का इस्तेमाल करके App Distribution वर्कलोड चला सकता है. ज़्यादा जानने के लिए, सेवा खाते से पुष्टि करना लेख पढ़ें.
अगर वर्कलोड आइडेंटिटी फ़ेडरेशन का इस्तेमाल किया जा रहा है, तो सेवा खाते की कुंजी के बजाय, क्रेडेंशियल कॉन्फ़िगरेशन फ़ाइल जनरेट करके उसका इस्तेमाल किया जा सकता है.
रिलीज़ की सीमाओं का ध्यान रखें
App Distribution हर ऐप्लिकेशन के लिए ज़्यादा से ज़्यादा 1,000 रिलीज़ को सेव कर सकता है. इसका मतलब है कि रिलीज़ की सीमा पार होने पर, App Distribution सीमा से ज़्यादा पुरानी रिलीज़ को अपने-आप मिटा देता है. रिलीज़ की सीमाएं मैनेज करने का तरीका जानने के लिए, ऐप्लिकेशन की रिलीज़ कितने समय तक उपलब्ध रहती हैं? लेख पढ़ें
एक ही सेट के टेस्टर को कई रिलीज़ में जोड़ना
अगर आपको अपनी रिलीज़ में बड़ी संख्या में टेस्टर जोड़ने हैं, तो App Distribution की टेस्टर को एक साथ मैनेज करने की सुविधा का इस्तेमाल करें.
हमारा सुझाव है कि एक ही टेस्टर को कई रिलीज़ में जोड़ने के लिए, ग्रुप का इस्तेमाल करें. ग्रुप, ऐक्सेस कंट्रोल लिस्ट के तौर पर काम करता है. किसी टेस्टर को ग्रुप से हटाने पर, उसके पास उस ग्रुप में डिस्ट्रिब्यूट किए गए सभी वर्शन का ऐक्सेस नहीं रहता. ज़्यादा जानने के लिए, किसी ग्रुप में टेस्टर जोड़ना और हटाना लेख पढ़ें.
अगर आपको कई टेस्टर मैनेज करने हैं, तो Firebase कंसोल का इस्तेमाल करके, एक साथ कई टेस्टर जोड़े और हटाए जा सकते हैं. टेस्टर को अपने-आप जोड़ने और हटाने के लिए, Firebase CLI, fastlane या सार्वजनिक Firebase App Distribution API का इस्तेमाल करें.
जांच करने वाले लोगों की सीमा का ध्यान रखें
App Distribution की मदद से, किसी Firebase प्रोजेक्ट या App Distribution ग्रुप में टेस्टर जोड़ने की संख्या सीमित की जा सकती है. इन सीमाओं से ज़्यादा टेस्टर को ऐप्लिकेशन उपलब्ध नहीं कराया जा सकेगा. टेस्टर की सीमाओं के बारे में ज़्यादा जानने के लिए, क्या मेरे ऐप्लिकेशन में टेस्टर जोड़ने की कोई सीमा है? लेख पढ़ें
iOS टेस्टर डिवाइसों को मैनेज करना और उन्हें अपने-आप जोड़ना
App Distribution आपको iOS टेस्टर डिवाइसों को रजिस्टर करने में मदद करता है. साथ ही, Apple Developer Portal में iOS टेस्टर डिवाइसों को मैनेज करने में मदद करता है. इसके लिए, वह आपको ईमेल या CSV फ़ाइलों के ज़रिए, नए टेस्टर iOS डिवाइसों के बारे में सूचना देता है. ज़्यादा जानने के लिए, CSV फ़ाइलों से टेस्टर इंपोर्ट करना लेख पढ़ें. fastlane का इस्तेमाल करके, प्रोग्राम के हिसाब से नए डिवाइसों को एक्सपोर्ट भी किया जा सकता है.
UDID को अपने-आप पुल डाउन करने, उन्हें Apple डेवलपर कंसोल में जोड़ने, और फिर ऐप्लिकेशन को फिर से बनाने और उसे डिस्ट्रिब्यूट करने वाली fastlane कार्रवाई को सेट अप करने का तरीका जानने के लिए, App Distribution और fastlane की मदद से, iOS के प्री-रिलीज़ वर्शन को तेज़ी से डिस्ट्रिब्यूट करें लेख पढ़ें.
संभावित टेस्टर को टेस्टिंग के लिए खुद रजिस्टर करने की सुविधा चालू करना
हमारा सुझाव है कि ज़्यादा टेस्टर के साथ ऐप्लिकेशन को आसानी से डिस्ट्रिब्यूट करने के लिए, न्योता लिंक का इस्तेमाल करें. न्योता लिंक एक यूनीक यूआरएल होता है. इसकी मदद से, टेस्टर अपने ईमेल पते डालकर किसी ऐप्लिकेशन को टेस्ट करने के लिए साइन अप कर सकते हैं. उपयोगकर्ताओं को ऐप्लिकेशन टेस्टर की सूची में खुद को जोड़ने की अनुमति देने से, इंटरनल टेस्टिंग करने वाले लोगों की संख्या आसानी से बढ़ाई जा सकती है.
न्योता देने वाले लिंक का इस्तेमाल, कंपनी के डॉगफ़ूड प्रोग्राम, बड़ी क्यूए टीमों वाले संगठनों, और डेवलपर ग्रुप के लिए किया जा सकता है. इससे, वे अपने क्लाइंट को टेस्टर के ऐक्सेस को कंट्रोल करने की सुविधा दे सकते हैं.
हमारा सुझाव है कि आप किसी ग्रुप के लिए न्योता भेजने का लिंक बनाएं. न्योते के लिंक का इस्तेमाल करके साइन अप करने वाले किसी भी टेस्टर को, बाद की रिलीज़ में अपने-आप जोड़ दिया जाता है.
ज़्यादा जानने के लिए, न्योता भेजने के लिंक बनाना और किसी ग्रुप में टेस्टर जोड़ना और उन्हें हटाना लेख पढ़ें.
पक्का करें कि टेस्टर, उस वर्शन की जांच कर रहे हों जो आपके लिए ज़रूरी है
नया वर्शन अपलोड होने पर, टेस्टर को ईमेल से सूचना दी जाती है. इस सूचना के साथ-साथ, यहां दी गई सुविधाओं का इस्तेमाल किया जा सकता है. जैसे, रिलीज़ लिंक और ऐप्लिकेशन में सूचनाएं. इससे यह पक्का किया जा सकता है कि टेस्टर, ऐप्लिकेशन के उस वर्शन की जांच कर रहे हैं जो आपके लिए ज़रूरी है:
रिलीज़ के लिंक: इस सुविधा का इस्तेमाल तब करें, जब आपको टेस्टर के साथ कोई खास वर्शन शेयर करना हो. रिलीज़ लिंक इस्तेमाल करने का तरीका जानने के लिए, Firebase कंसोल का इस्तेमाल करके, टेस्टर को iOS ऐप्लिकेशन डिस्ट्रिब्यूट करना लेख पढ़ें. ये लिंक, हमारे Firebase और fastlane कमांड-लाइन (सीएलआई) टूल के साथ भी उपलब्ध हैं. इनका इस्तेमाल, बिल्ड ऑटोमेशन टूल के साथ किया जा सकता है.
ऐप्लिकेशन में दिखने वाली सूचनाएं: इन सूचनाओं का इस्तेमाल तब करें, जब आपको यह पक्का करना हो कि टेस्टर, आपके ऐप्लिकेशन के नए वर्शन की टेस्टिंग कर रहे हैं. Firebase App Distribution iOS SDK टूल को इंटिग्रेट करके, अपने टेस्टर को ऐप्लिकेशन में सीधे तौर पर सूचनाएं दिखाई जा सकती हैं. ऐसा तब किया जा सकता है, जब आपके ऐप्लिकेशन के नए बिल्ड उपलब्ध हों. ऐप्लिकेशन में सूचनाएं जोड़ने का तरीका जानने के लिए, टेस्टर को नई बिल्ड के बारे में सूचना देना लेख पढ़ें.
कंपनी छोड़ने वाले टेस्टर का ऐक्सेस अपने-आप हट जाता है
CI/CD की इंटरनल टेस्टिंग का फ़्लो चालू होने के बाद, आपको यह पक्का करना होगा कि कंपनी छोड़ने वाले लोगों के पास, आपके इंटरनल बिल्ड का ऐक्सेस न हो. App Distribution, टेस्टर को बिल्ड का ऐक्सेस मैनेज करने के लिए ये विकल्प देता है:
fastlane: अपनी Fastfile फ़ाइल का इस्तेमाल करें या सीधे तौर पर fastlane कार्रवाइयां चलाएं. टेस्टर को हटाने के लिए fastlane का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, fastlane का इस्तेमाल करके, टेस्टर के साथ iOS ऐप्लिकेशन डिस्ट्रिब्यूट करना लेख पढ़ें.
सार्वजनिक Firebase App Distribution API:
testers.batchRemoveएंडपॉइंट का इस्तेमाल करें.