একাধিক সাইট জুড়ে প্রকল্প সম্পদ শেয়ার করুন

You can set up one or more Firebase Hosting sites in a single Firebase project. Since the sites are all in the same Firebase project, all the sites can access the other Firebase resources of the project.

By setting up multiple Hosting sites within the same Firebase project, you can more easily share Firebase resources between related sites and apps. For example, if you set up your blog, admin panel, and public app as individual sites in the same Firebase project, they can all share the same Firebase Authentication user database, while also having their own unique domains or content.

Step 1 : Update your Firebase CLI version

Firebase CLI-এর সর্বশেষ সংস্করণে আপডেট করে সবচেয়ে বর্তমান Firebase Hosting বৈশিষ্ট্যগুলি অ্যাক্সেস করুন৷

Step 2 : Add additional sites

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

  • Use the workflow in the Hosting page of the Firebase console

  • Use the Firebase CLI command: firebase hosting:sites:create SITE_ID

  • Use the Hosting REST API: projects.sites.create

এই পদ্ধতিগুলির প্রতিটির জন্য, আপনি একটি SITE_ID নির্দিষ্ট করবেন যা সাইটের জন্য Firebase-বিধানযুক্ত ডিফল্ট সাবডোমেনগুলি তৈরি করতে ব্যবহৃত হয়:

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

Because the SITE_ID is used for these URLs, the site ID has the following requirements:

  • Must be a valid hostname label, meaning it cannot contain . , _ , ইত্যাদি
  • Must be 30 characters or fewer
  • Must be globally unique within Firebase

To each site, you can also optionally add custom domains to serve the same content and configuration to multiple URLs.

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

Delete unwanted sites from a Firebase project using one of the following methods:

  • Use the workflow in the Hosting page of the Firebase console

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

  • Hosting REST API ব্যবহার করুন: projects.sites.delete

Note that you cannot delete the default site, which has the same SITE_ID as your Firebase project ID.

Step 3 : Set up deploy targets for your sites

When you have multiple sites and you run Firebase CLI deploy commands, the CLI needs a way to communicate which settings should be deployed to each site. With deploy targets you can uniquely identify a specific site with a TARGET_NAME in your firebase.json configuration file and in your Firebase CLI commands for testing or deploying to your sites.

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

firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER

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

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

  • RESOURCE_IDENTIFIER — the SITE_ID for the Hosting site as listed in your Firebase project

For example, if you've created two sites ( myapp-blog and myapp-app ) in your Firebase project, you could apply a unique TARGET_NAME ( blog and app , respectively) to each site by running the following commands:

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

The settings for deploy targets are stored in the .firebaserc file in your project directory, so you only need to set up deploy targets one time per project.

Step 4 : Define the hosting configuration for each site

Use a site's applied TARGET_NAME when you're defining its hosting configuration in your firebase.json file.

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