लगातार इंटिग्रेशन की बुनियादी बातें

लगातार इंटिग्रेशन (सीआई), सॉफ़्टवेयर डेवलपमेंट का एक तरीका है. इसमें डेवलपर, कोड में किए गए बदलावों को अक्सर एक मुख्य रिपॉज़िटरी में मर्ज करते हैं. इसके बाद, ऑटोमेटेड बिल्ड और टेस्ट चलने लगते हैं.

बुनियादी सीआई सिस्टम सेट अप करके, ऐसे नए बदलावों को रोका जा सकता है जिनकी वजह से मर्ज करने के बाद, बिल्ड काम नहीं करेगा. ऐप्लिकेशन की अपने-आप जांच करने के लिए, बेहतर सीआई सिस्टम को प्रोग्राम किया जा सकता है. इससे यह पक्का किया जा सकता है कि ऐप्लिकेशन अलग-अलग एनवायरमेंट में उम्मीद के मुताबिक काम करे. जैसे, एपीआई लेवल, स्क्रीन साइज़, और प्लैटफ़ॉर्म.

इस डायग्राम में दिखाया गया है कि कई डेवलपर, कोड में बदलाव का अनुरोध कैसे करते हैं. साथ ही, मुख्य कोड रिपॉज़िटरी में मर्ज होने से पहले, सीआई सिस्टम इन बदलावों की जांच कैसे करता है.
पहली इमेज. सीआई सिस्टम, मर्ज करने से पहले जांच करके कोड रिपॉज़िटरी को सही रखता है.

इस दस्तावेज़ में, Android प्रोजेक्ट के लिए असरदार सीआई सिस्टम सेट अप करने के लिए, डेवलपर की आम रणनीतियों के बारे में बताया गया है. ये दिशा-निर्देश सामान्य हैं और ज़्यादातर समाधानों पर लागू होते हैं.

सामान्य उदाहरण

आम तौर पर, सीआई सिस्टम किसी वर्कफ़्लो या पाइपलाइन का इस्तेमाल करता है. यह कुछ ऐसा दिख सकता है:

  1. सीआई सिस्टम, कोड में हुए बदलाव का पता लगाता है. आम तौर पर, ऐसा तब होता है, जब कोई डेवलपर "पुल अनुरोध" बनाता है. इसे "बदलाव की सूची" या "मर्ज अनुरोध" भी कहा जाता है.
  2. यह वर्कफ़्लो चलाने के लिए, सर्वर को उपलब्ध कराता है और उसे शुरू करता है.
  3. यह कोड के साथ-साथ, ज़रूरत पड़ने पर Android SDK या एमुलेटर इमेज जैसे टूल भी फ़ेच करता है.
  4. यह किसी दिए गए निर्देश को चलाकर प्रोजेक्ट बनाता है, जैसे कि ./gradlew build.
  5. यह दिए गए निर्देश को चलाकर, लोकल टेस्ट चलाता है. उदाहरण के लिए, ./gradlew test चलाना.
  6. यह एमुलेटर शुरू करता है और इंस्ट्रुमेंट किए गए टेस्ट चलाता है.
  7. यह टेस्ट के नतीजों और APK जैसे आर्टफ़ैक्ट अपलोड करता है.
बुनियादी सीआई वर्कफ़्लो दिखाने वाला डायग्राम
दूसरी इमेज. सीआई का बुनियादी वर्कफ़्लो

सीआई के फ़ायदे

सीआई के फ़ायदे:

  • सॉफ़्टवेयर की क्वालिटी को बेहतर बनाना: सीआई, समस्याओं का पता लगाकर और उन्हें जल्दी ठीक करके, सॉफ़्टवेयर की क्वालिटी को बेहतर बनाने में मदद कर सकता है. इससे, सॉफ़्टवेयर रिलीज़ में मौजूद गड़बड़ियों की संख्या कम करने और उपयोगकर्ता के अनुभव को बेहतर बनाने में मदद मिल सकती है.
  • बिगड़ चुके बिल्ड का जोखिम कम हो जाता है: सीआई की मदद से बिल्ड प्रोसेस को ऑटोमेट करने पर, प्रोसेस के शुरुआती चरणों में ही समस्याओं को हल करके, बिगड़ चुके बिल्ड से बचा जा सकता है.
  • रिलीज़ पर ज़्यादा भरोसा: सीआई से यह पक्का करने में मदद मिलती है कि हर रिलीज़ स्थिर है और प्रोडक्शन के लिए तैयार है. अपने-आप चलने वाले टेस्ट चलाकर, सीआई किसी भी संभावित समस्या का पता लगा सकता है. ऐसा, ऐप्लिकेशन को सार्वजनिक तौर पर रिलीज़ करने से पहले किया जाता है.
  • बेहतर तरीके से कम्यूनिकेट करना और साथ मिलकर काम करना: सीआई, डेवलपर को कोड और टेस्ट के नतीजे शेयर करने के लिए एक ही जगह उपलब्ध कराता है. इससे डेवलपर और टीम के अन्य सदस्यों को एक साथ काम करने और प्रोग्रेस को ट्रैक करने में आसानी होती है.
  • प्रॉडक्टिविटी बढ़ना: सीआई, उन टास्क को ऑटोमेट करके डेवलपर की प्रोडक्टिविटी बढ़ा सकता है जिनमें ज़्यादा समय लगता है और गड़बड़ियां होने की संभावना होती है.

इसके बारे में और पढ़ें

अपने ऐप्लिकेशन के डेवलपमेंट को बेहतर बनाने के लिए, लगातार इंटिग्रेशन का इस्तेमाल करने के तरीके के बारे में ज़्यादा जानने के लिए, यहां दिए गए पेज पढ़ें: