ডিপ্লয় টার্গেট হল Firebase প্রোজেক্টের Firebase রিসোর্সের জন্য ছোট নামের শনাক্তকারী (যা আপনি নিজেই নির্ধারণ করেন), যেমন অনন্য স্ট্যাটিক অ্যাসেট সহ Hosting সাইট বা একই নিরাপত্তা নিয়ম শেয়ার করে এমন Realtime Database ইনস্ট্যান্সের গ্রুপ।
আপনার কাছে একাধিক Hosting সাইট, একাধিক Cloud Storage বাকেট অথবা একাধিক Realtime Database ইনস্ট্যান্স থাকলে, ডিপ্লয় টার্গেট সহায়ক হয়। ডিপ্লয় টার্গেটের মাধ্যমে, Firebase CLI আপনার প্রোজেক্টের নির্দিষ্ট Firebase রিসোর্স বা রিসোর্সের গ্রুপে সেটিংস ডিপ্লয় করতে পারে, যেমন:
- আপনার প্রতিটি Hosting সাইটের জন্য হোস্টিং কনফিগারেশন
- আপনার প্রতিটি Hosting সাইটের জন্য আপনার প্রোজেক্ট ডিরেক্টরি থেকে স্ট্যাটিক অ্যাসেট
- একাধিক Realtime Database ইনস্ট্যান্স বা একাধিক Cloud Storage বাকেটের শেয়ার করা নিরাপত্তা সংক্রান্ত নিয়ম
ডেপ্লয় টার্গেট সেট-আপ করতে:
- টার্গেট করা Firebase
রিসোর্স বা Firebase রিসোর্সের গ্রুপে
TARGET_NAMEপ্রয়োগ করুন। - প্রতিটি রিসোর্স বা রিসোর্সের গ্রুপের জন্য সেটিংস কনফিগার করার সময়,
সম্পর্কিত
TARGET_NAMEআপনারfirebase.jsonফাইলে রেফারেন্স দিন।
আপনি Firebase CLI কমান্ড (যেমন
firebase deploy) রান করালে, Firebase CLI প্রতিটি TARGET_NAME-কে এর সাথে
সম্পর্কিত Firebase রিসোর্সের সাথে পেয়ার করে। তারপর CLI, প্রতিটি রিসোর্সের সেটিংস সম্পর্কে আপনার Firebase
প্রজেক্টের সাথে যোগাযোগ করে।
আপনার Firebase রিসোর্সের জন্য ডেপ্লয় টার্গেট সেট-আপ করা
Firebase CLI ব্যবহার করে, Firebase রিসোর্স বা Firebase রিসোর্সের গ্রুপে TARGET_NAME (স্বল্প-নাম শনাক্তকারী যা
আপনি নিজেই নির্ধারণ করেন) প্রয়োগ করুন।
Firebase এগুলির জন্য ডেপ্লয় টার্গেট কাজ করে:
- Firebase Hosting সাইট
- Cloud Storage for Firebase স্টোরেজ বাকেট
- Firebase Realtime Database ইনস্ট্যান্স
ডেপ্লয় টার্গেটের সেটিংস আপনার
প্রজেক্ট ডিরেক্টরিতে .firebaserc ফাইলে স্টোর করা থাকে, তাই আপনাকে প্রতি
প্রজেক্টে একবারই ডেপ্লয় টার্গেট সেট-আপ করতে হবে।
Hosting-এর জন্য ডিপ্লয় টার্গেট সেট-আপ করা
ডেপ্লয় টার্গেট তৈরি করতে এবং Hosting সাইটে TARGET_NAME প্রয়োগ করতে, নিম্নলিখিত CLI কমান্ড
রান করান:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
প্যারামিটারগুলি হল:
TYPE — প্রাসঙ্গিক Firebase রিসোর্সের ধরন
- Firebase Hosting সাইটের জন্য,
hostingব্যবহার করুন।
- Firebase Hosting সাইটের জন্য,
TARGET_NAME — Hosting সাইটের অনন্য নাম যেখানে আপনি ডেপ্লয় করছেন
RESOURCE_IDENTIFIER —
SITE_ID-এর জন্য Hosting সাইট আপনার Firebase প্রোজেক্টে তালিকাভুক্ত করা হয়েছে
যেমন, আপনার Firebase প্রোজেক্টে দুটি সাইট তৈরি
(myapp-blog ও myapp-app) করে থাকলে, আপনি নিম্নলিখিত কমান্ড চালিয়ে প্রতিটি সাইটে
একটি করে অনন্য TARGET_NAME (যথাক্রমে blog ও app) প্রয়োগ করতে পারবেন:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
Cloud Storage বা Realtime Database-এর জন্য ডিপ্লয় টার্গেট সেট-আপ করা
ডেপ্লয় টার্গেট তৈরি করতে এবং একগুচ্ছ TARGET_NAMECloud Storage বা Realtime Database রিসোর্সে প্রয়োগ করতে, নিম্নলিখিত CLI
কমান্ড রান করুন:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
প্যারামিটারগুলি হল:
TYPE — প্রাসঙ্গিক Firebase রিসোর্সের ধরন
- Cloud Storage বাকেটের জন্য,
storageব্যবহার করুন। - Realtime Database ইনস্ট্যান্সের জন্য,
databaseব্যবহার করুন।
- Cloud Storage বাকেটের জন্য,
TARGET_NAME — রিসোর্স বা রিসোর্সের গ্রুপের অনন্য নাম যেগুলি নিরাপত্তা সংক্রান্ত নিয়ম শেয়ার করে
RESOURCE_IDENTIFIER — রিসোর্সের শনাক্তকারী যা আপনার Firebase প্রোজেক্টে তালিকাভুক্ত করা আছে (যেমন স্টোরেজ বাকেটের নাম বা ডেটাবেস ইনস্ট্যান্স আইডি) যেগুলি একই নিরাপত্তা সংক্রান্ত নিয়ম শেয়ার করে
যেমন, আপনি নিম্নলিখিত কমান্ড চালিয়ে
তিনটি আঞ্চলিক Cloud Storage বাকেটের (যেগুলি একই নিরাপত্তা সংক্রান্ত নিয়ম শেয়ার করে)
গ্রুপে main-এর TARGET_NAME প্রয়োগ করতে পারেন:
firebase target:apply storage main myproject.firebasestorage.app myproject-eu myproject-ja
মনে রাখবেন, myproject.firebasestorage.app হল ডিফল্ট
বাকেটের শনাক্তকারী, যেখানে myproject-eu ও myproject-ja হল Firebase প্রোজেক্টে তৈরি করা দুটি অতিরিক্ত
বাকেট।
ডিপ্লয় টার্গেট ব্যবহার করতে আপনার firebase.json ফাইল কনফিগার করা
Firebase রিসোর্সের জন্য ডিপ্লয় টার্গেট সেট-আপ করার পরে, প্রতিটি
প্রয়োগ করা TARGET_NAME-এর রেফারেন্স আপনার
firebase.json কনফিগারেশন ফাইলে দিন:
- প্রতিটি Firebase রিসোর্সের জন্য কনফিগারেশন অবজেক্টের একটি অ্যারে তৈরি করুন
TYPE(hosting,storage, বাdatabase)। - অ্যারেতে,
targetনির্দিষ্ট করুন (TARGET_NAMEব্যবহার করে) এবং সংশ্লিষ্ট Firebase রিসোর্স বা রিসোর্সের গ্রুপের জন্য আপনার সেটিংস নির্ধারণ করুন।
উপরে দেওয়া উদাহরণ অনুযায়ী, আপনার Firebase প্রোজেক্টে দুটি
Hosting সাইট ও তিনটি Cloud Storage বাকেট (যেগুলি একই
সুরক্ষা সংক্রান্ত নিয়ম শেয়ার করে) থাকলে, আপনার 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
}
]
}
{
"storage": [ {
"target": "main", // "main" is the applied TARGET_NAME for the group of Cloud Storage buckets
"rules": "storage.main.rules" // the file that contains the shared security rules
}
]
}আপনার রিসোর্সের জন্য একাধিক কনফিগারেশন থাকলে, আপনি একাধিক
ডেপ্লয় টার্গেট তৈরি করতে এবং firebase.json ফাইলে প্রতিটি নির্দিষ্ট করতে পারবেন। আপনি firebase deploy চালালে, সংশ্লিষ্ট
সব রিসোর্স একসাথে ডেপ্লয় করা হবে।
ডেপ্লয় টার্গেট ম্যানেজ করা
ডেপ্লয় টার্গেটের সেটিংস আপনার প্রোজেক্ট ডিরেক্টরির .firebaserc ফাইলে
স্টোর করা থাকে। আপনার প্রোজেক্ট ডিরেক্টরির রুট থেকে নিম্নলিখিত কমান্ডগুলির
যেকোনও একটি চালিয়ে আপনার প্রোজেক্টের ডিপ্লয় টার্গেট ম্যানেজ করতে পারবেন।
| কমান্ড | বিবরণ |
|---|---|
firebase target
|
আপনার বর্তমান প্রোজেক্ট ডিরেক্টরির জন্য ডিপ্লয় টার্গেট তালিকাভুক্ত করে |
firebase target:remove \
|
যে টার্গেটে রিসোর্স অ্যাসাইন করা হয়েছে সেটি থেকে সরিয়ে দেয় |
firebase target:clear \
|
নির্দিষ্ট করা টার্গেট থেকে সব রিসোর্স বা Hosting সাইট সরিয়ে দেয় |
target:remove এবং target:clear কমান্ড আপনার প্রোজেক্ট ডিরেক্টরিতে .firebaserc ফাইলে অটোমেটিক ডেপ্লয়
টার্গেট সেটিংস আপডেট করে।
ডেপ্লয় করার আগে লোকালি পরীক্ষা করা
আপনার প্রজেক্ট ডিরেক্টরির রুট থেকে নিম্নলিখিত কমান্ডগুলির মধ্যে যেকোনও একটি রান করুন।
| কমান্ড | বিবরণ |
|---|---|
firebase emulators:start
|
আপনার প্রোজেক্টের ডিরেক্টরিতে কনফিগার করা সব রিসোর্স এমুলেট করে |
firebase emulators:start \ |
শুধুমাত্র নির্দিষ্ট করা Hosting সাইটের কন্টেন্ট ও কনফিগারেশন Hosting এমুলেট করে |
firebase emulators:start \
|
নির্দিষ্ট Cloud Storage টার্গেটের জন্য শুধুমাত্র নিয়ম ফাইল এমুলেট করে |
firebase emulators:start \
|
নির্দিষ্ট Realtime Database টার্গেটের জন্য শুধুমাত্র নিয়ম ফাইল এমুলেট করে |
Firebase Local Emulator Suite কনফিগার করা ও ব্যবহার করা সম্পর্কে আরও জানুন।
নির্দিষ্ট Firebase রিসোর্স ডিপ্লয় করা
আপনার প্রজেক্ট ডিরেক্টরির রুট থেকে নিম্নলিখিত কমান্ডগুলির মধ্যে যেকোনও একটি রান করুন।
| কমান্ড | বিবরণ |
|---|---|
firebase deploy
|
আপনার প্রোজেক্টের ডিরেক্টরিতে সব ডিপ্লয় করা যায় এমন রিসোর্সের রিলিজ তৈরি করে ডিরেক্টরি |
firebase deploy \
|
সাইটের জন্য লাইভ চ্যানেলে শুধু নির্দিষ্ট Hosting সাইটের কন্টেন্ট ও কনফিগারেশন Hosting ডিপ্লয় করে |
firebase hosting:channel:deploy CHANNEL_ID \ |
সাইটের জন্য নির্দিষ্ট করা Hosting সাইটের শুধুমাত্র কন্টেন্ট ও কনফিগারেশন প্রিভিউ চ্যানেলে Hostingডেপ্লয় করে |
firebase deploy \
|
শুধুমাত্র নির্দিষ্ট Cloud Storage টার্গেটের জন্য নিয়ম ফাইল ডেপ্লয় করে |
firebase deploy \
|
নির্দিষ্ট Realtime Database টার্গেটের জন্য শুধুমাত্র নিয়ম ফাইল ডেপ্লয় করে |