Buck2, নতুন Facebook বিল্ড সিস্টেম

বক2-বীর

Buck2, Facebook এর নতুন ওপেন সোর্স বিল্ড সিস্টেম

ফেসবুক চালু করেছে সম্প্রতি "Buck2" নামে একটি নতুন বিল্ড সিস্টেম প্রকাশ করেছে, যা নোট করে যে এটি সংগ্রহস্থল থেকে নির্মাণ প্রকল্পের উপর দৃষ্টি নিবদ্ধ করা খুব বড় যা বিভিন্ন ভাষায় কোড অন্তর্ভুক্ত করে প্রোগ্রামিং।

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

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

Buck2 সম্পর্কে

এটি হাইলাইট করা হয় সিস্টেমটি নির্দিষ্ট ভাষায় কোড তৈরির সাথে আবদ্ধ নয় এবং বাক্সের বাইরে, এটি Facebook দ্বারা ব্যবহৃত C++, Python, Rust, Kotlin, Erlang, Swift, Objective-C, Haskell এবং OCaml-এ লেখা নির্মাতা প্রকল্পগুলিকে সমর্থন করে।

স্টারলার্ক ভাষা, পাইথনের উপর ভিত্তি করে (যেমন বেজেলে), প্লাগইন ডিজাইন, স্ক্রিপ্ট এবং নিয়ম তৈরি করতে ব্যবহৃত হয়। স্টারলার্ক আপনাকে বিল্ড সিস্টেমের ক্ষমতা প্রসারিত করতে এবং নির্মাণ করা প্রকল্পগুলিতে ব্যবহৃত নির্দিষ্ট ভাষাগুলি থেকে বিমূর্ত করার অনুমতি দেয়।

এটি উল্লেখ করা হয় ফলাফল ক্যাশে উচ্চ কর্মক্ষমতা অর্জন করা হয়, কাজের সমান্তরালকরণ এবং দূরবর্তী কার্য সম্পাদনের জন্য সমর্থন (রিমোট বিল্ড এক্সিকিউশন)।

নির্মাণ পরিবেশ "হারমেটিসিটি" ধারণা ব্যবহার করে: সংকলিত কোডটি বাইরের বিশ্ব থেকে বিচ্ছিন্ন, বিল্ড প্রক্রিয়া চলাকালীন বাইরে থেকে কিছুই লোড করা হয় না এবং বিভিন্ন সিস্টেমে কাজের পুনরাবৃত্তি একই ফলাফলের দিকে নিয়ে যায় (পুনরাবৃত্তি বিল্ড, উদাহরণস্বরূপ, একটি প্রকল্প কম্পাইল করার ফলাফল ডেভেলপার থেকে মেশিন অবিচ্ছিন্ন ইন্টিগ্রেশন সার্ভারের বিল্ডের মতোই হবে)। নির্ভরতা পরিস্থিতির অভাব একটি বাগ হিসাবে Buck2 অনুভূত হয়.

এর পক্ষ থেকে Buck2 মূল বৈশিষ্ট্য, নিম্নলিখিত স্ট্যান্ড আউট:

  • প্রোগ্রামিং ল্যাঙ্গুয়েজ সাপোর্ট করার নিয়ম এবং কোর বিল্ড সিস্টেম সম্পূর্ণ আলাদা। নিয়মগুলি স্টারলার্ক ভাষায় লেখা হয় এবং স্টারলার্ক টুলকিট এবং বাস্তবায়ন মরিচায় লেখা হয়।
  • বিল্ড সিস্টেম একটি একক বর্ধিত নির্ভরতা গ্রাফ ব্যবহার করে (কোনও স্টেজিং নেই), যা আপনাকে বক এবং বেজেলের তুলনায় কাজের সমান্তরালকরণের গভীরতা বাড়াতে এবং অনেক ধরণের বাগ এড়াতে দেয়।
  • GitHub-এ পোস্ট করা Buck2 এর কোড এবং প্রোগ্রামিং ল্যাঙ্গুয়েজ সাপোর্টের নিয়মগুলি Facebook-এর পরিকাঠামোতে ব্যবহৃত অভ্যন্তরীণ সংস্করণের সাথে প্রায় অভিন্ন (শুধুমাত্র পার্থক্য হল Facebook দ্বারা ব্যবহৃত কম্পাইলার সংস্করণ এবং বিল্ড সার্ভারের লিঙ্কে)।
  • বিল্ড সিস্টেমটি রিমোট জব এক্সিকিউশন সিস্টেমের সাথে একীভূত করার জন্য ডিজাইন করা হয়েছে যা আপনাকে রিমোট সার্ভারে কাজ চালানোর অনুমতি দেয়। রিমোট এক্সিকিউশন API Bazel এর সাথে সামঞ্জস্যপূর্ণ এবং Buildbarn এবং EngFlow এর সাথে সামঞ্জস্যের জন্য পরীক্ষা করা হয়েছে।
  • ভার্চুয়াল ফাইল সিস্টেমের সাথে ইন্টিগ্রেশন প্রদান করা হয়, যেখানে সমগ্র সংগ্রহস্থলের বিষয়বস্তু উপস্থাপন করা হয়, কিন্তু প্রকৃতপক্ষে, কাজটি সংগ্রহস্থলের একটি অংশের প্রকৃত স্থানীয় অংশের সাথে সঞ্চালিত হয় (বিকাশকারী পুরো সংগ্রহস্থলটি দেখেন, কিন্তু শুধুমাত্র কি? প্রয়োজন হয়) অ্যাক্সেস করা ফাইলগুলি সংগ্রহস্থল থেকে পুনরুদ্ধার করা হয়)। EdenFS-ভিত্তিক VFS এবং Git LFS সমর্থিত, যা স্যাপলিং দ্বারা ব্যবহৃত হয়।

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


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।