একটি বিল্ড সিস্টেম একটি ইঞ্জিনিয়ারিং সংস্থার সবচেয়ে গুরুত্বপূর্ণ অংশগুলির মধ্যে একটি কারণ প্রতিটি বিকাশকারী এটির সাথে প্রতিদিন কয়েক ডজন বা কয়েকশ বার ইন্টারঅ্যাক্ট করে। একটি প্রতিষ্ঠানের স্কেল হিসাবে বিকাশকারীর উত্পাদনশীলতা সক্ষম করার জন্য একটি সম্পূর্ণ বৈশিষ্ট্যযুক্ত বিল্ড সিস্টেম প্রয়োজন। স্বতন্ত্র বিকাশকারীদের জন্য, আপনার কোড কম্পাইল করা সহজ এবং তাই একটি বিল্ড সিস্টেম অতিরিক্ত বলে মনে হতে পারে। কিন্তু একটি বৃহত্তর স্কেলে, একটি বিল্ড সিস্টেম থাকা ভাগ করা নির্ভরতা পরিচালনা করতে সাহায্য করে, যেমন কোড বেসের অন্য অংশের উপর নির্ভর করা, বা একটি বহিরাগত সংস্থান, যেমন একটি লাইব্রেরি। বিল্ড সিস্টেমগুলি এটি তৈরি করা শুরু করার আগে আপনার কোড তৈরি করার জন্য আপনার প্রয়োজনীয় সমস্ত কিছু আছে তা নিশ্চিত করতে সহায়তা করে৷ প্রকৌশলীদের সংস্থান এবং ফলাফলগুলি ভাগ করতে সহায়তা করার জন্য সেট আপ করা হলে বিল্ড সিস্টেমগুলিও বেগ বাড়ায়।
এই বিভাগে কিছু ইতিহাস এবং বিল্ডিং এবং বিল্ড সিস্টেমের বুনিয়াদিগুলি কভার করে, যার মধ্যে ডিজাইনের সিদ্ধান্তগুলি রয়েছে যা Bazel তৈরিতে গিয়েছিল৷ আপনি যদি আর্টিফ্যাক্ট-ভিত্তিক বিল্ড সিস্টেমগুলির সাথে পরিচিত হন, যেমন ব্যাজেল, বক এবং প্যান্ট, আপনি এই বিভাগটি এড়িয়ে যেতে পারেন, তবে এটি একটি সহায়ক ওভারভিউ বোঝার জন্য কেন আর্টিফ্যাক্ট-ভিত্তিক বিল্ড সিস্টেমগুলি স্কেল সক্ষম করার ক্ষেত্রে দুর্দান্ত।
আপনি আগে একটি বিল্ড সিস্টেম ব্যবহার না করে থাকলে, এখানে শুরু করুন. এই পৃষ্ঠাটি কভার করে যে কেন আপনার একটি বিল্ড সিস্টেম ব্যবহার করা উচিত, এবং একবার আপনার সংস্থাটি কয়েকটি বিকাশকারীদের ছাড়িয়ে গেলে কেন কম্পাইলার এবং বিল্ড স্ক্রিপ্টগুলি সেরা পছন্দ নয়৷
এই পৃষ্ঠাটি টাস্ক-ভিত্তিক বিল্ড সিস্টেম (যেমন মেক, ম্যাভেন এবং গ্রেডল) এবং তাদের কিছু চ্যালেঞ্জ নিয়ে আলোচনা করে।
আর্টিফ্যাক্ট-ভিত্তিক বিল্ড সিস্টেম
এই পৃষ্ঠাটি টাস্ক-ভিত্তিক বিল্ড সিস্টেমের ব্যথা পয়েন্টগুলির প্রতিক্রিয়া হিসাবে আর্টিফ্যাক্ট-ভিত্তিক বিল্ড সিস্টেম নিয়ে আলোচনা করে।
এই পৃষ্ঠাটি বিতরণ করা বিল্ডগুলিকে কভার করে, বা বিল্ডগুলি যা আপনার স্থানীয় মেশিনের বাইরে কার্যকর করা হয়। এর জন্য সম্পদ ভাগাভাগি করতে এবং ফলাফল তৈরি করার জন্য আরও শক্তিশালী পরিকাঠামো প্রয়োজন (এবং সেখানেই সত্যিকারের জাদুকর ঘটনা ঘটে!)
এই পৃষ্ঠাটি বৃহৎ পরিসরে নির্ভরতার কিছু জটিলতা এবং সেই জটিলতাগুলিকে প্রতিরোধ করার কৌশলগুলি কভার করে৷