लगातार मेल जोल
मैं आपके विश्वविद्यालय की परिभाषा से सहमत हूं। निरंतर एकीकरण एक रणनीति है कि कैसे एक डेवलपर लगातार मेनलाइन पर कोड को एकीकृत कर सकता है - जैसा कि अक्सर विरोध किया जाता है।
आप यह दावा कर सकते हैं कि यह आपके संस्करण नियंत्रण प्रणाली में केवल एक शाखा है।
यह उन कार्यों के आकार के साथ करना है जिन्हें आप किसी डेवलपर को सौंपते हैं; यदि किसी कार्य में 4-5 मानव-दिन लगने का अनुमान है, तो डेवलपर के पास अगले 4-5 दिनों के लिए कुछ भी देने के लिए कोई उकसावा नहीं होगा, क्योंकि उसने कुछ भी नहीं किया है - फिर भी।
इसलिए आकार मायने रखता है:
small task = continuous integration
big task = frequent integration
आदर्श कार्य का आकार एक दिन के काम से बड़ा नहीं है। इस तरह एक डेवलपर स्वाभाविक रूप से प्रति दिन कम से कम एक एकीकरण होगा।
सतत वितरण
सतत वितरण के भीतर मूल रूप से तीन स्कूल हैं:
कंटीन्यूअस डिलेवरी, कंटीन्यूअस इंटीग्रेशन का एक स्वाभाविक विस्तार है
यह स्कूल, एडिसन-वेस्ले "मार्टिन फॉवलर" की हस्ताक्षर श्रृंखला को देखता है और यह धारणा बनाता है कि 2007 की रिलीज़ को "कंटीन्यूअस इंटीग्रेशन" कहा गया था और 2011 में जिसको "कंटीन्यूअस डिलीवरी" कहा गया था, वे संभवतः वॉल्यूम + 2 हैं उसी वैचारिक विचार के साथ जो निरंतर कुछ करना है ।
सतत वितरण को एजाइल सॉफ्टवेयर विकास के साथ करना है
यह विद्यालय इस विचार से हटता है कि निरंतर वितरण सभी चंचल आंदोलन में सिद्धांतों का समर्थन करने में सक्षम होने के बारे में है, न केवल एक वैचारिक विचार या आशय पत्र के रूप में, बल्कि वास्तविक रूप में - वास्तविक जीवन में।
एजाइल मैनिफेस्टो में पहले सिद्धांत में ऑफसेट करना जहां शब्द "निरंतर वितरण" वास्तव में पहली बार उपयोग किया जाता है:
हमारी सर्वोच्च प्राथमिकता मूल्यवान सॉफ़्टवेयर के शुरुआती और निरंतर वितरण के माध्यम से ग्राहक को संतुष्ट करना है।
यह स्कूल दावा करता है कि "कंटीन्यूअस डिलीवरी" एक प्रतिमान है जो आपके "किए गए परिभाषा" के स्वचालित सत्यापन को लागू करने के लिए आवश्यक सभी चीजों को गले लगाता है ।
यह स्कूल स्वीकार करता है कि "कंटीन्यूअस डिलीवरी" और बज़ शब्द या मेगाट्रेन्ड "देवऑप्स" एक ही सिक्के के फ्लिप पक्ष हैं, इस अर्थ में कि वे दोनों इस नए प्रतिमान या दृष्टिकोण को गले लगाने या अतिक्रमण करने की कोशिश करते हैं और केवल एक तकनीक नहीं है।
सतत वितरण निरंतर तैनाती का एक पर्याय है
तीसरे स्कूल की वकालत करते हैं कि निरंतर तैनाती और सतत वितरण का एक ही अर्थ करने के लिए परस्पर उपयोग किया जा सकता है।
जब डेवलपर्स के हाथों में कुछ तैयार होता है, तो इसे तुरंत अंतिम उपयोगकर्ताओं तक पहुंचाया जाता है, जो कि ज्यादातर मामलों में इसका मतलब यह होगा कि इसे उत्पादन वातावरण में तैनात किया जाना चाहिए। 4. "परिनियोजित" और "उद्धार" का अर्थ समान है।
किस स्कूल में शामिल होना है
आपका विश्वविद्यालय स्पष्ट रूप से पहले स्कूल में शामिल हो गया और दावा किया कि हम समान प्रकाशन श्रृंखला के वॉल्यूम 1 + 2 का उल्लेख कर रहे हैं। मेरी राय है कि यह कंटीन्यूअस डिलीवरी शब्द का दुरुपयोग है।
मैं व्यक्तिगत रूप से इस समझ की वकालत करता हूं कि कंटीन्यूअस डिलीवरी चपल आंदोलन द्वारा बताए गए विचारों और अवधारणाओं के लिए एक वास्तविक जीवन समर्थन को लागू करने से संबंधित है। इसलिए मैं उस स्कूल में शामिल हो गया जो कहता है कि यह शब्द पूरे प्रतिमान को स्वीकार करता है - जैसे "DevOps"।
तैनाती के पर्याय के रूप में वितरण का उपयोग करने वाले स्कूल को ज्यादातर उपकरण विक्रेताओं द्वारा वकालत की जाती है जो तैनाती कंसोल बनाते हैं, निरंतर वितरण शब्द के अधिक व्यापक उपयोग से थोड़ा प्रचार करने की कोशिश कर रहे हैं ।
निरंतर तैनाती
कंटिन्यूअस डिप्लॉयमेंट पर फोकस ज्यादातर उन डोमेन में प्रासंगिक है, जहां सॉफ्टवेयर अपडेट के लिए अंतिम उपयोगकर्ता की पहुंच इस जानकारी के लिए कुछ केंद्रीकृत स्रोत के अपडेट पर निर्भर करती है और जहां यह केंद्रीकृत स्रोत अपडेट करना हमेशा आसान नहीं होता है क्योंकि यह अखंड है या (बहुत उच्च सुसंगतता है) स्वभाव से (वेब, SOA, डेटाबेस आदि)।
बहुत से ऐसे डोमेन के लिए, जो सॉफ़्टवेयर का निर्माण करते हैं, जहाँ सूचना (उपकरणों, उपभोक्ता उत्पादों, ग्राहक प्रतिष्ठानों आदि) का कोई केंद्रीकृत स्रोत नहीं है या जहाँ जानकारी के लिए केंद्रीकृत स्रोत को अपडेट करना आसान है (ऐप स्टोर विरूपण साक्ष्य प्रबंधन प्रणाली, ओपन सोर्स रिपॉजिटरी आदि)। ), कंटीन्यूअस डिप्लॉयमेंट शब्द के बारे में लगभग कोई अनुमान नहीं है। वे सिर्फ तैनात करते हैं; यह कोई बड़ी बात नहीं है - यह ऐसा दर्द नहीं है जिसके लिए विशेष ध्यान देने की आवश्यकता है।
यह तथ्य कि कंटीन्यूअस डिप्लॉयमेंट कुछ ऐसा नहीं है जो सभी के लिए उदारतापूर्वक दिलचस्प है, यह भी एक तर्क है कि स्कूल जो दावा करता है कि "डिलीवरी" और "तैनाती" समानार्थी हैं, यह सब गलत है। क्योंकि कंटीन्यूअस डिलीवरी वास्तव में सभी के लिए पूरी तरह से अच्छी समझ रखती है - भले ही आप उपकरणों में एम्बेडेड सॉफ्टवेयर कर रहे हों या किसी ढांचे के लिए ओपन सोर्स प्लगइन्स जारी कर रहे हों।
आपके विश्वविद्यालय की परिभाषा जो निरंतर तैनाती है, निरंतर वितरण का एक स्वाभाविक अगला चरण है, यह माना जाता है कि QA'ed को जाने वाली प्रत्येक डिलीवरी तुरंत अंतिम उपयोगकर्ताओं के लिए उपलब्ध हो जानी चाहिए, इस परिभाषा के करीब है कि मेरा जनजाति शब्द का वर्णन करने के लिए उपयोग करता है - निरंतर रिलीज़ ", जो, बदले में, एक और अवधारणा है जो उदारतापूर्वक हर किसी के लिए समझ में नहीं आता है।
एक रिलीज एक बहुत ही रणनीतिक या राजनीतिक चीज हो सकती है और यह मानने का कोई कारण नहीं है कि हर कोई हर समय ऐसा करना चाहेगा (जब तक कि वे ऑनलाइन बुकस्टोर एक स्ट्रीमिंग सेवा कंपनी का प्रकार नहीं हैं)। फिर भी, जो कंपनियां हर समय आँख बंद करके सबकुछ जारी नहीं करती हैं उनके पास किसी भी कारण से कोई भी कारण हो सकता है कि वे वैसे भी तैनाती के स्वामी बनना चाहते हैं, इसलिए वे भी निरंतर तैनाती करते हैं । उत्पादन के लिए रिलीज की नहीं, लेकिन रिलीज-उम्मीदवारों के उत्पादन-जैसे वातावरणों के लिए।
फिर से मुझे विश्वास है कि आपका विश्वविद्यालय गलत हो गया। वे "निरंतर रिलीज" के लिए "निरंतर तैनाती" को गलत कर रहे हैं।
निरंतर तैनाती बस एक अनुशासन प्रक्रिया है जो विकास प्रक्रिया के परिणाम को उत्पादन-जैसे वातावरण में ले जाने में सक्षम है जहां कार्यात्मक परीक्षण को पूर्ण पैमाने पर निष्पादित किया जा सकता है।
निरंतर वितरण कहानी
चित्र में यह सब जीवंत है:
कंटीन्यूअस इंटीग्रेशन प्रक्रिया राज्य-संक्रमण आरेख में पहली दो क्रियाएं हैं। जो - यदि सफल हो - निरंतर वितरण पाइपलाइन को किक करता है जो कि किए गए की परिभाषा को लागू करता है । तैनाती इस पाइपलाइन में लगातार किए जाने वाले कई कार्यों में से एक है। आदर्श रूप से, प्रक्रिया उस बिंदु से स्वचालित होती है जहां डेवलपर वीसीएस पर उस बिंदु तक पहुंचता है जहां पाइपलाइन ने पुष्टि की है कि हमारे पास एक वैध रिलीज उम्मीदवार है।