अवधारणा

निरंतर डिलीवरी (Continuous Delivery; CD)

यह क्या है

निरंतर डिलीवरी, जिसे अक्सर CD के रूप में संक्षिप्त किया जाता है, प्रथाओं का एक समूह है जिसमें कोड परिवर्तन स्वचालित रूप से एक स्वीकृति वातावरण में (या, निरंतर डिप्लॉयमेंट के मामले में, उत्पादन में) डेप्लॉय किए जाते हैं। CD में महत्वपूर्ण रूप से यह सुनिश्चित करने के लिए प्रक्रियाएं शामिल हैं कि डिप्लॉयमेंट से पहले सॉफ़्टवेयर का पर्याप्त रूप से परीक्षण किया गया है और यदि आवश्यक समझा जाता है तो यह रोलबैक परिवर्तनों का एक तरीका प्रदान करता है। निरंतर डिलीवरी की दिशा में पहला कदम निरंतर इंटीग्रेशन (Continuous Integration; CI) है (अर्थात, परिवर्तनों को परीक्षण और डेप्लॉय करने से पहले, उन्हें साफ-सुथरे रूप से मर्ज करना)।

समस्या

विश्वसनीय अपडेट को बड़े पैमाने पर डेप्लॉय करना एक समस्या बन जाता है। आदर्श रूप से, हम अंतिम-उपयोगकर्ताओं को बेहतर मूल्य प्रदान करने के लिए अधिक बार डेप्लॉय करते हैं। हालाँकि, इसे मैन्युअल रूप से करने से प्रत्येक परिवर्तन के लिए, अधिक खर्च होता हैं। ऐतिहासिक रूप से, इन खर्चो से बचने के लिए, संगठनों ने कम बार रिलीज़ करते है, एक बार में अधिक परिवर्तन डेप्लॉय करने पर कुछ गलत होने का जोखिम बढ़ जाता है।

समाधान

CD रणनीतियाँ उत्पादन के लिए एक पूरी तरह से स्वचालित पथ बनाती हैं जो विभिन्न डिप्लॉयमेंट रणनीतियों जैसे: कैनरी या ब्लू-ग्रीन रिलीज़ का उपयोग करके सॉफ़्टवेयर का परीक्षण और उसको डिप्लॉय करती है। यह डेवलपर्स को बार-बार कोड डिप्लॉय करने की अनुमति देता है, जिससे उन्हें मानसिक शांति मिलती है कि नए संशोधन का परीक्षण किया गया है। आम तौर पर, फीचर ब्रांचिंग या पुल रिक्वेस्ट (Pull Request; PR) के विपरीत, CD रणनीतियों में ट्रंक-आधारित विकास का उपयोग किया जाता है।

CD रणनीतियाँ उत्पादन के लिए एक पूरी तरह से स्वचालित पथ बनाती हैं जो विभिन्न डिप्लॉयमेंट रणनीतियों जैसे: कैनरी या ब्लू-ग्रीन रिलीज़ का उपयोग करके सॉफ़्टवेयर का परीक्षण और उसको डिप्लॉय करती है। यह डेवलपर्स को बार-बार कोड डिप्लॉय करने की अनुमति देता है, जिससे उन्हें मानसिक शांति मिलती है कि नए संशोधन का परीक्षण किया गया है। आम तौर पर, फीचर ब्रांचिंग या पुल रिक्वेस्ट (PR) के विपरीत, CD रणनीतियों में ट्रंक-आधारित विकास का उपयोग किया जाता है।


अंतिम बार संशोधित August 3, 2022: Merge 5 new Hindi localizations into main (#1158) (d0210b0)