অ্যাপ হোস্টিং বিল্ড প্রক্রিয়া

Firebase App Hosting আপনার অ্যাপ্লিকেশন সোর্স কোডকে Cloud Run -এ ডেপ্লয়মেন্টের জন্য উপযুক্ত একটি কন্টেইনারাইজড ফরম্যাটে রূপান্তর করতে Cloud Build ব্যবহার করে।

নির্মাণ প্রক্রিয়াটি নিম্নলিখিত প্রধান পর্যায়গুলির মাধ্যমে পরিচালিত হয়:

  1. উবুন্টু : ওয়ার্কস্পেস প্রারম্ভিকীকরণ।

  2. প্রস্তুতকারক : আপনার অ্যাপ্লিকেশনের সোর্স কোড এবং কনফিগারেশন সংগ্রহ করে।

  3. প্রি-বিল্ডপ্যাক : বিল্ডপ্যাক পরিবেশ প্রস্তুত করে।

  4. বিল্ড : নির্ভরতা ইনস্টল করে এবং আপনার অ্যাপ্লিকেশনটি বিল্ড করে।

  5. প্রকাশক : প্রোডাকশন Cloud Run কন্টেইনারটিকে চূড়ান্ত করে।

এই পাঁচটি ধাপ গুগল ক্লাউড কনসোলের Cloud Build এ প্রদর্শিত বিল্ড ধাপগুলোর সাথে সরাসরি সঙ্গতিপূর্ণ:

ক্লাউড বিল্ড ধাপগুলোর গুগল ক্লাউড কনসোল ভিউয়ের একটি স্ক্রিনশট।

ওয়ার্কস্পেস প্রারম্ভিকীকরণ

এই পর্যায়টি উবুন্টু বিল্ড ধাপের সাথে সম্পর্কিত। এটি বিল্ড ওয়ার্কস্পেসকে চালু করে এবং পরবর্তী বিল্ড ধাপগুলোতে ব্যবহৃত ডিরেক্টরিগুলোর জন্য সঠিক ফাইল পারমিশন সেট করা নিশ্চিত করে।

প্রস্তুতকারক

এই পর্যায়টি প্রি-বিল্ড লজিক পরিচালনার জন্য দায়ী। এটি ব্যবহারকারী-সংজ্ঞায়িত এনভায়রনমেন্ট ভেরিয়েবলগুলো পড়ে, পরিমার্জন করে এবং লেখে। এছাড়াও এটি apphosting.yaml ফাইলে নির্দিষ্ট করা যেকোনো সিক্রেটকে ডি-রেফারেন্স ও পিন করে।

প্রি-বিল্ডপ্যাক

এই ধাপটি ক্লাউড নেটিভ বিল্ডপ্যাকস লাইফসাইকেলের জন্য পরিবেশ প্রস্তুত করে। এর জন্য একটি শিম চালানো হয়, যা পূর্ববর্তী ধাপে প্রস্তুত করা কনফিগারেশন এবং এনভায়রনমেন্ট ভেরিয়েবলগুলোকে CNB টুলগুলোর প্রত্যাশিত ফরম্যাটে রূপান্তর করে।

নির্মাণ করুন

এটি বিল্ড প্রক্রিয়ার মূল অংশ, যা একটি রানযোগ্য কন্টেইনার ইমেজ এবং আপনার বিল্ড কনফিগারেশন নির্ধারণকারী একটি bundle.yaml ফাইল তৈরি করার জন্য দায়ী। এটি অ্যাপ্লিকেশনটিকে দক্ষতার সাথে প্যাকেজ করার জন্য ক্লাউড নেটিভ বিল্ডপ্যাকস এবং লাইফসাইকেল ক্রিয়েটর বাইনারি ব্যবহার করে। bundle.yaml ফাইল সম্পর্কে আরও তথ্য গিটহাবে পাওয়া যাবে।

বিল্ডপ্যাকগুলো আপনার অ্যাপ্লিকেশনের সোর্স কোডকে প্রোডাকশন-রেডি কন্টেইনার ইমেজে রূপান্তর করার দায়িত্বে থাকে। Firebase App Hosting বিল্ড প্রক্রিয়াটি সম্পন্ন করার জন্য একাধিক বিল্ডপ্যাককে একসাথে যুক্ত করে:

  1. রানটাইম বিল্ডপ্যাক : একটি সাধারণ Node.js অ্যাপ্লিকেশন চালানোর জন্য প্রয়োজনীয় সমস্ত উপাদান অন্তর্ভুক্ত এবং নির্ভরতাগুলি ইনস্টল করা নিশ্চিত করে।
  2. মনোরেপো বিল্ডপ্যাক : বিভিন্ন মনোরেপো পরিস্থিতি সামাল দেওয়ার জন্য পরবর্তী বিল্ডপ্যাকগুলোকে কনফিগার করে।
  3. ফ্রেমওয়ার্ক বিল্ডপ্যাক : সঠিক ফ্রেমওয়ার্ক অ্যাডাপ্টার (যেমন Angular বা Next.js) ইনস্টল করে এবং পরবর্তী বিল্ডপ্যাকগুলো প্রস্তুত করে।

    ফ্রেমওয়ার্ক অ্যাডাপ্টারগুলো প্রোডাকশনাইজড বিল্ড কমান্ড চালানোর এবং যেকোনো প্রাসঙ্গিক ফ্রেমওয়ার্ক-নির্দিষ্ট কনফিগারেশন ভ্যালুকে App Hosting দ্বারা পাঠযোগ্য একটি স্ট্যান্ডার্ড ফরম্যাটে ম্যাপ করার দায়িত্বে থাকে।

  4. প্যাকেজ ম্যানেজার বিল্ডপ্যাক : npm, yarn, বা pnpm ব্যবহার করে ডিপেন্ডেন্সিগুলো ইনস্টল করে এবং অ্যাপটি বিল্ড করে।

  5. আউটপুট বান্ডেল বিল্ডপ্যাক : রান কমান্ড নির্ধারণ করে এবং নির্বাহের জন্য আউটপুট বান্ডেল প্রস্তুত করে।

প্রকাশক

এই চূড়ান্ত পর্যায়ে অ্যাপ্লিকেশন সোর্স কোড এবং বিল্ড কন্টেইনার ইমেজ থেকে সংগৃহীত সমস্ত তথ্য প্যাকেজ করে App Hosting ব্যাকএন্ডে পাঠানো হয়। এরপর App Hosting ব্যাকএন্ড এই তথ্য ব্যবহার করে যথাযথ কনফিগারেশন সহ Cloud Run সেট আপ করে।

আরও জানুন

সম্পূর্ণ App Hosting বিল্ড প্রক্রিয়াটি ওপেন সোর্স।