निरंतर वितरण के अंत में मैनुअल कदम को कैसे लागू किया जाए?


13

" निरंतर वितरण / परिनियोजन से संबंधित एकीकरण कैसे होता है? " के बारे में मेरे प्रश्न का स्वीकृत उत्तर भी निरंतर वितरण और निरंतर तैनाती के बीच के छोटे अंतर को बताता है । यह एक प्रश्न के उत्तर से संबंधित प्रतीत होता है जैसे "आप उत्पादन के लिए कैसे तैनात करना चाहते हैं, जबकि ये लेने के लिए (अनन्य) विकल्प हैं:

  • स्वचालित)।
  • मैनुअल।

मैं कल्पना नहीं कर सकता कि DevOps की दीवार के दूसरी तरफ एक गरीब "ऑपरेटर" होगा, जो कुछ ऐसा करने जा रहा है जो उस "मैनुअल" का अर्थ है जो मेरे ...

  • क्या मेरा संदर्भ (मेरे प्रश्न में) इस तरह के "मैनुअल" -संबंध के संभावित कार्यान्वयन के करीब "बनाम" स्थापित करना है? यहाँ मेरे संबंधित प्रश्न का एक प्रासंगिक उद्धरण है:
  • एफ़टीपी (यदि मानक प्रतियां अंतर को पाट नहीं सकती हैं) जैसे कुछ का उपयोग करके, कुछ लक्षित वातावरण में वितरित करें, लेकिन अभी तक इसे लक्ष्य में सक्रिय न करें। यही है कि निरंतर वितरण के समान / करीब होना चाहिए, या नहीं?
  • कुछ लक्षित वातावरण में स्थापित (या सक्रिय ), बांधने, रोकने / संचालन शुरू करने आदि जैसी चीजों के साथ संयुक्त है, जो निरंतर तैनाती के समान / करीब होना चाहिए, या नहीं?
  • इसके अन्य संभावित कार्यान्वयन क्या हैं?

AWS परिनियोजन के लिए, मैंने एक अपलोड / परिनियोजित स्क्रिप्ट बनाई, जिसकी केवल टीम प्रबंधक तक पहुंच है। तो उत्पादन के लिए तैनात करने के लिए टीम प्रबंधक को स्क्रिप्ट चलाने की आवश्यकता होती है।
कछुए

आपके सपनों को तोड़ने के लिए क्षमा करें, लेकिन हमारे पास अभी भी एक teamdeploy ’टीम है, जो कि Oek को ARCAD के साथ Db2-iSeries पर DB अपडेट लॉन्च करना है और फिर Tomcart सर्वर पर शेफ को हर 2 गुरुवार को रात 8 बजे और मिडनाइट में उत्पादन के लिए तैनात करना है। इसलिए, दुख की बात है कि कभी-कभी एक गरीब ऑपरेटर होता है (यह उम्मीद नहीं है कि उसका एकमात्र काम है)
तेंसिबाई

जवाबों:


5

व्यक्तिगत रूप से मैं distributionसॉफ्टवेयर को एक तैनाती का एक मध्यस्थ कदम के रूप में एक लक्ष्य के लिए लक्ष्य मानता हूं - उस तैनाती को पूरा करने के लिए उस सॉफ़्टवेयर की स्थापना / सक्रियण आवश्यक है।

मेरे लिए delivery(के रूप में continuos delivery) बंद हो जाता है जब तैनात करने के लिए सॉफ्टवेयर बनाया और तैनाती के लिए उपलब्ध कराया जाता है (यानी वितरण, स्थापना और सक्रियण के लिए)

तो, आपके 1 प्रश्न का उत्तर देने के लिए, नहीं, मैं वितरण और स्थापना पर विचार नहीं करूंगा क्योंकि निरंतर तैनाती से मैन्युअल वितरण को अलग करने वाले मैनुअल कदम को दर्शाता है।

हां, कुछ (उम्मीद से कम) मामलों में कि मैनुअल स्टेप सिर्फ उत्पादन में तैनाती के लिए अंतिम मानव निर्णय है, प्रक्रिया स्वचालन में सांस्कृतिक अविश्वास को दर्शाता है और एक मानव दोहरी-जांच करने और तैनाती के फैसले पर हस्ताक्षर करने की मानसिक आराम (इस प्रकार ग्रहण करता है) इसके लिए जवाबदेही) भले ही वह निर्णय पूरी तरह से एक एल्गोरिथ्म पर आधारित हो, जिसे स्वचालित किया जा सकता है (जैसे कि पासिंग / असफल परीक्षण परिणाम)।

लेकिन सामान्य तौर पर यह केवल इस तथ्य को दर्शाता है कि उत्पादन में तैनाती के लिए निर्णय केवल एक स्वचालित एल्गोरिथ्म का परिणाम नहीं है। इस तरह के कुछ उदाहरण इस प्रकार हैं:

  • स्वचालित निर्णय ओवरराइट किया जाता है
    • सभी गुणवत्ता मानदंडों को पूरा नहीं करने पर भी तैनाती पर हस्ताक्षर किए जा सकते हैं (हम सभी जानते हैं कि यह सिर्फ एक सैद्धांतिक मामला नहीं है)
    • तैनाती को जो भी कारण के लिए आयोजित किया जाता है, भले ही सभी मानदंडों को पूरा किया गया हो (उदाहरण के लिए बाजार समय प्रभाव के कारण)
  • स्वचालित एल्गोरिथ्म अभी तक कार्यान्वित / तैनात नहीं है
  • एल्गोरिथ्म में मानवीय निर्णयों के आधार पर कुछ मानदंडों के लिए चेक शामिल हैं (मैन्युअल परीक्षण से परिणाम कहते हैं)
  • तैनाती वास्तव में एक 3 पार्टी ग्राहक वातावरण में की जाती है, अतिरिक्त ग्राहक जांच के बाद

इसलिए मैं कार्यान्वयन के मुद्दे के रूप में बस मैनुअल कदम को नहीं देखूंगा।


इस पर अपने दृष्टिकोण को साझा करने के लिए मर्सी (ओप्स: धन्यवाद)। ऐसा लगता है कि हमारे पास "वितरण" की एक अलग धारणा है। तो मुझे सिर्फ 1 परिदृश्य जोड़ने दें: आपके पास 1 घंटे की एक विंडो है, ऑनलाइन बैंकिंग प्रणाली के लिए, रविवार की सुबह, 150.000 अपडेट किए गए निष्पादन योग्य "सक्रिय" करने के लिए। और अगर किसी भी कारण से रोलबैक की आवश्यकता होगी, तो उस विंडो को विस्तारित करने के लिए कोई भी नकारात्मकता संभव नहीं है। क्या आप वास्तव में "वितरित" पर अपना समय बर्बाद करना चाहते हैं, इसके लिए "सिर्फ मामले में रोलबैक की आवश्यकता है" के लिए आवश्यक समय का उपयोग करने के बजाय; दो बार सोचें: यदि इसमें अधिक समय लगता है तो 1 घंटे .. आपको निकाल दिया गया है ... खैर ???
Pierre.Vriens

वह IMHO सिर्फ तैनाती का अनुकूलन या कार्यान्वयन विवरण है, जो आपके मामले में लागू होता है, (लेकिन यह इसे नियम नहीं बनाता है)। सिर्फ इसलिए कि आप पुरानी तैनाती को बंद करने से पहले अपनी तैनाती का हिस्सा निष्पादित कर रहे हैं, इसका मतलब यह नहीं है कि संबंधित कार्य वितरण चरण का हिस्सा है। यह भी जरूरी नहीं है कि एक बार जब आप तैनाती शुरू करते हैं, तो आपको इसे पूरा करने की भी आवश्यकता होती है। यदि आप वास्तव में तैनाती नहीं करते हैं, तो sw को प्रभावी ढंग से वितरित किया जाता है (यानी उपलब्ध के लिए तैयार)।
डैन कॉर्निलेस्कु

2

एक अतिरिक्त विचार यह है कि यदि आप किसी ऐसी चीज को प्रकाशित कर रहे हैं जिसका आप उपभोग करने के लिए अन्य परियोजनाओं की अपेक्षा कर रहे हैं, तो तैनाती "उपयोग के लिए प्रकाशन" के अर्थ पर भी ले जाती है

एक वर्कफ़्लो पर विचार करें जहां आप एक पुस्तकालय को एक सामान्य विरूपण साक्ष्य भंडार में तैनात करते हैं। प्रक्रिया का यह हिस्सा आपके लिए एक अन्य घटक की तैनाती का हिस्सा हो सकता है जिसके लिए निर्माण समय पर उस कलाकृति की आवश्यकता होती है या यह केवल एक सामान्य पुस्तकालय के लिए एक अद्यतन हो सकता है। लेकिन उस विरूपण साक्ष्य के लिए, यह जीवन चक्र आवश्यक रूप से दूसरों द्वारा खपत के लिए उपलब्ध कराए जाने से समाप्त नहीं होता है, लेकिन विरूपण साक्ष्य भंडार में उस विरूपण साक्ष्य की तैनाती डेवलपर्स के काम में अंतिम चरण हो सकती है जब उन्होंने कटौती करने का फैसला किया है नया रिलीज़ संस्करण और इससे पहले कि अन्य सुरक्षित रूप से नए संस्करण का उपभोग कर सकें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.