वीएम प्रोविजनिंग स्क्रिप्ट को बिना प्रोविजन किए कैसे टेस्ट करें


10

वर्तमान में मैं एक ऐसे राज्य में हूं, जिसके परीक्षण में मेरे पैसे और बहुत समय लगता है ...

पृष्ठभूमि: मैं वीएम को सॉफ्टलेयर पर तैनात कर रहा हूं और एक पोस्ट-परिनियोजन स्क्रिप्ट (बैश) का उपयोग कर रहा हूं, जो वीएम के तैयार होने के बाद हर सॉफ्टवेयर को इंस्टॉल करेगा। समस्या यह है, मैं केवल एक वीएम को तैनात करके इस स्क्रिप्ट का परीक्षण कर सकता हूं, और वर्तमान में स्क्रिप्ट को समाप्त करने के लिए लगभग 4h लग रहा है ... इसलिए हर बदलाव जो मुझे करना है, मुझे एक नया वीएम (लागत पैसा) बनाने की आवश्यकता है और चारों ओर प्रतीक्षा करें 4 घंटे यह देखने के लिए कि स्क्रिप्ट टूटी है या नहीं ... यह अराजक होता जा रहा है और अगर मैं इस तरह से रहूं तो मैं आगे नहीं बढ़ पाऊंगा।

मुझे इस तरह की स्थिति से निपटने के लिए एक नए तरीके की आवश्यकता है और हर बार नए वीएम को तैनात करने की आवश्यकता के बिना प्रोविजनिंग स्क्रिप्ट का अधिक तेज़ी से परीक्षण करने में सक्षम होना चाहिए।

क्या आप लोग इस परिदृश्य पर मेरी मदद करने के लिए कुछ उपकरण जानते हैं?


4
क्या स्थानीय रूप से चलाकर किसी स्थानीय देव वीएम पर आपकी प्रोविजनिंग (बैश) स्क्रिप्ट का परीक्षण करना संभव नहीं है?
14-13 को रेकोवनी

3
यह एक ऐसी जगह है जहां एक निजी बादल चमकता है। एक खरीदना और इसे स्थापित करना आपको वर्तमान में जो कर रहा है उससे कम खर्च कर सकता है। नंबर चलाते हैं। देखें कि आपके लिए क्या मायने रखता है।
चूजों

जवाबों:


10

मैं कुछ विकल्प देख सकता हूं:

  • अपने वीएम बनाने के लिए वैग्रंट का उपयोग करें; यह VM (बेस OS सहित) बनाने की प्रक्रिया और वास्तविक प्रावधान को अलग करता है। इसमें कुछ विशेष परिस्थितियों में ही कुछ प्रावधान वाले कदम चलाने के भी कुछ विकल्प हैं।
  • उपयोग करने योग्य, कठपुतली या ऐसा कुछ जो प्रोविजनिंग मोड पर स्विच करने के लिए है, जहां आप एक ही सामान हर बार नहीं करते हैं, लेकिन केवल उसी चीज की आवश्यकता होती है। इसका मतलब है कि आप नौकरी शुरू कर सकते हैं, और पहले असफल भाग में रुक सकते हैं। उस हिस्से को ठीक करें, फिर जारी रखें।
  • डॉकर का उपयोग करें। यह वैग्रांत / अन्सिबल दृष्टिकोण से थोड़ा अलग है कि यह कंटेनर बनाता है (जिसकी आपको वास्तव में आवश्यकता नहीं है, जहां तक ​​मैं बता सकता हूं)। इसका लाभ यह है कि एंसिबल दृष्टिकोण से परे, कि यह आपको एक बहुत ही महीन दाने वाली चरण-दर-चरण विकास प्रक्रिया प्रदान करता है। यानी, यदि एक कदम भी विफल रहता है, तो आपके पास अभी भी सभी छवियां हैं जो आगे बढ़ रही हैं, इसलिए विकास के दौरान, थोड़े अनुशासन के साथ, आप वास्तव में बहुत, बहुत तेज हो जाते हैं।

ये सभी उपकरण आपकी ज़रूरत से ज़्यादा करते हैं, लेकिन ये सभी आपको अपना काम करने का एक तरीका देते हैं। Vagrant, Ansible और Docker सीखना बहुत आसान है, जहाँ तक मेरा सवाल है (जब तक आप Dev / Test मोड में हैं, "दिलचस्प" भाग तब शुरू होते हैं जब आप उत्पादन में जाते हैं)। Ansible बहुत न्यूनतर है और एक ssh कनेक्शन के अलावा कुछ भी नहीं चाहिए। हो सकता है कि आपके इंफ्रास्ट्रक्चर में वैग्रैंट और डॉकर संभव न हों, आप जल्दी देख लेंगे।


6

http://www.vagrantup.com

आप वीएमटी को स्थानीय लैपटॉप पर तैनात करने के लिए योनि का उपयोग कर सकते हैं।

आप यह भी देख सकते हैं कि क्या स्क्रिप्ट को छोटे भागों में विभाजित करना संभव है, इसलिए इसे परीक्षण करने में चार घंटे नहीं लगेंगे।


5

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

नोट: यदि आप आईबीएम क्लाउड / सॉफ्टलेयर में वर्चुअल मशीन डिस्क के स्नैपशॉट ले सकते हैं, तो मुझे यकीन नहीं है, लेकिन ऐसा लगता है कि आप बहुत आसानी से एक वीएम छवि बना सकते हैं।

वर्चुअल मशीन छवियों का समर्थन

आप अपने उदाहरण में वर्चुअल मशीन छवि का बैकअप ले सकते हैं। यह फ़ंक्शन वर्चुअल मशीन छवि और क्लाउड कॉन्फ़िगरेशन की एक प्रति बनाता है जिसे बाद में पुनर्स्थापित किया जा सकता है। इसके अतिरिक्त, आप इन बैकअप छवियों को प्रबंधित कर सकते हैं। बैकअप छवि के बारे में विवरण इस प्रकार हैं:

बैकअप छवि आभासी मशीन छवि और क्लाउड कॉन्फ़िगरेशन की एक सटीक प्रतिलिपि है। कोई छवि साफ़ नहीं की जाती है।

  • बैकअप छवि को नए उदाहरण के रूप में परिनियोजित नहीं किया जा सकता है। इसका उपयोग केवल संबंधित वर्चुअल मशीन छवि और क्लाउड कॉन्फ़िगरेशन को पुनर्स्थापित करने के लिए किया जा सकता है।

  • बैकअप वर्चुअल मशीन छवियों और बैकअप वर्चुअल मशीन को पुनर्स्थापित करने के लिए केवल प्रोजेक्ट स्वामी (या एक व्यवस्थापक) की पहुंच है।

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

  • OpenStack PowerVM® और z / VM® उदाहरण इस क्रिया का समर्थन नहीं करते हैं।

  • यदि उदाहरण OpenStack के साथ IBM® क्लाउड प्रबंधक का उपयोग करके हटाया जाता है, तो संबंधित बैकअप भी हटा दिए जाते हैं।

https://www.ibm.com/support/knowledgecenter/en/SST55W_4.1.0/liacb/liacbsaverestorevsvmw.html

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