একাধিক সাইট জুড়ে প্রকল্পের সংস্থান ভাগ করুন

আপনি একটি একক ফায়ারবেস প্রকল্পে এক বা একাধিক ফায়ারবেস হোস্টিং সাইটগুলি সেট আপ করতে পারেন। যেহেতু সাইটগুলি একই ফায়ারবেস প্রকল্পে রয়েছে তাই সমস্ত সাইটগুলি প্রকল্পের অন্যান্য ফায়ারবেস সংস্থানগুলিতে অ্যাক্সেস করতে পারে।

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

পদক্ষেপ 1: আপনার Firebase CLI সংস্করণ আপডেটটিতে

অ্যাক্সেস সাম্প্রতিকতম Firebase দ্বারা বৈশিষ্ট্য হোস্টিং Firebase CLI এর সর্বশেষ সংস্করণে আপডেট

পদক্ষেপ 2: অতিরিক্ত বিজ্ঞাপন জুড়ুন

নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করে ফায়ারবেস প্রকল্পে অতিরিক্ত সাইট যুক্ত করুন:

  • মধ্যে কর্মপ্রবাহ ব্যবহার করুন হোস্টিং পৃষ্ঠা Firebase কনসোলের

  • Firebase CLI কমান্ড ব্যবহার করুন: firebase hosting:sites:create SITE_ID

  • হোস্টিং REST API ব্যবহার: projects.sites.create

এই পদ্ধতি প্রতিটি, আপনি একটি উল্লেখ করব SITE_ID যা সাইটের জন্য Firebase প্রভিশনড ডিফল্ট সাবডোমেন গঠনে ব্যবহৃত হয়:

  • SITE_ID .web.app
  • SITE_ID .firebaseapp.com

কারণ SITE_ID এই URL গুলি ব্যবহার করা হয়, সাইট আইডি নিম্নলিখিত প্রয়োজনীয়তা আছে:

  • একটি বৈধ হোস্টনাম ট্যাগ হওয়া আবশ্যক, যার অর্থ এটি থাকতে পারে না . , _ ইত্যাদি
  • 30 টি অক্ষর বা তার চেয়ে কম হওয়া উচিত
  • ফায়ারবেসের মধ্যে অবশ্যই বিশ্বব্যাপী অনন্য হতে হবে

প্রতিটি সাইটের জন্য, আপনি বিকল্প হিসাবে পারেন কাস্টম ডোমেন যুক্ত একাধিক URL গুলিতে একই বিষয়বস্তু ও কনফিগারেশন পরিবেশন করা।

একটি গৌণ সাইট মুছুন

ফায়ারবেস প্রকল্প থেকে নিম্নলিখিত একটি পদ্ধতি ব্যবহার করে অযাচিত সাইটগুলি মুছুন:

  • মধ্যে কর্মপ্রবাহ ব্যবহার করুন হোস্টিং পৃষ্ঠা Firebase কনসোলের

  • Firebase CLI কমান্ড ব্যবহার করুন: firebase hosting:sites:delete SITE_ID

  • হোস্টিং REST API ব্যবহার: projects.sites.delete

নোট আপনাকে ডিফল্ট সাইট, যা একই হয়েছে মুছে ফেলতে পারবেন না যে SITE_ID আপনার Firebase প্রকল্পের ID এর মতো।

ধাপ 3: আপনার সাইট এর জন্য স্থাপন লক্ষ্যমাত্রা সেট আপ করুন

যখন আপনার একাধিক সাইট রয়েছে এবং আপনি ফায়ারবেস সিএলআই কমান্ড মোতায়েন করেন তখন প্রতিটি সাইটে কোন সেটিংস স্থাপন করা উচিত সে সম্পর্কে যোগাযোগ করার জন্য সিআইএলিকে একটি উপায় প্রয়োজন। সঙ্গে প্রয়োগের লক্ষ্যমাত্রা আপনাকে আলাদা করে একটি একটি নির্দিষ্ট সাইটের চিহ্নিত করতে পারেন TARGET_NAME আপনার firebase.json কনফিগারেশন ফাইল এবং আপনার মধ্যে Firebase CLI কমান্ড পরীক্ষা করুন অথবা আপনার সাইটগুলি মোতায়েন জন্য।

একটি প্রয়োগের লক্ষ্য তৈরি এবং প্রয়োগ করতে TARGET_NAME একটি হোস্টিং সাইট থেকে, আপনার প্রকল্পের ডিরেক্টরি রুট থেকে নিম্নোক্ত CLI কমান্ড সঞ্চালন করুন:

firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER

প্যারামিটারগুলি যেখানে:

  • TARGET_NAME - একটি অনন্য নাম (যে আপনি নিজেকে সংজ্ঞায়িত করেছি) হোস্টিং আপনি যে সাইটে মোতায়েন সেটির

  • RESOURCE_IDENTIFIER - SITE_ID হোস্টিং সাইট আপনার Firebase প্রকল্পে তালিকাভুক্ত হিসেবে

উদাহরণস্বরূপ, যদি আপনি দুই সাইট (তৈরি করেছি myapp-blog এবং myapp-app আপনার Firebase প্রকল্পে), আপনি একটি অনন্য প্রয়োগ হতে পারে TARGET_NAME ( blog এবং app , যথাক্রমে) প্রতিটি সাইটের থেকে নিম্নলিখিত কমান্ড ব্যবহার:

firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app

প্রয়োগের লক্ষ্যমাত্রা জন্য সেটিংস সংরক্ষিত হয় .firebaserc , আপনার প্রকল্পের ডিরেক্টরির মধ্যে ফাইল যাতে আপনি শুধুমাত্র প্রয়োগের লক্ষ্যমাত্রা প্রকল্পের প্রতি এক সময় সেট করতে হবে।

ধাপ 4: প্রতিটি সাইটের জন্য হোস্টিং কনফিগারেশন নির্ধারণ

একটি সাইটের ফলিত ব্যবহার করুন TARGET_NAME যখন আপনি আপনার তার হোস্টিং কনফিগারেশন সংজ্ঞায়িত করছি firebase.json ফাইল।

  • আপনার যদি firebase.json ফাইলটিতে একাধিক সাইটের জন্য কনফিগারেশন সংজ্ঞায়িত, একটি বিন্যাস বিন্যাস ব্যবহার করুন:

    {
      "hosting": [ {
          "target": "blog",  // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog"
          "public": "blog/dist",  // contents of this folder are deployed to the site "myapp-blog"
    
          // ...
        },
        {
          "target": "app",  // "app" is the applied TARGET_NAME for the Hosting site "myapp-app"
          "public": "app/dist",  // contents of this folder are deployed to the site "myapp-app"
    
          // ...
    
          "rewrites": [...]  // You can define specific Hosting configurations for each site
        }
      ]
    }
    
  • আপনার যদি firebase.json ফাইলটি শুধুমাত্র একটি সাইট এর কনফিগারেশন সংজ্ঞায়িত, এটি একটি অ্যারে ফর্ম্যাট ব্যবহার করার প্রয়োজন নেই আছে:

    {
      "hosting": {
          "target": "blog",
          "public": "dist",
    
          // ...
    
          "rewrites": [...]
      }
    }
    

পদক্ষেপ 5: টেস্ট স্থানীয়ভাবে, প্রিভিউ, পরিবর্তন এবং আপনার সাইটগুলি প্রয়োগের

আপনার স্থানীয় প্রকল্প ডিরেক্টরিটির মূল থেকে নীচের যে কোনও কমান্ড চালান।

কমান্ড বর্ণনা
firebase emulators:start --only hosting একটি স্থানীয়ভাবে আয়োজিত URL- এ হোস্টিং বিষয়বস্তু এবং ডিফল্ট হোস্টিং সাইটের কনফিগারেশন অনুকরণ
firebase emulators:start --only hosting: TARGET_NAME স্থানীয়ভাবে হোস্ট করা ইউআরএলে হোস্টিং সামগ্রী এবং নির্দিষ্ট হোস্টিং সাইটের কনফিগারেশন ইমুলেট করে
firebase hosting:channel:deploy \
CHANNEL_ID
একটি প্রাকদর্শন URL- এ হোস্টিং বিষয়বস্তু এবং ডিফল্ট হোস্টিং সাইটের কনফিগারেশন স্থাপন
firebase hosting:channel:deploy \
CHANNEL_ID --only TARGET_NAME
একটি প্রাকদর্শন URL এ হোস্টিং সামগ্রী এবং নির্দিষ্ট হোস্টিং সাইটের কনফিগারেশন স্থাপন করে
firebase deploy --only hosting কনফিগার সব হোস্টিং সাইট লাইভ চ্যানেলে হোস্টিং বিষয়বস্তু ও কনফিগারেশন স্থাপন firebase.json
firebase deploy --only hosting: TARGET_NAME নির্দিষ্ট হোস্টিং সাইটের লাইভ চ্যানেলে হোস্টিং সামগ্রী এবং কনফিগারেশন স্থাপন করে
কমান্ড বর্ণনা
(প্রস্তাবিত নয়; ব্যবহার emulators:start পরিবর্তে)
firebase serve --only hosting
একটি স্থানীয়ভাবে আয়োজিত URL- এ হোস্টিং বিষয়বস্তু এবং ডিফল্ট হোস্টিং সাইটের কনফিগারেশন কাজ করে
(প্রস্তাবিত নয়; ব্যবহার emulators:start পরিবর্তে)
firebase serve --only hosting: TARGET_NAME
স্থানীয়ভাবে হোস্ট করা ইউআরএলে হোস্টিং সামগ্রী এবং নির্দিষ্ট হোস্টিং সাইটের কনফিগারেশন পরিবেশন করে