গিতে পরীক্ষার শাখা ব্যবহার করা


11

আমাদের এমন কেউ আছেন (আসুন তাকে টেড বলুন) নতুন বৈশিষ্ট্য এবং বাগ ফিক্সগুলি পরীক্ষা করার জন্য দায়বদ্ধ।

আমরা গিট এবং গিটহাব ব্যবহার করছি । masterসর্বদা শৃঙ্খলাবদ্ধ হতে হবে এবং developmentসেখানেই আমরা নতুন বৈশিষ্ট্যগুলি বা বাগ ফিক্সগুলি প্রতিশ্রুতিবদ্ধ / সংহত করে থাকি তবে কেবল টেড দ্বারা সেগুলি পরীক্ষা করার পরে।

প্রকল্পটি পিএইচপি-তে রয়েছে।

আমি পরীক্ষার প্রক্রিয়াটি এভাবে চলতে চাই:

  1. একটি ডেভেলপার তাই তিনি pulls, (আসুন বলতে বৈশিষ্ট্য / বাগ # 123 টেড যেমন ইস্যু যে ব্যক্তি অনুসরণ করে এ নথিভুক্ত) একটি নতুন বৈশিষ্ট্য কাজ করতে চায় origin/developmentকরতে developmentতার স্থানীয় সংগ্রহস্থলের উপর এবং একটি নতুন শাখা (এর কথা বলা যাক সৃষ্টি issue-123) থেকে আছে।
  2. একবার সে তার কাজের সাথে খুশি হয়ে গেলে, সে প্রতিশ্রুতিবদ্ধ হয় এবং তার নতুন শাখায় ঠেলে দেয় origin
  3. টেড সংযুক্ত হয়ে test.ourproject.com/choose-branchশাখাগুলির একটি তালিকা দেখায় originএবং স্যুইচ করতে পছন্দ করে issue-123(এটি ওয়েবপৃষ্ঠার মাধ্যমে করণীয় হওয়া উচিত)। তারপরে তিনি এগিয়ে যান test.ourproject.com, ওয়েব অ্যাপ্লিকেশনটি থেকে বেরিয়ে আসার চেষ্টা করে (তিনি সত্যই নির্লজ্জ) এবং বিকাশকারীটির সাথে কিছুদূর এগিয়ে যাওয়ার পরে তিনি বৈশিষ্ট্যটি নিয়ে খুশি।
  4. টেড ডেভেলপার যে তিনি মার্জ করতে পারবেন বলে issue-123সম্মুখের developmentউপর origin
  5. পাখলান পুনরাবৃত্তি.

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

সুতরাং আমার প্রশ্নটি: এটি শাখা প্রশাখার জন্য কি ভাল / টেকসই / রক্ষণাবেক্ষণযোগ্য কর্মপ্রবাহ? এই কর্মপ্রবাহটি অনুসরণ করে অন্যান্য প্রকল্পের কয়েকটি উদাহরণ উদ্ধৃত করে আপনি কি আপনার উত্তরটি ব্যাক আপ করতে পারেন?


"ওয়েবআপ থেকে বেরিয়ে আসার নরকটি পরীক্ষা করে (তিনি সত্যই বেপরোয়া) এবং দেবের সাথে কিছুটা পিছিয়ে যাওয়ার পরে তিনি বৈশিষ্ট্যে খুশি।" - এই ব্যক্তি অবশ্যই প্রতিভা বদ্ধ হতে হবে। তিনি কি আসলে জানেন যে প্রশ্নে কোডটি কী? এই মত প্রকল্প হলো কিন্তু আমি সত্যিই পদক্ষেপ 3. ফলাফলে সন্দেহ
SChepurin

আমার issue-123ইস্যু ট্র্যাকারের প্রতিটি ত্রুটি / নতুন বৈশিষ্ট্য টেড ডকুমেন্ট হিসাবে # 123 বাগ / বৈশিষ্ট্যটি উল্লেখ করা উচিত ।
সিপিএ

@ সিপিএ: আরও পরিষ্কার করার চেয়ে। প্রশ্নগুলি সম্পাদনযোগ্য।
জানু হুডেক

@ এস চেপুরিন: পরীক্ষককে কোড সম্পর্কে কিছু জানার দরকার নেই। তাদের জন্য প্রয়োজনীয় বৈশিষ্ট্য এবং বাগ এবং টেস্ট কেসের একটি তালিকা থাকা দরকার।
জানু হুডেক

1
@ সিপিএ আপনি ঠিক কি করছেন তা পুরোপুরি নিশ্চিত নয়। আপনি এমন কিছু সফ্টওয়্যার চান যা পরীক্ষকদের পরীক্ষার জন্য কোন শাখাগুলি উপলব্ধ এবং এটির জন্য শাখাগুলি স্যুইচ করতে সহায়তা করে? বা অনুসরণকারীদের জন্য কোনও প্রক্রিয়া?
এমজেএস

উত্তর:


5

ব্রাঞ্চের ওয়ার্কফ্লোটি অনেকটা গিটফ্লোর মতো শোনায় http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow এবং এর চারপাশে সমর্থন সরঞ্জাম রয়েছে। এটি অত্যন্ত প্রস্তাবিত।

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

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

আমি http://sethrobertson.github.com/GitBestPractices/ পড়ারও সুপারিশ করতে চাই যা এই সমস্ত বিষয় নিয়ে আলোচনা করে এবং অনেকগুলি ভাল উল্লেখ রয়েছে।


git-flowআমি যা খুঁজছিলাম ঠিক তা নয়, তবে এটি অবশ্যই আমাদের প্রয়োজন! ধন্যবাদ!
সিপিএ

2

আমি নিশ্চিত নই যে স্যুইচিং পৃষ্ঠাটি নিজেই একটি সাধারণ প্যাটার্ন। বেশিরভাগ প্রকল্পগুলির সম্ভবত পরীক্ষকরা এটি গিট কমান্ড দিয়ে পরীক্ষা করে দেখতে পারেন।

সাধারণ পদ্ধতির স্পষ্টভাবে যুক্তিসঙ্গত মনে হয়।

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

গিট নিজেই থিমটিতে সামান্য প্রকরণ ব্যবহার করে। এর রক্ষণাবেক্ষণকারীটির একটি স্ক্রিপ্ট রয়েছে যা সমস্ত বিচারাধীন জমাগুলিকে একটি শাখায় মার্জ করে pu(সম্ভবত "প্রস্তাবিত আপডেটগুলি" সম্ভবতঃ; স্থগিত জমাগুলি পুনঃস্থাপনের কারণে শাখাটি মুছে ফেলা হয় এবং প্রতিটি সময় পুনরায় তৈরি করা হয়)। এটি বিভিন্ন লোকের চেয়ে পরীক্ষিত। যদি এটি ঠিক থাকে তবে সম্পূর্ণ বিবেচিত যে জমাগুলি মেশানো হয় তার চেয়ে বেশি next(এটি আপনার মত একই development) same যদি না হয়, তার চেয়ে পৃথক সাবমিশনগুলির পরীক্ষা করে কেউ কোনটি ভাঙ্গা হয়েছে। এটি পরীক্ষকের পক্ষে কিছুটা সহজ করে তোলে কারণ তাদের বেশিরভাগ সময় শাখা পরিবর্তন করতে হয় না; তারা কেবল টেস্ট ইন্টিগ্রেশন কাজ করে কিনা তা রিপোর্ট করে।


1

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

নোট করুন পরীক্ষাগুলি শাখায় পরিচালিত হয় না, তবে শাখাটি মাস্টারে মার্জ হওয়ার পরে। (যেমন শাখাটি মাস্টারে মার্জ করার পরে আপনি কী পাবেন - আপনি গ্যারান্টিযুক্ত যে পরীক্ষাগুলি এখনও মার্জ হওয়ার পরে সফলভাবে চলবে run)

যদি শাখায় কমিট যুক্ত করা হয়, পরীক্ষাগুলি আবার চালানো হবে। (যদিও কোনও কারণে মাস্টারকে কমিট করার পরে পরীক্ষাগুলি আবার চালানো হবে বলে মনে হয় না))


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

@ অ্যাশ কোডটি আসলে মাস্টারে মিশে যায় না; যেহেতু আমি এটি বুঝতে পারি পরীক্ষাগুলি মূলত একটি অস্থায়ী শাখায় পরিচালিত হয় যা শাখার অধীনে-পরীক্ষাটি মাস্টারের মধ্যে মার্জ হওয়ার ফলাফল।
এমজেএস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.