किसी भी लगातार इंटिग्रेशन (सीआई) सिस्टम का इस्तेमाल करके, अपना ऐप्लिकेशन डेवलप करते समय, Firebase Test Lab का इस्तेमाल किया जा सकता है. लगातार इंटिग्रेशन सिस्टम की मदद से, अपने ऐप्लिकेशन के सोर्स कोड में अपडेट करने पर, ऐप्लिकेशन को अपने-आप बनाया और टेस्ट किया जा सकता है.
Jenkins CI के साथ Firebase Test Lab का इस्तेमाल करना
इस सेक्शन में, Test Lab का इस्तेमाल Jenkins CI के साथ करने का तरीका बताया गया है.
ज़रूरी शर्तें
Jenkins के साथ Firebase Test Lab का इस्तेमाल करने से पहले, आपको यह तरीका अपनाना होगा:
gcloud सेट अप करें. Firebase प्रोजेक्ट बनाने और अपने स्थानीय Google Cloud SDK एनवायरमेंट को कॉन्फ़िगर करने के लिए, Using Firebase Test Lab from the gcloud Command Line लेख में दिया गया तरीका अपनाएं.
कोई सेवा खाता बनाएं और उसे अनुमति दें. सेवा खातों की स्पैम की जांच नहीं की जाती. साथ ही, उनके लिए कैप्चा प्रॉम्प्ट भी नहीं दिखते. ऐसा न होने पर, सीआई बिल्ड ब्लॉक हो सकते हैं. Google Cloud Console में, एडिटर की भूमिका वाला कोई सेवा खाता बनाएं. इसके बाद, उसे चालू करें. ऐसा करने का तरीका जानने के लिए, gcloud auth activate-service-account से जुड़ा दस्तावेज़ देखें.Google Cloud
ज़रूरी एपीआई चालू करें. सेवा खाते का इस्तेमाल करके लॉग इन करने के बाद: Google Developers Console के एपीआई लाइब्रेरी पेज पर, Google Cloud Testing API और Cloud Tool Results API को चालू करें. इन एपीआई को चालू करने के लिए, कंसोल में सबसे ऊपर मौजूद खोज बॉक्स में इन एपीआई के नाम डालें. इसके बाद, उस एपीआई के खास जानकारी वाले पेज पर, एपीआई चालू करें पर क्लिक करें.
Jenkins इंस्टॉल और सेट अप करना
Jenkins CI को Linux या Windows पर इंस्टॉल और सेट अप किया जा सकता है. इस गाइड में दी गई कुछ जानकारी, Linux पर Jenkins CI को इंस्टॉल और रन करने के लिए खास तौर पर दी गई है. इसमें फ़ाइल पाथ में स्लैश (/) का इस्तेमाल शामिल है.
Linux या Windows पर चलने वाले किसी कंप्यूटर पर Jenkins डाउनलोड और इंस्टॉल करने के लिए, Jenkins इंस्टॉल करना लेख में दिए गए निर्देशों का पालन करें. Jenkins इंस्टॉल करने के बाद, सेटअप पूरा करने और Jenkins डैशबोर्ड को ऐक्सेस करने के लिए, Jenkins शुरू करना और उसे ऐक्सेस करना लेख में दिए गए निर्देशों का पालन करें.
ग्लोबल सुरक्षा सेटिंग कॉन्फ़िगर करना
Jenkins को पहली बार इंस्टॉल करने पर, उसमें उपयोगकर्ता की पुष्टि करने और ऐक्सेस कंट्रोल की सेटिंग कॉन्फ़िगर नहीं होती हैं. Firebase Test Lab के साथ Jenkins का इस्तेमाल करने से पहले, ग्लोबल सुरक्षा सेटिंग कॉन्फ़िगर करें. इससे ऐक्सेस कंट्रोल लागू किया जा सकेगा और उपयोगकर्ताओं की पुष्टि की जा सकेगी.
ग्लोबल सुरक्षा सेटिंग कॉन्फ़िगर करने के लिए
- अपने सर्वर पर Jenkins डैशबोर्ड पर जाएं. इसके लिए, http://<servername>:8080 पर जाएं. यहां <servername> उस कंप्यूटर का नाम है जिस पर आपने Jenkins इंस्टॉल किया है.
- Jenkins डैशबोर्ड पर, Manage Jenkins पर क्लिक करें. इसके बाद, Configure Global Security पर क्लिक करें.
- Configure Global Security पेज पर, Enable security पर क्लिक करें. इसके बाद, Save पर क्लिक करें.
Jenkins के लिए सुरक्षा सेटिंग कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, Quick and Simple Security, Standard Security Setup, और Securing Jenkins लेख पढ़ें.
Jenkins प्रोजेक्ट बनाना
इसके बाद, Firebase Test Lab की मदद से अपने ऐप्लिकेशन की लगातार इंटिग्रेशन टेस्टिंग करने के लिए, कोई प्रोजेक्ट बनाएं with Firebase Test Lab.
Jenkins प्रोजेक्ट बनाने के लिए
- अपने सर्वर पर Jenkins डैशबोर्ड पर जाएं. इसके लिए, http://<servername>:8080 पर जाएं. यहां <servername> उस कंप्यूटर का नाम है जिस पर आपने Jenkins इंस्टॉल किया है.
- Jenkins डैशबोर्ड पर, New Item पर क्लिक करें.
- Item name फ़ील्ड में, अपने प्रोजेक्ट का नाम डालें:
- एक बिल्ड कॉन्फ़िगरेशन का इस्तेमाल करने वाला प्रोजेक्ट बनाने के लिए, Freestyle project चुनें.
- अलग-अलग बिल्ड कॉन्फ़िगरेशन पर चलने वाला प्रोजेक्ट बनाने के लिए, Build multi-configuration project चुनें. अगर आपको अलग-अलग बिल्ड कॉन्फ़िगरेशन (कई स्थानीय भाषाएं, Android API के कई लेवल वगैरह) के साथ अपना ऐप्लिकेशन बनाना है, तो मल्टी-कॉन्फ़िगरेशन प्रोजेक्ट सबसे अच्छा विकल्प है.
- सेव करें पर क्लिक करें.
आपका प्रोजेक्ट बन जाने के बाद, वेब ब्राउज़र आपके प्रोजेक्ट का मुख्य पेज दिखाता है.
वर्शन कंट्रोल और Gradle बिल्ड के चरण जोड़ना
इस सेक्शन में, Jenkins को GitHub जैसे वर्शन कंट्रोल सिस्टम के साथ इंटिग्रेट करने का तरीका बताया गया है. साथ ही, सोर्स कोड से APK पैकेज बनाने के लिए, Gradle बिल्ड के चरण जोड़ने का तरीका भी बताया गया है.
GitHub और अन्य वर्शन कंट्रोल सिस्टम के साथ इंटिग्रेट करना
अगर अपने ऐप्लिकेशन के सोर्स कोड को मैनेज करने के लिए, GitHub या किसी अन्य वर्शन कंट्रोल सिस्टम का इस्तेमाल किया जाता है, तो Jenkins को ऑटोमैटिक बिल्ड रन करने और अपने ऐप्लिकेशन में अपडेट करने पर टेस्ट रन करने के लिए कॉन्फ़िगर किया जा सकता है. Jenkins को समय-समय पर बिल्ड रन करने के लिए भी कॉन्फ़िगर किया जा सकता है.
Jenkins में बिल्ड कॉन्फ़िगर करने के बारे में जानने के लिए, ऑटोमैटिक बिल्ड कॉन्फ़िगर करना लेख पढ़ें.
APK पैकेज को फिर से बनाने के लिए, Gradle बिल्ड के चरण जोड़ना
अगर अपने ऐप्लिकेशन के सोर्स कोड को मैनेज करने के लिए, किसी वर्शन कंट्रोल सिस्टम का इस्तेमाल किया जाता है, तो आपको Gradle बिल्ड का एक चरण शामिल करना होगा. इससे, Jenkins के हर बार आपके वर्शन कंट्रोल सिस्टम से सोर्स कोड डाउनलोड करने पर, नए APK बाइनरी बन सकेंगे.
अपने ऐप्लिकेशन की मुख्य डायरेक्ट्री में, ये कमांड रन करने के लिए, एक बिल्ड चरण जोड़ें:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
Test Lab की मदद से टेस्ट करते समय, Gradle से बनाए गए APK पैकेज का इस्तेमाल करने के लिए, एक बिल्ड चरण जोड़ें.Test Lab इस पाथ का इस्तेमाल, नीचे दिए गए शेल स्क्रिप्ट के उदाहरण में <local_server_path> के तौर पर किया जा सकता है. यहां <AppFolder> आपके ऐप्लिकेशन का Android Studio प्रोजेक्ट फ़ोल्डर है:
<AppFolder>/app/build/outputs/apk
Jenkins में Test Lab बिल्ड के चरण जोड़ना
अब Jenkins में, Test Lab रन करने के लिए, gcloud कमांड लाइन का इस्तेमाल करके, बिल्ड का एक चरण जोड़ा जा सकता है.
gcloud बिल्ड का चरण जोड़ने के लिए
- अपने प्रोजेक्ट के मुख्य पेज पर, Configure पर क्लिक करें.
project configuration पेज पर, नीचे की ओर स्क्रोल करके Build सेक्शन पर जाएं. इसके बाद, Add build step मेन्यू से Execute shell चुनें.
Jenkins Execute shell command विंडो में, यह जानकारी डालें. इसमें <local_server_path> की जगह सर्वर पर मौजूद सैंपल ऐप्लिकेशन का पाथ, <app_apk> की जगह अपने ऐप्लिकेशन का APK, और <app_test_apk> की जगह अपने ऐप्लिकेशन का टेस्ट 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 का इस्तेमाल करने का तरीका जानने के लिए, उनके दस्तावेज़ देखें: