আমি আমাদের সিনিয়র স্থাপত্যবিদ এক প্রস্তাবিত বিল্ড সিস্টেম (Gradle / Artifactory / জেনকিন্স / পাচক বা রাঁধুনি) ব্যাখ্যা করা হয়েছিল, এবং তিনি আমাকে একটি মন্তব্য করেছে যে, আমি সাজানোর সঙ্গে মতানৈক্য, কিন্তু অভিজ্ঞ যথেষ্ট নই সত্যিই তৌল করা-ইন।
এই প্রকল্পটি একটি জাভা গ্রন্থাগার (জেআর) তৈরি করে যাতে অন্য দলগুলির দ্বারা পুনরায় ব্যবহার করা যায়। সংস্করণের জন্য, আমি এর অর্থসূচক পদ্ধতির ব্যবহার করতে চাই:
<major>.<minor>.<patch>
যেখানে patch
বাগ / জরুরী স্থিরতাগুলি minor
নির্দেশ করে, পিছনের দিকে সামঞ্জস্যপূর্ণ রিলিজগুলি major
নির্দেশ করে এবং এটি API এবং / অথবা পিছনে-অসামঞ্জস্যপূর্ণ পরিবর্তনগুলির বৃহত্তর রিফ্যাক্টরিংগুলি নির্দেশ করে।
ডেলিভারি এখানে যতটা যায় আমি চাই: বিকাশকারী কিছু কোড করে; এটি QA / TEST পরিবেশে বিল্ডকে ট্রিগার করে। কিছু পরীক্ষা চালানো হয় (কিছু স্বয়ংক্রিয়, কিছু ম্যানুয়াল)। যদি সমস্ত পরীক্ষা পাস হয়, তবে একটি প্রোডাকশন বিল্ড আমাদের ইন-হাউস রেপোতে জেআর প্রকাশ করে। এই মুহুর্তে জেআরটি যথাযথভাবে সংস্করণ করা উচিত এবং আমার চিন্তাভাবনাটি build.number
প্যাচ নম্বর হিসাবে কাজ করার জন্য যা আমাদের সিআই সরঞ্জাম দ্বারা স্বয়ংক্রিয়ভাবে উত্পন্ন এবং সরবরাহ করা হয়েছিল তা ব্যবহার করা ।
সুতরাং, সংস্করণটি আসলে হ'ল:
<major>.<minor>.<build.number>
আবার কোথায় build.number
সিআই সরঞ্জাম সরবরাহ করে।
স্থপতি এটিকে প্রত্যাখ্যান করে বলেছিলেন যে সিআই বিল্ড নম্বর ব্যবহার করা শব্দার্থক সংস্করণের একটি "অপব্যবহার" ছিল।
আমার প্রশ্ন: এটি কি সঠিক, এবং যদি তাই হয় তবে কেন? এবং যদি না, কেন না?