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

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

Firebase CLI-এর সাথে উৎস থেকে স্থাপন করুন

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

স্থাপনের সময়, App Hosting আপনার সোর্স কোডটি একটি Google ক্লাউড স্টোরেজ বাকেটে আপলোড করে, ক্লাউড বিল্ডে আপনার ফ্রেমওয়ার্ক বিল্ড কমান্ড চালায় এবং চূড়ান্ত আর্টিফ্যাক্টগুলি ক্লাউড রান এবং ক্লাউড সিডিএন-এ স্থাপন করে। App Hosting স্থানীয় উৎস স্থাপনের জন্য GitHub স্থাপনের মতো একই বিল্ড প্রক্রিয়া ব্যবহার করে। যদি আপনার প্রকল্পে একটি .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-এ নতুন হন, তাহলে "Terraform এবং Firebase দিয়ে শুরু করুন" দেখুন। যদি আপনি ইতিমধ্যেই Terraform-এর সাথে পরিচিত হন, তাহলে আপনি নমুনা কনফিগারেশন ফাইল এবং অন্যান্য App Hosting রিসোর্স দিয়ে শুরু করতে পারেন।

ফায়ারবেস স্টুডিও ব্যবহার করে স্থাপন করুন

যখন আপনি Firebase Studio তে অ্যাপ প্রোটোটাইপিং এজেন্ট দিয়ে একটি ওয়েব অ্যাপ তৈরি করেন, তখন আপনি Firebase Studio থেকে সরাসরি Firebase App Hosting এ প্রকাশ করতে বা স্থাপন করতে পারেন। অ্যাপ হোস্টিং দিয়ে আপনার অ্যাপ প্রকাশ করুন দেখুন।

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

আপনার কাছে Firebase কনসোলের ব্যাকএন্ড সেটিংসের Deployment ট্যাবে যেকোনো সময় একটি GitHub রিপোজিটরি সংযুক্ত করার বিকল্প রয়েছে। এটি আপনাকে Firebase Studio বা অন্য IDE এর মতো স্থানীয় পরিবেশ থেকে একটি অ্যাপ প্রোটোটাইপ স্থাপন করতে এবং তারপর যখন আপনি প্রস্তুত হবেন তখন একটি স্বয়ংক্রিয় CI/CD পাইপলাইনে স্থানান্তর করতে দেয়।