किसी भी कंटीन्यूअस इंटिग्रेशन (सीआई) सिस्टम का इस्तेमाल करके ऐप्लिकेशन डेवलप करते समय, 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 console में एडिटर की भूमिका वाला सेवा खाता बनाएं. इसके बाद, इसे चालू करें. इसे चालू करने का तरीका जानने के लिए, gcloud auth activate-service-account दस्तावेज़ देखें.
ज़रूरी एपीआई चालू करें. सेवा खाते का इस्तेमाल करके लॉग इन करने के बाद: Google Developers Console API लाइब्रेरी पेज में जाकर, 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 पर क्लिक करें.
- ग्लोबल सिक्योरिटी कॉन्फ़िगर करें पेज पर, सुरक्षा चालू करें पर क्लिक करें. इसके बाद, सेव करें पर क्लिक करें.
Jenkins के लिए सुरक्षा सेटिंग कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, Quick and Simple Security, Standard Security Setup, और Securing Jenkins देखें.
Jenkins प्रोजेक्ट बनाना
इसके बाद, Firebase Test Lab की मदद से अपने ऐप्लिकेशन की लगातार इंटिग्रेशन टेस्टिंग करने के लिए, एक प्रोजेक्ट बनाएं.
Jenkins प्रोजेक्ट बनाने के लिए
- अपने सर्वर पर Jenkins डैशबोर्ड पर जाएं. इसके लिए, http://<servername>:8080 पर जाएं. यहां <servername> उस कंप्यूटर का नाम है जिस पर आपने Jenkins इंस्टॉल किया है.
- Jenkins डैशबोर्ड पर, New Item पर क्लिक करें.
- आइटम का नाम फ़ील्ड में अपने प्रोजेक्ट का नाम डालें:
- एक ही बिल्ड कॉन्फ़िगरेशन का इस्तेमाल करने वाला प्रोजेक्ट बनाने के लिए, फ़्रीस्टाइल प्रोजेक्ट चुनें.
- एक ऐसा प्रोजेक्ट बनाने के लिए मल्टी-कॉन्फ़िगरेशन प्रोजेक्ट बनाएं को चुनें जो अलग-अलग बिल्ड कॉन्फ़िगरेशन पर चलता है. अगर आपको अपने ऐप्लिकेशन को अलग-अलग बिल्ड कॉन्फ़िगरेशन (कई भाषाओं, Android के कई एपीआई लेवल वगैरह) के साथ बनाना है, तो मल्टी-कॉन्फ़िगरेशन प्रोजेक्ट सबसे अच्छा विकल्प है.
- सेव करें पर क्लिक करें.
प्रोजेक्ट बन जाने के बाद, आपका वेब ब्राउज़र आपके प्रोजेक्ट का मुख्य पेज दिखाता है.
बदलावों को कंट्रोल करने की सुविधा और 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 पैकेज का इस्तेमाल करने के लिए, बिल्ड स्टेप जोड़ें. इस पाथ का इस्तेमाल, यहां दिए गए शेल स्क्रिप्ट के उदाहरण में <local_server_path> के तौर पर किया जा सकता है. यहां <AppFolder>, आपके ऐप्लिकेशन के लिए Android Studio प्रोजेक्ट फ़ोल्डर है:
<AppFolder>/app/build/outputs/apk
Jenkins में Test Lab बिल्ड के चरण जोड़ना
अब आपके पास Jenkins में बिल्ड स्टेप जोड़ने का विकल्प है, ताकि gcloud कमांड लाइन का इस्तेमाल करके Test Lab को चलाया जा सके.
gcloud बिल्ड का चरण जोड़ने के लिए
- अपने प्रोजेक्ट के मुख्य पेज पर जाकर, कॉन्फ़िगर करें पर क्लिक करें.
प्रोजेक्ट कॉन्फ़िगरेशन पेज पर, नीचे की ओर स्क्रोल करके बनाएं सेक्शन पर जाएं. इसके बाद, बनाने का चरण जोड़ें मेन्यू में जाकर, शेल एक्ज़ीक्यूट करें चुनें.
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 आपके ऐप्लिकेशन की जांच पूरी करने के बाद, Test Lab कंसोल में या आपके प्रोजेक्ट में Google Cloud Storage बकेट में, जांच के नतीजे देखे जा सकते हैं.Firebase ऊपर दिखाई गई शेल कमांड में, gsutil
कमांड भी जोड़ी जा सकती है. इससे, जांच के नतीजों का डेटा आपके लोकल कंप्यूटर पर कॉपी हो जाएगा.
ज़्यादा जानने के लिए, Firebase Test Lab के नतीजों का विश्लेषण करना लेख पढ़ें.
अन्य सीआई सिस्टम के साथ लगातार इंटिग्रेशन
अन्य सीआई सिस्टम के साथ Firebase Test Lab का इस्तेमाल करने का तरीका जानने के लिए, उनके दस्तावेज़ देखें: