আপনি একটি একক Firebase প্রকল্পে এক বা একাধিক Firebase Hosting সাইট সেট আপ করতে পারেন। যেহেতু সাইটগুলো সব একই ফায়ারবেস প্রোজেক্টে রয়েছে, তাই সব সাইট প্রজেক্টের অন্যান্য ফায়ারবেস রিসোর্স অ্যাক্সেস করতে পারে।
- প্রতিটি সাইটের নিজস্ব হোস্টিং কনফিগারেশন আছে।
- প্রতিটি সাইট তার নিজস্ব সামগ্রীর সংগ্রহ হোস্ট করে।
- প্রতিটি সাইটে এক বা একাধিক সংশ্লিষ্ট ডোমেন থাকতে পারে।
একই ফায়ারবেস প্রোজেক্টের মধ্যে একাধিক Hosting সাইট সেট আপ করার মাধ্যমে, আপনি আরও সহজে সম্পর্কিত সাইট এবং অ্যাপগুলির মধ্যে Firebase সংস্থানগুলি ভাগ করতে পারেন৷ উদাহরণস্বরূপ, যদি আপনি একই Firebase প্রকল্পে আপনার ব্লগ, অ্যাডমিন প্যানেল এবং সর্বজনীন অ্যাপকে পৃথক সাইট হিসাবে সেট আপ করেন, তবে তারা সবাই একই Firebase Authentication ব্যবহারকারী ডাটাবেস শেয়ার করতে পারে, পাশাপাশি তাদের নিজস্ব অনন্য ডোমেন বা বিষয়বস্তু থাকে।
ধাপ 1 : আপনার Firebase CLI সংস্করণ আপডেট করুন
Firebase CLI-এর সর্বশেষ সংস্করণে আপডেট করে সবচেয়ে বর্তমান Firebase Hosting বৈশিষ্ট্যগুলি অ্যাক্সেস করুন৷
ধাপ 2 : অতিরিক্ত সাইট যোগ করুন
নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করে একটি Firebase প্রকল্পে অতিরিক্ত সাইট যোগ করুন:
Firebase কনসোলের Hosting পৃষ্ঠায় ওয়ার্কফ্লো ব্যবহার করুন
Firebase CLI কমান্ড ব্যবহার করুন:
firebase hosting:sites:create SITE_ID
Hosting REST API ব্যবহার করুন:
projects.sites.create
এই পদ্ধতিগুলির প্রতিটির জন্য, আপনি একটি SITE_ID
নির্দিষ্ট করবেন যা সাইটের জন্য Firebase-বিধানযুক্ত ডিফল্ট সাবডোমেনগুলি তৈরি করতে ব্যবহৃত হয়:
-
SITE_ID .web.app
-
SITE_ID .firebaseapp.com
যেহেতু এই URLগুলির জন্য SITE_ID
ব্যবহার করা হয়, তাই সাইট আইডির নিম্নলিখিত প্রয়োজনীয়তা রয়েছে:
- একটি বৈধ হোস্টনাম লেবেল হতে হবে, যার অর্থ এটি ধারণ করতে পারে না
.
,_
, ইত্যাদি - 30 অক্ষর বা তার কম হতে হবে
- Firebase এর মধ্যে বিশ্বব্যাপী অনন্য হতে হবে
প্রতিটি সাইটে, আপনি একাধিক URL-এ একই সামগ্রী এবং কনফিগারেশন পরিবেশন করতে ঐচ্ছিকভাবে কাস্টম ডোমেন যোগ করতে পারেন।
একটি মাধ্যমিক সাইট মুছুন
নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করে ফায়ারবেস প্রকল্প থেকে অবাঞ্ছিত সাইটগুলি মুছুন:
Firebase কনসোলের Hosting পৃষ্ঠায় ওয়ার্কফ্লো ব্যবহার করুন
Firebase CLI কমান্ড ব্যবহার করুন:
firebase hosting:sites:delete SITE_ID
Hosting REST API ব্যবহার করুন:
projects.sites.delete
মনে রাখবেন যে আপনি ডিফল্ট সাইটটি মুছে ফেলতে পারবেন না, যেটির SITE_ID
আপনার ফায়ারবেস প্রজেক্ট আইডির মতই আছে।
ধাপ 3 : আপনার সাইটের জন্য স্থাপনার লক্ষ্য সেট আপ করুন
যখন আপনার একাধিক সাইট থাকে এবং আপনি Firebase CLI ডিপ্লোয় কমান্ড চালান, তখন CLI-এর যোগাযোগের একটি উপায় প্রয়োজন প্রতিটি সাইটে কোন সেটিংস স্থাপন করা উচিত। লক্ষ্য স্থাপনের মাধ্যমে আপনি আপনার firebase.json
কনফিগারেশন ফাইলে এবং আপনার সাইটে পরীক্ষা বা স্থাপনের জন্য আপনার Firebase CLI কমান্ডে একটি TARGET_NAME
সহ একটি নির্দিষ্ট সাইটকে অনন্যভাবে সনাক্ত করতে পারেন।
একটি স্থাপনার লক্ষ্য তৈরি করতে এবং একটি Hosting সাইটে একটি TARGET_NAME
প্রয়োগ করতে, আপনার প্রকল্প ডিরেক্টরির রুট থেকে নিম্নলিখিত CLI কমান্ডটি চালান:
firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER
যেখানে প্যারামিটারগুলি রয়েছে:
TARGET_NAME — আপনি যে Hosting সাইটে স্থাপন করছেন তার জন্য একটি অনন্য নাম (যেটি আপনি নিজেই সংজ্ঞায়িত করেছেন)
RESOURCE_IDENTIFIER — Hosting সাইটের জন্য
SITE_ID
আপনার ফায়ারবেস প্রকল্পে তালিকাভুক্ত
উদাহরণস্বরূপ, আপনি যদি আপনার Firebase প্রকল্পে দুটি সাইট ( myapp-blog
এবং myapp-app
) তৈরি করে থাকেন, তাহলে আপনি নিম্নলিখিত কমান্ডগুলি চালিয়ে প্রতিটি সাইটে একটি অনন্য TARGET_NAME
( blog
এবং app
, যথাক্রমে) প্রয়োগ করতে পারেন:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
লক্ষ্য স্থাপনের জন্য সেটিংস আপনার প্রকল্প ডিরেক্টরির .firebaserc
ফাইলে সংরক্ষণ করা হয়, তাই আপনাকে প্রতি প্রকল্পে একবারে লক্ষ্যমাত্রা স্থাপন করতে হবে।
ধাপ 4 : প্রতিটি সাইটের জন্য হোস্টিং কনফিগারেশন নির্ধারণ করুন
আপনি যখন আপনার firebase.json
ফাইলে এটির হোস্টিং কনফিগারেশন সংজ্ঞায়িত করছেন তখন একটি সাইটের প্রয়োগকৃত TARGET_NAME
ব্যবহার করুন৷
যদি আপনার
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 \ | একটি পূর্বরূপ URL-এ Hosting সামগ্রী এবং ডিফল্ট Hosting সাইটের কনফিগারেশন স্থাপন করে |
firebase hosting:channel:deploy \ | একটি পূর্বরূপ 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 সাইটের কনফিগারেশন পরিবেশন করে |