किसी भी कंटिन्यूअस इंटिग्रेशन (सीआई) सिस्टम का इस्तेमाल करके ऐप्लिकेशन डेवलप करते समय, Firebase Test Lab का इस्तेमाल किया जा सकता है. लगातार इंटिग्रेशन सिस्टम की मदद से, ऐप्लिकेशन के सोर्स कोड में अपडेट चेक करने पर, ऐप्लिकेशन अपने-आप बन जाता है और उसकी जांच भी अपने-आप हो जाती है.
Jenkins CI के साथ Firebase Test Lab का इस्तेमाल करना
इस सेक्शन में, Jenkins CI के साथ Test Lab का इस्तेमाल करने का तरीका बताया गया है.
ज़रूरी शर्तें
Jenkins के साथ Firebase Test Lab का इस्तेमाल करने से पहले, आपको ये चरण पूरे करने होंगे:
gcloud सेट अप करें. Firebase प्रोजेक्ट बनाने और अपने स्थानीय Google Cloud SDK टूल के एनवायरमेंट को कॉन्फ़िगर करने के लिए, gcloud कमांड-लाइन से Firebase Test Lab का इस्तेमाल करने के निर्देशों का पालन करें.
सेवा खाता बनाना और उसे अनुमति देना. सेवा खातों पर स्पैम की जांच या कैप्चा प्रॉम्प्ट नहीं होते. ऐसा होने पर, आपके सीआई के बिल्ड ब्लॉक हो सकते हैं. Google Cloud कंसोल में, एडिटर की भूमिका वाला एक सेवा खाता बनाएं. इसके बाद, उसे चालू करें. ऐसा करने का तरीका जानने के लिए, gcloud auth activate-service-account दस्तावेज़ देखें.
ज़रूरी एपीआई चालू करें. सेवा खाते का इस्तेमाल करके लॉग इन करने के बाद: Google Developers Console के एपीआई लाइब्रेरी पेज पर, Google Cloud Testing API और Cloud Tool Results API को चालू करें. इन एपीआई को चालू करने के लिए, कंसोल में सबसे ऊपर मौजूद खोज बॉक्स में इन एपीआई के नाम टाइप करें. इसके बाद, उस एपीआई की खास जानकारी वाले पेज पर, एपीआई चालू करें पर क्लिक करें.
Jenkins इंस्टॉल और सेट अप करना
Linux या Windows पर Jenkins CI इंस्टॉल और सेट अप किया जा सकता है. इस गाइड में दी गई कुछ जानकारी, Linux पर Jenkins CI को इंस्टॉल और चलाने के बारे में है. इसमें फ़ाइल पाथ में स्लैश (/
) का इस्तेमाल करने के बारे में भी बताया गया है.
Linux या Windows वाले कंप्यूटर पर Jenkins डाउनलोड और इंस्टॉल करने के लिए, Jenkins इंस्टॉल करने के निर्देशों का पालन करें. Jenkins को इंस्टॉल करने के बाद, सेटअप पूरा करने और Jenkins डैशबोर्ड को ऐक्सेस करने के लिए, Jenkins को शुरू करने और ऐक्सेस करने के निर्देशों का पालन करें.
सुरक्षा से जुड़ी ग्लोबल सेटिंग कॉन्फ़िगर करना
पहली बार इंस्टॉल करने पर, Jenkins में उपयोगकर्ता की पुष्टि और ऐक्सेस कंट्रोल कॉन्फ़िगर नहीं होता. Firebase Test Lab के साथ Jenkins का इस्तेमाल करने से पहले, ऐक्सेस कंट्रोल लागू करने और उपयोगकर्ताओं की पुष्टि करने के लिए, ग्लोबल सुरक्षा सेटिंग कॉन्फ़िगर करें.
सुरक्षा से जुड़ी ग्लोबल सेटिंग कॉन्फ़िगर करने के लिए
- अपने सर्वर पर Jenkins डैशबोर्ड पर जाएं. ऐसा करने के लिए, http://<servername>:8080 पर ब्राउज़ करें. यहां <servername>, उस कंप्यूटर का नाम है जहां आपने Jenkins इंस्टॉल किया है.
- Jenkins डैशबोर्ड पर, Jenkins मैनेज करें पर क्लिक करें. इसके बाद, ग्लोबल सुरक्षा कॉन्फ़िगर करें पर क्लिक करें.
- ग्लोबल सुरक्षा कॉन्फ़िगर करें पेज पर, सुरक्षा चालू करें पर क्लिक करें. इसके बाद, सेव करें पर क्लिक करें.
Jenkins के लिए सुरक्षा सेटिंग कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, तुरंत और आसान सुरक्षा, स्टैंडर्ड सुरक्षा सेटअप, और Jenkins को सुरक्षित करना लेख पढ़ें.
Jenkins प्रोजेक्ट बनाना
इसके बाद, Firebase Test Lab की मदद से अपने ऐप्लिकेशन की लगातार इंटिग्रेशन टेस्टिंग करने के लिए एक प्रोजेक्ट बनाएं.
Jenkins प्रोजेक्ट बनाने के लिए
- अपने सर्वर पर Jenkins डैशबोर्ड पर जाएं. ऐसा करने के लिए, http://<servername>:8080 पर ब्राउज़ करें. यहां <servername>, उस कंप्यूटर का नाम है जहां आपने Jenkins इंस्टॉल किया है.
- Jenkins के डैशबोर्ड में, नया आइटम पर क्लिक करें.
- आइटम का नाम फ़ील्ड में, अपने प्रोजेक्ट का नाम टाइप करें:
- एक बिल्ड कॉन्फ़िगरेशन का इस्तेमाल करने वाला प्रोजेक्ट बनाने के लिए, फ़्रीस्टाइल प्रोजेक्ट चुनें.
- ऐसा प्रोजेक्ट बनाने के लिए मल्टी-कॉन्फ़िगरेशन प्रोजेक्ट बनाएं को चुनें जो कई अलग-अलग बिल्ड कॉन्फ़िगरेशन पर चलता हो. अगर आपको अपने ऐप्लिकेशन को कई तरह के बिल्ड कॉन्फ़िगरेशन (कई भाषाओं, कई Android एपीआई लेवल वगैरह) के साथ बनाना है, तो कई कॉन्फ़िगरेशन वाला प्रोजेक्ट सबसे सही विकल्प है.
- सेव करें पर क्लिक करें.
प्रोजेक्ट बन जाने के बाद, आपका वेब ब्राउज़र आपके प्रोजेक्ट का मुख्य पेज दिखाता है.
बदलाव कंट्रोल और Gradle बिल्ड के चरण जोड़ना
इस सेक्शन में, GitHub जैसे बदलाव कंट्रोल सिस्टम के साथ Jenkins को इंटिग्रेट करने का तरीका बताया गया है. साथ ही, सोर्स कोड से APK पैकेज बनाने के लिए, Gradle बिल्ड के चरणों को जोड़ने का तरीका भी बताया गया है.
GitHub और बदलावों को कंट्रोल करने वाले दूसरे सिस्टम के साथ इंटिग्रेट करना
अगर आपने अपने ऐप्लिकेशन के सोर्स कोड को मैनेज करने के लिए, GitHub या किसी दूसरे रिविज़न कंट्रोल सिस्टम का इस्तेमाल किया है, तो Jenkins को कॉन्फ़िगर करके, अपने-आप बिल्ड होने की सुविधा चालू की जा सकती है. साथ ही, हर बार जब आपके ऐप्लिकेशन के अपडेट को चेक इन किया जाता है, तो जांच की सुविधा भी चालू की जा सकती है. समय-समय पर बिल्ड चलाने के लिए, Jenkins को कॉन्फ़िगर भी किया जा सकता है.
Jenkins में बिल्ड कॉन्फ़िगर करने के बारे में जानने के लिए, अपने-आप होने वाले बिल्ड कॉन्फ़िगर करना लेख पढ़ें.
APK पैकेज फिर से बनाने के लिए, Gradle बिल्ड के चरणों को जोड़ना
अगर अपने ऐप्लिकेशन के सोर्स कोड को मैनेज करने के लिए, आपने रिविज़न कंट्रोल सिस्टम का इस्तेमाल किया है, तो आपको Gradle बिल्ड चरण शामिल करना होगा. इससे, हर बार जब Jenkins आपके रिविज़न कंट्रोल सिस्टम से सोर्स कोड डाउनलोड करेगा, तो नई APK बाइनरी बनाई जा सकेगी.
अपने ऐप्लिकेशन की मुख्य डायरेक्ट्री में ये कमांड चलाने के लिए, बिल्ड करने का चरण जोड़ें:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
Test Lab के साथ टेस्ट करते समय, Gradle से बनाए गए APK पैकेज का इस्तेमाल करने के लिए, बिल्ड करने का एक चरण जोड़ें. इस पाथ का इस्तेमाल, यहां दी गई शेल स्क्रिप्ट के उदाहरण में <local_server_path> के तौर पर किया जा सकता है. यहां <AppFolder>, आपके ऐप्लिकेशन के लिए Android Studio प्रोजेक्ट फ़ोल्डर है:
<AppFolder>/app/build/outputs/apk
Jenkins में Test Lab बिल्ड के चरण जोड़ना
अब आपके पास Jenkins में एक बिल्ड चरण जोड़ने का विकल्प है, ताकि gcloud कमांड लाइन का इस्तेमाल करके Test Lab को चलाया जा सके.
gcloud build का चरण जोड़ने के लिए
- अपने प्रोजेक्ट के मुख्य पेज पर, कॉन्फ़िगर करें पर क्लिक करें.
प्रोजेक्ट कॉन्फ़िगरेशन पेज पर, नीचे की ओर स्क्रोल करके बिल्ड सेक्शन पर जाएं. इसके बाद, बिल्ड चरण जोड़ें मेन्यू से शेल चलाएं चुनें.
Jenkins Execute shell command विंडो में, यह डालें. इसमें, सर्वर पर सैंपल ऐप्लिकेशन के पाथ के लिए <local_server_path>, अपने ऐप्लिकेशन के APK के लिए <app_apk>, और अपने ऐप्लिकेशन के टेस्ट APK के लिए <app_test_apk> का इस्तेमाल करें:
gcloud firebase test android run --app <local_server_path>/<app_apk>.apk --test <local_server_path>/<app_test_apk>.apk
टेस्ट के नतीजों का विश्लेषण करना
Test Lab आपके ऐप्लिकेशन की जांच करने के बाद, Firebase कंसोल या अपने प्रोजेक्ट में Google Cloud Storage बकेट में, जांच के नतीजों की समीक्षा की जा सकती है. जांच के नतीजों का डेटा अपने लोकल कंप्यूटर पर कॉपी करने के लिए, ऊपर दिए गए शेल कमांड में gsutil
कमांड भी जोड़ा जा सकता है.
ज़्यादा जानने के लिए, Firebase Test Lab के नतीजों का विश्लेषण करना लेख पढ़ें.
अन्य सीआई सिस्टम के साथ लगातार इंटिग्रेशन करना
अन्य सीआई सिस्टम के साथ Firebase Test Lab का इस्तेमाल करने का तरीका जानने के लिए, उनके दस्तावेज़ देखें: