রিলিজ বিল্ড বনাম নাইট বিল্ড


13

একটি সাধারণ সমাধান হ'ল বিল্ড সার্ভারে সিআই (কন্টিনিউজ ইন্টিগ্রেশন) বিল্ড চলমান থাকে: এটি উত্স কোডটি বিশ্লেষণ করবে, বিল্ড তৈরি করবে (ডিবাগে) এবং পরীক্ষা চালাবে, পরীক্ষার কভারেজ পরিমাপ করবে ইত্যাদি will

এখন, অন্য একটি বিল্ড টাইপ সাধারণত পরিচিত: "নাইটলি বিল্ড": কোড ডকুমেন্ট তৈরি করা, একটি সেটআপ প্যাকেজ তৈরি করা, পরিবেশের পরীক্ষার জন্য মোতায়েন করা এবং পরীক্ষার পরিবেশের বিরুদ্ধে স্বয়ংক্রিয় (ধোঁয়া বা গ্রহণযোগ্যতা) পরীক্ষা চালানো ইত্যাদি ধীরে ধীরে করুন stuff

এখন, প্রশ্ন:

  • রিলিজ বিল্ড হিসাবে তৃতীয় পৃথক "রিলিজ বিল্ড" রাখা কি ভাল?
  • না কি "নাইটলি বিল্ড" রিলিজ মোডে এবং এটিকে মুক্তি হিসাবে ব্যবহার করে?

আপনি আপনার সংস্থায় কী ব্যবহার করছেন?

(রিলিজ বিল্ডটি সম্ভাব্য পণ্যের সংস্করণের উত্স নিয়ন্ত্রণে কোনও ধরণের ট্যাগ যুক্ত করা উচিত))

উত্তর:


13

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

মুক্তি এবং রাতের মধ্যে পার্থক্য:

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

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


7

ভাল আমি চাই যে মুক্তির বিল্ডটি যতটা সম্ভব রাত্রে যতটা সম্ভব প্রক্রিয়াধীন থাকুক! আদর্শভাবে ঠিক একই তবে একটি ট্যাগ সহ।

জিনিসটি হ'ল যদি আপনার রিলিজ বিল্ড এবং রাত্রি একই রকম না হয় তবে সেখানে সম্ভাবনা রয়েছে যে যা কিছু ভিন্ন তা কোনও সমস্যার মুখোশ ফেলতে পারে (বা এটিকে ট্র্যাকিংকে আরও শক্ত করে তুলতে পারে)।


3

আমার কাছে একটি একক বিল্ড প্রক্রিয়া থাকবে, যা সিআই পরিষেবা দ্বারা পরিচালিত প্রতিটি চেক-ইন সবকিছু তৈরি করবে। এটি ডিবাগ এবং রিলিজ বিল্ড উভয়ই হবে।

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


4 টি বিভিন্ন বিল্ড প্রক্রিয়া সহ আমার সংস্থাটি অনেকটা এরকম। আমাদের এটি পরিবর্তন করা দরকার।
ব্র্যান্ডন

2

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

যদি না আপনি আসলে আপনার রাত্রি বিল্ডে কোনও ডিবাগার সংযুক্ত করে যান তবে আমি এটি করার পরামর্শ দিই।

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

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