আমি নেট অ্যাপ্লিকেশনগুলির মোটামুটি বড় পোর্টফোলিও বজায় রাখার সাথে জড়িত। এছাড়াও পোর্টফোলিওতে অন্যান্য প্ল্যাটফর্মগুলির শীর্ষে নির্মিত লিগ্যাসি অ্যাপ্লিকেশনগুলি রয়েছে - দেশীয় সি ++, ইসিলিপস ফর্ম ইত্যাদি etc.
আমার এখনই ন্যান্টের উপরে একটি জটিল বিল্ড ফ্রেমওয়ার্ক রয়েছে যা এই সমস্ত অ্যাপ্লিকেশনটির জন্য বিল্ডগুলি পরিচালনা করে। বিল্ড ফ্রেমওয়ার্কটি নান্টকে বিভিন্ন বিভিন্ন কাজ করতে ব্যবহার করে:
- সাবভারশনের বাইরে কোড টানুন, পাশাপাশি সাবভারশনে ট্যাগ তৈরি করুন
- .NET বা অন্যান্য প্ল্যাটফর্মের জন্য অন্যান্য সংকলকগুলির জন্য এমএসবিল্ড ব্যবহার করে কোডটি তৈরি করুন
- বর্ধিত সংস্করণ সংখ্যাগুলিতে এসেম্বলিআইনফোর ফাইলগুলির মধ্যে উঁকি দিন
- বিল্ড / রিলিজের মধ্যে অন্তর্ভুক্ত করা উচিত নয় এমন কিছু ফাইল মুছুন
- বিস্তৃত ফোল্ডারগুলিতে কোড প্রকাশ করে
- ব্যাকআপ উদ্দেশ্যে জিপ কোড আপ
- উইন্ডোজ পরিষেবা স্থাপন; শুরু করুন এবং তাদের বন্ধ করুন
- প্রভৃতি
এই জিনিসগুলির বেশিরভাগটি কেবল ন্যান্ট দিয়ে নিজেই করা যায়, তবে আমরা ন্যান্টের জন্য আমাদের পরিবেশের সাথে সুনির্দিষ্ট কিছু কাজ করার জন্য বেশ কয়েকটি এক্সটেনশন টাস্ক তৈরি করেছি। এছাড়াও, উপরে উল্লিখিত বেশিরভাগ প্রক্রিয়াগুলি আমাদের বিভিন্ন অ্যাপ্লিকেশন বিল্ড স্ক্রিপ্টগুলিতে প্রচুর জেনারাইজড এবং পুনরায় ব্যবহার করা হয়, যাতে আমরা যুক্তির পুনরাবৃত্তি না করি। সুতরাং এটি সহজ ন্যান্ট কোড নয়, এবং সাধারণ বিল্ড স্ক্রিপ্টগুলি নয়। এমন কয়েক ডজন ন্যান্ট ফাইল রয়েছে যা একত্রিত হয়ে একটি বিল্ড কার্যকর করে।
ইদানীং আমি বেশ কয়েকটি কারণে ন্যান্টের সাথে অসন্তুষ্ট হয়েছি: (১) এটির বাক্য গঠনটি কেবল ভয়াবহ - এক্সএমএল শীর্ষে প্রোগ্রামিং ভাষাগুলি বজায় রাখা সত্যিই ভয়াবহ, (২) প্রকল্পটি সম্ভবত দ্রাক্ষালতায় মারা গেছে বলে মনে হচ্ছে; ইদানীং এক টন আপডেট হয়নি এবং দেখে মনে হয় আসলেই কেউ সুপরিচয় নেই। .NET 4 এর সাথে এটি কাজ করার চেষ্টা করা হচ্ছে এই ক্রিয়াকলাপের অভাবে কিছু ব্যথা পয়েন্ট তৈরি করেছে।
সুতরাং, যে সমস্ত পটভূমি পথছাড়া, এখানে আমার প্রশ্ন। উপরের সেই তালিকার উপর ভিত্তি করে আমি যে জিনিসগুলি সম্পাদন করতে চাই তার কয়েকটি দেওয়া এবং আমি যে প্রাথমিকভাবে একটি নেট শপে থাকি, কিন্তু আমার নন-নেট প্রকল্পগুলিও তৈরি করা দরকার, ন্যান্টের কি বিকল্প আছে যা আমার বিবেচনা করা উচিত? স্যুইচিং?
আমার রাডার উপর থিংস অন্তর্ভুক্ত PowerShell (সহ বা ছাড়া psake ), MSBuild নিজেই, এবং মই দিয়া আহরণ করা । এগুলির সকলের পক্ষে মতামত রয়েছে। উদাহরণস্বরূপ, এমএসবিল্ড কি যথেষ্ট ক্ষমতাবান? আমার মনে আছে এটি বহু বছর আগে ব্যবহার করা হয়েছিল এবং এটি ন্যান্টের মতো তেমন শক্তি রাখেনি বলে মনে হয়। আমি কি সত্যিই আমার দলটিকে রিকে কেবল রেক ব্যবহার করে বিল্ড করতে শিখতে চাই? আমার পোর্টফোলিওটিতে পিন করার জন্য কি প্রজাক সত্যিই যথেষ্ট পরিপক্ক? পাওয়ারশেল কি "ধাতবটির খুব কাছাকাছি" এবং আমি নিজের বিল্ড লাইব্রেরিটি নিজের হাতে ব্যবহার করার জন্য এটি নিজের মতো করে লেখার মতো লিখে ফেলতে চাই?
আমার কি অন্যান্য সরঞ্জামগুলি বিবেচনা করা উচিত? আপনি যদি উল্লেখযোগ্য জটিলতার একটি নেট পোর্টফোলিও বজায় রাখার সাথে জড়িত থাকেন তবে আপনি কোন বিল্ড টুলটি খুঁজছেন? আপনার দলটি বর্তমানে কী ব্যবহার করে?