প্রকল্প সম্পর্কে

BuildKit হল Moby প্রকল্প দ্বারা বিকশিত একটি বিল্ড টুলকিট যা সোর্স কোডকে দক্ষ এবং পুনরাবৃত্তিযোগ্য উপায়ে বিল্ড আর্টিফ্যাক্টে রূপান্তর করে। এটি `docker build` (Buildx এর মাধ্যমে) এর ইঞ্জিন এবং একটি স্বতন্ত্র ডেমন (`buildkitd`) সাথে একটি ক্লায়েন্ট CLI (`buildctl`) প্রদান করে। মূল ক্ষমতাগুলির মধ্যে রয়েছে সমান্তরাল নির্ভরতা সমাধান, স্বয়ংক্রিয় আবর্জনা সংগ্রহ সহ নির্দেশ-স্তরের ক্যাশিং, এবং একাধিক আউটপুট ফরম্যাটের সমর্থন (OCI ইমেজ, Docker tarball, স্থানীয় ডিরেক্টরি, containerd ইমেজ স্টোর)। বিল্ডগুলি LLB (Low-Level Build) ব্যবহার করে সংজ্ঞায়িত করা হয়, একটি বাইনারি মধ্যবর্তী ফরম্যাট যা ক্যাশ দক্ষতা এবং সমান্তরাল সম্পাদন সক্ষম করে। LLB বিক্রেতা-নিরপেক্ষ, যা বিভিন্ন উচ্চ-স্তরের ফ্রন্টএন্ডকে এটিকে লক্ষ্য করতে দেয়, যার মধ্যে Dockerfile, Buildpacks, Earthfile (Earthly), Nix, HLB এবং অন্যান্য। BuildKit একটি ডেমন হিসাবে চলে এবং একাধিক ওয়ার্কার ব্যাকএন্ড (OCI/runc এবং containerd) সমর্থন করে। এটি Linux-এ নেটিভভাবে, Windows-এ, অথবা Podman, Nerdctl, বা Kubernetes এর মাধ্যমে কন্টেইনারের ভিতরে স্থাপন করা যেতে পারে। ডেমন systemd সকেট অ্যাক্টিভেশন, TCP এক্সপোজার, OpenTelemetry ট্রেসিং এবং রুটলেস এক্সিকিউশন সমর্থন করে। ক্যাশ ইনলাইন ইমেজ মেটাডেটা, দূরবর্তী রেজিস্ট্রি, স্থানীয় ডিরেক্টরি বা GitHub Actions ক্যাশে রপ্তানি করা যেতে পারে। এটি Docker, Docker buildx, Tekton Pipelines, Gitpod, Earthly, Dagger এবং অন্যান্য CI/CD এবং কন্টেইনার টুলিং প্রকল্প দ্বারা ব্যাপকভাবে গৃহীত।