অবকাঠামো মোতায়েনের জন্য পরীক্ষামূলকভাবে চালিত উন্নয়ন?


11

আমি অবকাঠামো স্থাপনের জন্য পুতুল ব্যবহার করছি এবং আমি বেশিরভাগ কাজ ওয়েব ২.০ সংস্থাগুলির সাথে করি যারা তাদের ওয়েব অ্যাপ্লিকেশনের জন্য পরীক্ষামূলকভাবে চালিত বিকাশে ভারী হয়ে থাকে। এখানকার কেউ কি তাদের সার্ভার কনফিগারেশনগুলি বিকাশের জন্য পরীক্ষা-চালিত পদ্ধতির ব্যবহার করে? এটি করার জন্য আপনি কোন সরঞ্জামগুলি ব্যবহার করেন? আপনার পরীক্ষা কত গভীর যেতে পারে?

উত্তর:


3

আমি মনে করি না আপনি পরীক্ষা চালিত উন্নয়ন ব্যবহার করতে পারেন । তবে আপনি অবশ্যই নতুন সার্ভারগুলিতে ইউনিট-পরীক্ষার চেষ্টা করতে পারেন ।

মূলত আপনাকে সার্ভার মোতায়েন করতে হবে, একটি পরীক্ষা মোডে পরিষেবাগুলি শুরু করতে হবে এবং তারপরে পরিষেবাগুলির বিরুদ্ধে অন্য সার্ভার (বা সার্ভারের সিরিজ) থেকে পরীক্ষা চালানো দরকার। তারপরে অবশেষে সেগুলি প্রযোজনায় রাখুন।

ডেটাবেস, ওয়েবপৃষ্ঠা এবং এসএসএস পরিষেবাগুলির সাথে সংযোগ করতে অজগর স্ক্রিপ্টগুলি ব্যবহার করা হতে পারে। এবং তারপরে একটি পাস / FAIL ফিরিয়ে দিন। আপনার জন্য একটি ভাল শুরু হবে।

অথবা আপনি এটিকে জেনোস, নাগিওস বা মুনিনের মতো একটি পর্যবেক্ষণ সমাধানে পরিণত করতে পারেন। তারপরে আপনি পরীক্ষা করতে পারেন, মোতায়েনের সময়; এবং উত্পাদন সময় নিরীক্ষণ।


আমি এখানে প্রতিটি মন্তব্য +1। কি দারুন.
জোসেফ কর্ন 4'09

1

আমি মনে করি মনিটরিং সরঞ্জামগুলি সহ জোসেফ কার্ন সঠিক পথে রয়েছে। সাধারণ টিডিডি চক্রটি হ'ল: একটি নতুন পরীক্ষা লিখুন যা ব্যর্থ হয়, তারপরে সিস্টেমটি আপডেট করুন যাতে সমস্ত বিদ্যমান পরীক্ষা পাস হয় pass এটি নাগিওসের সাথে খাপ খাইয়ে নেওয়া সহজ হবে: ব্যর্থ চেক যুক্ত করুন, সার্ভারটি কনফিগার করুন, সমস্ত চেক পুনরায় রান করুন। এটি ভাবতে আসুন, আমি ঠিক এটি কখনও কখনও করেছি।

আপনি যদি সত্যিই হার্ড-কোর পেতে চান তবে সার্ভার কনফিগারেশনের প্রতিটি প্রাসঙ্গিক দিক যাচাই করতে আপনি স্ক্রিপ্টগুলি লিখতে ভুলবেন না make নাগিওসের মতো একটি মনিটরিং সিস্টেম তাদের কয়েকটিতে প্রাসঙ্গিক নাও হতে পারে (যেমন, আপনি আপনার ওএস সংস্করণটি "মনিটরিং" নাও করতে পারেন), তবে উপযুক্ত কারণ হিসাবে আপনি মিশ্রণ এবং মিল করতে পারবেন না এমন কোনও কারণ নেই।


1
আমি ক্যানোনিকাল টিডিডি চক্রের একটি পদক্ষেপ এড়িয়ে গেছি: রিফ্যাক্টরিং। প্রতিটি পরিবর্তনের পরে আরও ভাল কনফিগারেশন অর্জনের জন্য সার্ভার অ্যাডমিনের জন্য এটি স্থানান্তরিত বা পুনরায় বিতরণ পরিষেবাদির সাথে সাদৃশ্য: আমি মনে করি এটি ইতিমধ্যে বেশিরভাগ প্রশাসকদের কাজের কাজের বিবরণী রয়েছে
জ্যাক থম্পসন

এই পদ্ধতির মূলত আমি ইতিমধ্যে যা করছি (যদিও এস / নাগিওস / জ্যাব্বিক্স /) তবে এই পরিবর্তনগুলি সরাসরি উত্পাদনে যায় এবং মনে হয় আমি আরও ভাল করতে পারি।
জন টপার

আপনি আরও কত ভাল পেতে চান? আপনি যদি উত্পাদনে টেস্ট-ফার্স্ট করা এড়াতে চান তবে আপনার একটি পরীক্ষার পরিবেশ দরকার যা আপনার উত্পাদন কনফিগারটিকে যথাযথভাবে নকল করে। "পর্যাপ্তরূপে", আমার অর্থ পরীক্ষার পরিবেশে আপনার পুতুল অটোমেশনটি পরীক্ষা করার পক্ষে যথেষ্ট, এবং এটি সঠিক হওয়ার পরে আপনি কেবলমাত্র উত্পাদন প্রযোজ্য হন। অবশ্যই, এটির জন্য হার্ডওয়্যারের জন্য অ-শূন্য পরিমাণ অর্থ ব্যয় হবে। আমি উত্তরের অংশ হিসাবে এটি প্রস্তাব করিনি কারণ এটি "পরীক্ষা-চালিত" অংশ থেকে পৃথক independent
জ্যাক থম্পসন

1

যদিও আমি পুতুলের প্রকাশের সাথে টিডিডি করতে সক্ষম হইনি, তবুও পরীক্ষায় না রেখে পরিবর্তনে উত্পাদনে যাওয়া রোধ করার জন্য আমাদের বেশ ভাল চক্র রয়েছে। আমাদের দু'জন কুকুরছানা প্রস্তুতকারক রয়েছে, একটি হ'ল আমাদের প্রযোজনার পুতুলমাস্টার এবং অন্যটি হ'ল আমাদের বিকাশ পুতুলের মাস্টার। নিম্নলিখিত সেট আপ করতে আমরা পুতুলের "পরিবেশ" ব্যবহার করি:

  • বিকাশ পরিবেশ (পুতুলের উপর কাজ করে প্রতিটি ব্যক্তির জন্য একটি প্রকাশিত হয়)
  • পরীক্ষার পরিবেশ
  • উৎপাদন পরিবেশ

আমাদের অ্যাপ্লিকেশন বিকাশকারীরা ভার্চুয়াল মেশিনগুলিতে তাদের কাজ করে যা তাদের পুতুল কনফিগারেশনগুলি বিকাশ পুতুলমাস্টারের "পরীক্ষার" পরিবেশ থেকে পান। যখন আমরা পুতুল উদ্ভাসিত বিকাশ করি, আমরা সাধারণত উন্নয়ন প্রক্রিয়া চলাকালীন পরীক্ষার ক্লায়েন্ট হিসাবে পরিবেশন করার জন্য একটি ভিএম সেট আপ করি এবং এটি আমাদের ব্যক্তিগত বিকাশের পরিবেশের দিকে নির্দেশ করি। একবার আমরা আমাদের উদ্ভাসিতদের সাথে খুশি হয়ে গেলে, আমরা তাদের পরীক্ষার পরিবেশে ঠেলে দেই যেখানে অ্যাপ্লিকেশন বিকাশকারীরা তাদের ভিএমগুলিতে পরিবর্তনগুলি পাবে - কিছু বিরক্ত হলে তারা সাধারণত উচ্চস্বরে অভিযোগ করে :-)

আমাদের উত্পাদন মেশিনের একটি প্রতিনিধি সাবসেটে, নূপ মোডে চলছে এমন একটি দ্বিতীয় পুতুল এবং পরীক্ষার পরিবেশের দিকে নির্দেশিত pointed তারা উত্পাদনের দিকে ধাক্কা দেওয়ার আগে উদ্ভাসিত হওয়ার সম্ভাব্য সমস্যাগুলি ধরার জন্য আমরা এটি ব্যবহার করি।

পরিবর্তনগুলি শেষ হয়ে গেলে, অর্থাৎ তারা অ্যাপ্লিকেশন বিকাশকারীদের মেশিনগুলি ভেঙে না ফেলে এবং প্রযোজনা মেশিনগুলির "নুপ" পুতুল প্রক্রিয়াটির লগগুলিতে তারা অনাকাঙ্ক্ষিত আউটপুট তৈরি করে না, আমরা নতুন উদ্ভাসকে উত্পাদনের দিকে ঠেলে দেই। আমাদের জায়গায় রোলব্যাক প্রক্রিয়া রয়েছে যাতে আমরা আগের সংস্করণে ফিরে যেতে পারি।


1

আমি এমন একটি পরিবেশে কাজ করেছি যা একটি টিডিডি অপারেশন মডেলটিতে স্থানান্তরিত হওয়ার প্রক্রিয়াধীন ছিল। স্ক্রিপ্টগুলি পর্যবেক্ষণ করার মতো কিছু জিনিসের জন্য এটি খুব ভাল কাজ করেছে। আমরা বিল্ডবোট ব্যবহার করে পরীক্ষার পরিবেশ সেটআপ করতে এবং পরীক্ষা চালাতে পারি। এই ক্ষেত্রে আপনি "লিগ্যাসি কোড" এর দৃষ্টিকোণ থেকে টিডিডির কাছে যান। টিডিডিতে "লিগ্যাসি কোড" বিদ্যমান কোড যা কোনও পরীক্ষা করে না। সুতরাং প্রথম পরীক্ষাগুলি ব্যর্থ হয় না, তারা সঠিক (বা প্রত্যাশিত) অপারেশন সংজ্ঞায়িত করে।

অনেক কনফিগারেশন কাজের জন্য প্রথম ধাপটি পরিষেবা দ্বারা কনফিগারেশনটি পার্স করা যায় কিনা তা পরীক্ষা করা হয়। অনেক পরিষেবা কেবল এটি করার জন্য কিছু সুবিধা সরবরাহ করে। নাগিওসের প্রিফ্লাইট মোড রয়েছে, সিফেজেন্টের কোনও অ্যাক্ট নেই, অ্যাপাচি, সুডো, বাইন্ড এবং আরও অনেকের অনুরূপ সুবিধা রয়েছে। এটি মূলত কনফিগারেশনের জন্য লিন্ট চালানো।

একটি উদাহরণ হ'ল যদি আপনি আলাদা আলাদা অংশগুলির জন্য অ্যাপাচি এবং পৃথক কনফিগারেশন ফাইল ব্যবহার করেন, আপনি অংশগুলি পরীক্ষা করতে পারেন পাশাপাশি আপনার টেস্ট মেশিনে চালানোর জন্য আলাদাভাবে একটি httpd.conf ফাইল ব্যবহার করতে পারেন। তারপরে আপনি এটি পরীক্ষা করতে পারেন যে পরীক্ষার মেশিনে থাকা ওয়েবসভারটি সেখানে সঠিক ফলাফল দেয়।

আপনি একই মৌলিক প্যাটার্নটি অনুসরণ করার পথে প্রতিটি পদক্ষেপ। একটি পরীক্ষা লিখুন, পরীক্ষা পাস করুন, আপনার কাজটি রিফেক্টর করুন or উপরে উল্লিখিত হিসাবে, এই পথ অনুসরণ করার সময়, পরীক্ষাগুলি সর্বদা গৃহীত টিডিডি পদ্ধতিতে ব্যর্থ হতে পারে না।

রিক


1

আমি বিশ্বাস করি যে নিম্নলিখিত লিঙ্কগুলি আগ্রহী হতে পারে

  1. শশা-nagios - প্রকল্প যা আপনি আপনার পালা দেয় শসা প্লাগইন Nagios মধ্যে স্যুট এবং যা, SSH, ডিএনএস, পিং, AMQP এবং কাজগুলো জেনেরিক "কমান্ড চালানো" ধরনের জন্য পদক্ষেপ সংজ্ঞা দিয়ে আসে
    http://auxesis.github.com/cucumber- নাগিওস /
    http://www.slideshare.net/auxesis/behaviour-driven-mon নি- সাথে-শসাবার্নাগিওস 22444224
    http://agilesysadmin.net/cucumber-nagios

  2. পুতুল / পাইথন বিষয়ের বিষয়েও কিছু প্রচেষ্টা রয়েছে http://www.devco.net/archives/2010/03/27/inf पाया_Sting_with_mcollective_and_cucumber.php

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.