গিট, মাভেন এবং জেনকিনস - সংস্করণকরণ, দেব এবং প্রকাশের ফলে ওয়ার্কফ্লো তৈরি হয়


12

গিট, মাভেন এবং জেনকিনের সাহায্যে নিম্নলিখিতগুলি করার জন্য পছন্দের উপায়টি কী:

আমি একটি অ্যাপ্লিকেশন বিকাশ করছি, যা আমি "দেব" এবং "মুক্তি" শাখা বজায় রাখতে চাই। আমি জেনকিনগুলি উভয় তৈরি করতে চাই। এটি এমনটি হতে পারে যাতে রিলিজ-আর্টিফিকেটে 1.5.2 এর মতো সংস্করণ থাকতে পারে এবং দেব-বিল্ডগুলি কেবল 0.0.1-এসএনএপএসএইচএসট হয়। আমার 2 টি আলাদা আলাদা pom.xML ফাইল থাকতে হবে না।

আমি প্রোফাইলগুলিতে সন্ধান করেছি তবে তারা আর্টিক্যাক্ট সংস্করণগুলি পরিবর্তন করতে সক্ষম হবে বলে মনে হয় না। আমি যে দিকে তাকিয়েছিলাম তা পরীক্ষা-তৈরির ক্ষেত্রে 'কোয়ালিফায়ার' যুক্ত হতে পারে। অবশ্যই আমি কেবল ফাইলটির নাম পরিবর্তন করতে পারলাম, কারণ এ সম্পর্কিত আসল শিল্প-তথ্যটি গুরুত্বপূর্ণ নয়, কারণ অ্যাপটি এককভাবে al

এটি করার জন্য পছন্দসই উপায় কী হবে? বা আপনি এই কিভাবে করবেন?

উত্তর:


3

আমি ভাবব যে এই শাখাগুলির মধ্যে একটি অন্তর্নিহিত সম্পর্ক থাকা উচিত যা সংস্করণ সংখ্যার সমস্যাটি সমাধান করা উচিত।

মুক্তি

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

বেসলাইন আপডেট করা (alচ্ছিক)

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

বেসলাইন থেকে দেব শাখায় আপ-মার্জ করুন

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


আমি যে পাঠ করেছি তার উপর ভিত্তি করে (পাশাপাশি আমার সংস্থার সাথে প্রক্রিয়াগুলি), এটি ম্যাভেন রিলিজ এবং স্ন্যাপশটের একটি দুর্দান্ত স্ট্যান্ডার্ড এবং কার্যকর ব্যবহার বলে মনে হচ্ছে এবং বিভিন্ন শাখায় সম্পূর্ণ সংযোগ বিচ্ছিন্ন সংস্করণ সংখ্যা বজায় রাখার চেয়ে এটি বলা সহজ যে কোনও 1.4.7-SNAPSHOT বিল্ডটি আসলে 1.4.7 রিলিজের তাত্ক্ষণিক পূর্বসূরি ছিল। তারা সম্পর্কিত। আমি এতদূর যাব যে আপনি যদি এই শাখাগুলির মধ্যে পিছনে একত্রিত না হয়ে থাকেন, আপনি এসসিএম এবং মাভেন উভয়েরই সংস্করণ ভুল করছেন, এবং আপনি এমন কোডের বিরুদ্ধে বিকাশের ঝুঁকিতে ফেলেছেন যা উত্পাদন মেলে না উত্পাদনের ক্ষেত্রে বাগগুলি পুনরায় পরিচয় করিয়ে দেয় etc.


"ম্যাভেন রিলিজ" দ্বারা আপনি কি মভেন-রিলিজ-প্লাগইন বলতে চান?
ওয়ারেস

হাঁ। ম্যাভেন রিলিজ বিল্ড হওয়ার জন্য আপনি জেনকিনসে কিছু নির্দিষ্ট বিল্ডও সেট আপ করতে পারেন, যা ম্যাভেন-রিলিজ-প্লাগইনকে অনুরোধ করে।
রোনু

এটি "কী" এর মতো সন্ধান করেছে। ধন্যবাদ!
ওয়ারেস

1

আপনার পদ্ধতির পুনর্বিবেচনা

রিলিজ সংস্করণের জন্য উদাহরণস্বরূপ 1.4.2 এবং তার পরের বিকাশের জন্য 1.4.3-এসএনএপশট ব্যবহার করা খুব সাধারণ।

আপনার যখন 1.4.2 প্রকাশের বজায় রাখতে হবে তখন আপনার 1.4.2 আর্টিক্যাক্টের উত্স থেকে প্রতিশ্রুতিবদ্ধ থেকে এটি শাখা করুন।

তারপরে আপনি জেনকিন্সকে আপনার ভাণ্ডারের অবস্থান এবং শাখার নামটি বলবেন, ফলস্বরূপ একটি ফাইল সেট চেক আউট হয়ে যায় এবং তারপরে আপনি জেনকিন্সকে এটি নির্মাণের জন্য আপনার প্রকল্পে মাভেন ব্যবহার করতে বলেন।

দ্রষ্টব্য: আমি খুঁজে পেয়েছি যে গ্রাহকের কাছে আসার জন্য আসল বিট তৈরির জন্য একক pom.xML এবং অন্য pom.xML ব্যবহার করা খুব উপকারী another

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