আমি প্রায় ৪০ টি বিকাশকারী, ৫ টি দল নিয়ে একটি উন্নয়ন গোষ্ঠীর অংশ part আমরা 3 সপ্তাহের স্প্রিন্ট সহ স্ক্রম পদ্ধতি অনুসরণ করছি। আমাদের একটি ক্রমাগত ইন্টিগ্রেশন সেটআপ রয়েছে (জেনকিনস), একটি বিল্ড পাইপলাইন কয়েক ঘন্টা সময় নেয় (ব্যাপক স্বয়ংক্রিয় পরীক্ষার কারণে)। মূলত, উন্নয়ন প্রক্রিয়াটি ভালভাবে কাজ করে।
যাইহোক, আমরা লক্ষ্য করেছি যে একটি নতুন স্প্রিন্টে কয়েক দিন পরে, আমাদের বিল্ড প্রায়শই অস্থির হয়ে ওঠে এবং স্প্রিন্ট-এ "কমিট স্টপ" না হওয়া পর্যন্ত নড়বড়ে থাকে। এর বিরূপ প্রভাব হ'ল পাইপলাইন থেকে অনেক দূরে পদক্ষেপগুলি তৈরি করা, বিশেষত ইউআই- / ওয়েবসেটগুলি বেশ কয়েক দিন কার্যকর করা হয় না (কারণ এটি কেবল 'সবুজ' বিল্ডে ট্রিগার হয়েছিল)। ফলস্বরূপ, সদ্য চালু হওয়া বাগগুলি প্রায়শই কেবল স্প্রিন্টে খুব দেরীতে সনাক্ত করা হয়।
- প্রতিটি কমিট পরীক্ষার একটি বেসিক সেট বিরুদ্ধে যাচাই করা হয়। একবার যাচাই হয়ে গেলে, কোডটি পর্যালোচনা (গেরিট) পরে পরিবর্তনটি মাস্টারকে ধাক্কা দেওয়া হয়
- বেসিক ইউনিট পরীক্ষাগুলি প্রতি 30 মিনিটে সঞ্চালিত হয়, সময়কাল 10 মিনিটের চেয়ে কম হয়
- একীকরণ পরীক্ষা প্রতি 2 ঘন্টা, সময়কাল 1 ঘন্টা চালানো হয়
- UI- / ওয়েবসেটগুলি সফল ইন্টিগ্রেশন টেস্টে চালিত হয়, সময়কাল বেশ কয়েক ঘন্টা
স্প্রিন্ট চলাকালীন স্থিতিশীলতার জন্য কে দায়ী, তার উপর নির্ভর করে (সেই স্প্রিন্টের প্রতি দায়িত্বটি পাশ হয়ে গেছে), বিল্ডটি স্থিতিশীল করতে ফিরে পেতে মধ্যবর্তী, অ্যাড-হক "কমিট স্টপস" থাকতে পারে।
সুতরাং, আমরা চাই:
- আমাদের ডেভ টিমগুলি একটি স্প্রিন্টের বিহীন ওঠাকালীন সময়ে বিকাশ ও পরিবর্তন প্রতিশ্রুতিবদ্ধ
- আমাদের বিল্ড প্রক্রিয়াটি যদি কোনও বিল্ড স্টেপ ব্যর্থ হয় তবে তা ত্যাগ করতে হবে, কারণ পরবর্তী বিল্ড ফলাফলগুলির কোনও অর্থ নেই
- সময়োপযোগী বিকাশকারীদের গুণমানের প্রতিক্রিয়া জানাতে আমাদের বিল্ড প্রক্রিয়া
প্রদত্ত (2), পয়েন্ট (1) এবং (3) একে অপরের বিরোধিতা বলে মনে হচ্ছে। এটি মোকাবেলা করার জন্য কারও কি একটি ভাল অনুশীলন রয়েছে?
( আমরা বর্তমানে পয়েন্ট (2) শিথিল করছি, এমনকি ব্যর্থ বিল্ড স্টেপগুলিতেও ক্রমাগত বিল্ডিংকে অনুমতি দিচ্ছি that এটি কীভাবে আমাদের মানকে প্রভাবিত করে তা এখনও আমার কোনও প্রতিক্রিয়া নেই )
ধন্যবাদ, সাইমন
several hours
তবে এটিই আসল সমস্যা। এটি বোঝায় যে সম্মিলিত সমাধানটি খুব বড় এবং খুব বিস্তৃত। আপনার সমাধানটি সামঞ্জস্য করা উচিত এবং তারপরে প্যাকেজ হিসাবে কোডের ছোট অংশ থাকতে হবে (সমস্ত প্ল্যাটফর্মের সমস্ত বড় ভাষায় এক উপায়ে বা অন্য কোনও উপায়ে উপলব্ধ)। সুতরাং যে কোনও পরিবর্তন কেবলমাত্র উপাদানগুলিতে চলে যাবে এবং এটি আরও দ্রুত সনাক্ত করা হবে। সম্পূর্ণ বিল্ডটি মূলত ইতিমধ্যে সংযুক্ত উপাদানগুলিকে একসাথে রেখে দেবে এবং এটি আরও দ্রুত হবে। তারপরে আপনি সঠিক উপাদানগুলি সমাধান হয়েছে তা নিশ্চিত করার জন্য কেবল কয়েকটি পরীক্ষা চালিয়ে যাবেন।