অ্যাপ হোস্টিং-এ স্থাপন করার বিকল্প উপায়

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

Firebase CLI ব্যবহার করে সোর্স থেকে ডিপ্লয় করুন

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

ডেপ্লয়মেন্টের সময়, App Hosting আপনার সোর্স কোড একটি গুগল ক্লাউড স্টোরেজ বাকেটে আপলোড করে, ক্লাউড বিল্ড-এ আপনার ফ্রেমওয়ার্ক বিল্ড কমান্ড চালায় এবং চূড়ান্ত আর্টিফ্যাক্টগুলো ক্লাউড রান ও ক্লাউড সিডিএন-এ ডেপ্লয় করে। App Hosting লোকাল সোর্স ডেপ্লয়মেন্টের জন্য গিটহাব ডেপ্লয়মেন্টের মতোই একই বিল্ড প্রসেস ব্যবহার করে। যদি আপনার প্রোজেক্টে একটি .gitignore ফাইল থাকে, তবে এতে তালিকাভুক্ত ফাইল এবং ফোল্ডারগুলো আপনার ডেপ্লয়মেন্ট থেকে বাদ দেওয়া হয়।

স্থানীয় উৎস থেকে আপনার অ্যাপটি স্থাপন করতে:

  1. আপনার স্থানীয় প্রজেক্ট ডিরেক্টরিতে firebase init apphosting চালান।
  2. প্রম্পটে, ‘Use an existing project’ নির্বাচন করুন এবং তারপরে নির্বাচিত Firebase প্রজেক্টটি নির্বাচন করুন।
  3. ডেপ্লয় করার জন্য একটি নতুন বা বিদ্যমান ব্যাকএন্ড নির্বাচন করুন; এই ধাপে আপনার লোকাল ডিরেক্টরির জন্য অ্যাপ হোস্টিং ডেপ্লয়মেন্ট সেট আপ করা হয় এবং আপনার অ্যাপ সফলভাবে ডেপ্লয় করার জন্য App Hosting প্রয়োজনীয় তথ্য চাওয়া হয়:

    1. যে ব্যাকএন্ডে ডিপ্লয় করতে হবে তার আইডি
    2. যে অঞ্চলে ডেপ্লয় করতে হবে (যদি নতুন ব্যাকএন্ড তৈরি করা হয়)
    3. অ্যাপ্লিকেশন কোডের রুট ডিরেক্টরির পথ

    App Hosting আপনার ডেপ্লয়মেন্ট সংক্রান্ত পছন্দগুলো firebase.json ফাইলে সংরক্ষণ করে (আপনার লোকাল প্রোজেক্টে ফাইলটি না থাকলে তা তৈরি করে)। ইনিশিয়ালাইজেশন সফলভাবে সম্পন্ন হলে, আপনি App Hosting -এ আপনার সোর্স কোড ডেপ্লয় করার জন্য firebase deploy চালাতে পারেন।

যদি আপনি একাধিক ব্যাকএন্ডের জন্য লোকাল সোর্স ডেপ্লয়মেন্ট সেট আপ করে থাকেন (অর্থাৎ firebase.json এ একাধিক backendId এন্ট্রি থাকে), তাহলে firebase deploy সেই প্রতিটি ব্যাকএন্ডে ডেপ্লয় করবে। কোনো নির্দিষ্ট ব্যাকএন্ডে ডেপ্লয় করতে, firebase deploy --only apphosting:backendId ব্যবহার করুন।

উদাহরণ firebase.json

{
  "apphosting": [
    {
      "backendId": "my-backend",
      // rootDir specifies the directory containing the app to deploy, but the entire
      // parent directory of firebase.json will be zipped and uploaded to ensure that
      // dependencies outside of the app directory will be available at build time.
      "rootDir": "./my-app",
      "ignore": [
        "node_modules",
        ".git",
        "firebase-debug.log",
        "firebase-debug.*.log",
        "functions",
      ],
    },
  ]
}

টেরাফর্ম ব্যবহার করে ডিপ্লয় করুন

বিল্ড প্রসেস এবং ডেপ্লয় করা এনভায়রনমেন্টের উপর যদি আপনার আরও বেশি নিয়ন্ত্রণের প্রয়োজন হয়, তবে আপনি টেরাফর্ম (Terraform) ব্যবহার করে ডেপ্লয় করতে পারেন। টেরাফর্ম আপনাকে ডিক্লারেটিভ কনফিগারেশন ফাইল ব্যবহার করে আপনার App Hosting রিসোর্সগুলো সংজ্ঞায়িত ও পরিচালনা করতে দেয় এবং আপনার সোর্স কোড থেকে বিল্ড করার জন্য App Hosting App Hosting হোস্টিং-এ আপনার নিজস্ব প্রি-বিল্ট কন্টেইনার ইমেজ ডেপ্লয় করার সুবিধা প্রদান করে।

আপনি যদি Terraform-এ নতুন হন, তাহলে “Get started with Terraform and Firebase ” দেখুন। আর যদি আপনি Terraform-এর সাথে আগে থেকেই পরিচিত হন, তাহলে নমুনা কনফিগারেশন ফাইল এবং অন্যান্য App Hosting রিসোর্স দিয়ে কাজ শুরু করতে পারেন।

CI/CD এর জন্য একটি GitHub সংযোগ স্থাপন করুন

Firebase কনসোলে কোনো ব্যাকএন্ডের সেটিংসের ডিপ্লয়মেন্ট ট্যাবে আপনি যেকোনো সময় একটি গিটহাব রিপোজিটরি সংযোগ করার বিকল্প পাবেন। এর মাধ্যমে আপনি একটি লোকাল এনভায়রনমেন্ট থেকে অ্যাপ প্রোটোটাইপ ডিপ্লয় করতে পারবেন এবং প্রস্তুত হলে একটি স্বয়ংক্রিয় CI/CD পাইপলাইনে স্থানান্তরিত হতে পারবেন।

এআই টুল ব্যবহার করে স্থাপন করুন

আমরা ২০২৭ সালের ২২শে মার্চ Firebase Studio বন্ধ করে দিচ্ছি । যদিও আপনার App Hosting ব্যাকএন্ডগুলো এতে প্রভাবিত হবে না, Firebase Studio এর ' পাবলিশ' বাটনটি সরিয়ে ফেলা হবে। আপনার URL পরিবর্তন না করে আপডেট প্রকাশ করা চালিয়ে যেতে, আপনার প্রজেক্টটি মাইগ্রেট করুন। কীভাবে মাইগ্রেট করবেন তা জানুন