আপনার লাইভ সাইটে স্থাপন করার আগে, আপনি নিজের পরিবর্তনগুলি দেখতে এবং পরীক্ষা করতে চান। ফায়ারবেস হোস্টিং আপনাকে স্থানীয়ভাবে পরিবর্তনগুলি দেখতে এবং পরীক্ষা করতে এবং এমুলেটেড ব্যাকএন্ড প্রকল্পের সংস্থানগুলির সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে। আপনার পরিবর্তনগুলি দেখতে ও পরীক্ষা করার জন্য যদি আপনার সতীর্থের প্রয়োজন হয় তবে হোস্টিং আপনার সাইটের জন্য ভাগযোগ্য, অস্থায়ী পূর্বরূপ URL তৈরি করতে পারে। এমনকি একটি টানা অনুরোধ থেকে মোতায়েনের জন্য আমরা গিটহাব ইন্টিগ্রেশনকে সমর্থন করি।
তুমি শুরু করার আগে
হোস্টিং শুরু করুন পৃষ্ঠায় তালিকাবদ্ধ পদক্ষেপগুলি সম্পূর্ণ করুন, বিশেষত নিম্নলিখিত কার্যগুলি:
- ফায়ারবেস সিএলআই এর সর্বশেষ সংস্করণে ইনস্টল বা আপডেট করুন।
- স্থানীয় ফায়ারবেস প্রকল্পের সাথে স্থানীয় প্রকল্প ডিরেক্টরিটি (আপনার অ্যাপের সামগ্রী সহ) সংযুক্ত করুন।
আপনি appচ্ছিকভাবে আপনার অ্যাপের হোস্টিং সামগ্রী এবং কনফিগার স্থাপন করতে পারেন, তবে এই পৃষ্ঠার পদক্ষেপগুলির জন্য এটি পূর্বশর্ত নয়।
পদক্ষেপ 1: স্থানীয়ভাবে পরীক্ষা করুন
যদি আপনি দ্রুত পুনরাবৃত্তি করেন বা আপনি চান যে আপনার অ্যাপটি অনুকরণযুক্ত ব্যাকএন্ড প্রকল্পের উত্সগুলির সাথে ইন্টারঅ্যাক্ট করতে পারে, আপনি স্থানীয়ভাবে হোস্টিং সামগ্রী এবং কনফিগার করতে পারেন। স্থানীয়ভাবে পরীক্ষা করার সময়, ফায়ারবেস আপনার ওয়েব অ্যাপ্লিকেশনটি স্থানীয়ভাবে হোস্ট করা URL এ পরিবেশন করে।
হোস্টিং ফায়ারবেস লোকাল এমুলেটর স্যুটের অংশ , যা আপনার অ্যাপ্লিকেশনটিকে আপনার অনুকরণযুক্ত হোস্টিং সামগ্রী এবং কনফিগারেশনের পাশাপাশি বিকল্পভাবে আপনার এমুলেটেড প্রকল্পের সংস্থানগুলি (ফাংশন, ডাটাবেস এবং নিয়ম) সক্ষম করে। মনে রাখবেন যে স্থানীয় এমুলেটর স্যুট এখনও এমুলেটেড ক্লাউড স্টোরেজ সমর্থন করে না।
(Alচ্ছিক) ডিফল্টরূপে, আপনার স্থানীয়ভাবে হোস্ট করা অ্যাপটি বাস্তব , অনুকরণীয় নয়, প্রকল্পের সংস্থানগুলি (ফাংশন, ডাটাবেস, নিয়ম, ইত্যাদি) এর সাথে ইন্টারঅ্যাক্ট করবে। আপনি পরিবর্তে আপনার কনফিগার করা যে কোনও এমুলেড প্রকল্প সংস্থান ব্যবহার করতে আপনার অ্যাপ্লিকেশনটি বিকল্পভাবে সংযুক্ত করতে পারেন। আরও জানুন: রিয়েলটাইম ডেটাবেস | মেঘ ফায়ারস্টোর | মেঘ ফাংশন
আপনার স্থানীয় প্রকল্প ডিরেক্টরিটির মূল থেকে নিম্নলিখিত কমান্ডটি চালান:
firebase emulators:start
স্থানীয় ইউআরএল থেকে সিএলআই দ্বারা ফিরে আপনার ওয়েব অ্যাপ্লিকেশনটি খুলুন (সাধারণত
http://localhost:5000
)।পরিবর্তনগুলি সহ স্থানীয় URL আপডেট করতে, আপনার ব্রাউজারটি রিফ্রেশ করুন।
অন্যান্য স্থানীয় ডিভাইস থেকে পরীক্ষা করুন
ডিফল্টরূপে, অনুকরণকারীরা কেবল localhost
অনুরোধগুলিতে সাড়া দেয়। এর অর্থ হ'ল আপনি আপনার কম্পিউটারের ওয়েব ব্রাউজার থেকে আপনার হোস্ট করা সামগ্রীতে অ্যাক্সেস করতে সক্ষম হবেন তবে আপনার নেটওয়ার্কের অন্যান্য ডিভাইস থেকে নয়। আপনি যদি অন্য স্থানীয় ডিভাইসগুলি থেকে পরীক্ষা করতে চান তবে আপনার firebase.json
মতো কনফিগার করুন:
"emulators": {
// ...
"hosting": {
"port": 5000
"host": "0.0.0.0"
}
}
firebase serve
ব্যবহার firebase serve
, আপনার অ্যাপ্লিকেশনটি আপনার হোস্টিং সামগ্রী এবং কনফিগারেশনের (এবং firebase serve
ফাংশনগুলি) তবে অন্য সমস্ত প্রকল্পের সংস্থার জন্য আপনার আসল ব্যাকএন্ডের জন্য একটি অনুকরণযুক্ত ব্যাকএন্ডের সাথে যোগাযোগ করে।
আপনার স্থানীয় প্রকল্প ডিরেক্টরিটির মূল থেকে নিম্নলিখিত কমান্ডটি চালান:
firebase serve --only hosting
স্থানীয় ইউআরএল থেকে সিএলআই দ্বারা ফিরে আপনার ওয়েব অ্যাপ্লিকেশনটি খুলুন (সাধারণত
http://localhost:5000
)।পরিবর্তনগুলি সহ স্থানীয় URL আপডেট করতে, আপনার ব্রাউজারটি রিফ্রেশ করুন।
অন্যান্য স্থানীয় ডিভাইস থেকে পরীক্ষা firebase serve
ব্যবহার করুন
ডিফল্টরূপে, firebase serve
কেবল localhost
অনুরোধগুলিতে সাড়া দেয়। এর অর্থ হ'ল আপনি আপনার কম্পিউটারের ওয়েব ব্রাউজার থেকে আপনার হোস্ট করা সামগ্রীতে অ্যাক্সেস করতে সক্ষম হবেন তবে আপনার নেটওয়ার্কের অন্যান্য ডিভাইস থেকে নয়। আপনি যদি অন্য স্থানীয় ডিভাইস থেকে পরীক্ষা করতে চান তবে - --host
পতাকাটি ব্যবহার করুন:
firebase serve --host 0.0.0.0 // accepts requests to any host
পদক্ষেপ 2: পূর্বরূপ দেখুন এবং ভাগ করুন
আপনি যদি লাইভে যাওয়ার আগে অন্যরা আপনার ওয়েব অ্যাপ্লিকেশনটিতে পরিবর্তন দেখতে চান তবে আপনি পূর্বরূপ চ্যানেলগুলি ব্যবহার করতে পারেন।
আপনি পূর্বরূপ চ্যানেলে মোতায়েনের পরে, ফায়ারবেস আপনার ওয়েব অ্যাপ্লিকেশনটিকে একটি "পূর্বরূপ URL" এ পরিবেশন করে, যা একটি শেয়ারযোগ্য, অস্থায়ী URL। পূর্বরূপ URL ব্যবহার করার সময়, আপনার ওয়েব অ্যাপ্লিকেশন সমস্ত প্রকল্পের সংস্থার জন্য আপনার আসল ব্যাকএন্ডের সাথে ইন্টারঅ্যাক্ট করে।
মনে রাখবেন যে পূর্বরূপ URL গুলি অনুমান করা কঠিন (যদিও এগুলিতে একটি এলোমেলো হ্যাশ রয়েছে) তবে সেগুলি সর্বজনীন। সুতরাং, যে কেউ ইউআরএল জানে সে এটি অ্যাক্সেস করতে পারে।
আপনার স্থানীয় প্রকল্প ডিরেক্টরিটির মূল থেকে নিম্নলিখিত কমান্ডটি চালান:
firebase hosting:channel:deploy CHANNEL_ID
শূন্যস্থান ছাড়াই একটি স্ট্রিং দিয়ে CHANNEL_ID প্রতিস্থাপন করুন (উদাহরণস্বরূপ,
feature_mission-2-mars
)। এই আইডিটি পূর্বরূপ চ্যানেলের সাথে যুক্ত পূর্বরূপ URL তৈরি করতে ব্যবহৃত হবে।আপনার ওয়েব অ্যাপ্লিকেশনটি খুলুন পূর্বরূপ URL এ সি এল এল দ্বারা প্রত্যাবর্তিত। এটি এর মতো কিছু দেখতে পাবেন:
PROJECT_ID -- CHANNEL_ID - RANDOM_HASH .web.app
পরিবর্তনগুলি সহ আপনার পূর্বরূপ URL আপডেট করতে, আবার একই আদেশটি চালান। কমান্ডে একই
CHANNEL_ID
নির্দিষ্ট করা নিশ্চিত করুন।
চ্যানেলের মেয়াদোত্তীর্ণকরণের মেয়াদ নির্ধারণের পদ্ধতি সহ পূর্বরূপ চ্যানেলগুলি পরিচালনা করার বিষয়ে জানুন।
ফায়ারবেস হোস্টিং একটি গিটহাব অ্যাকশন সমর্থন করে যা স্বয়ংক্রিয়ভাবে একটি পূর্বরূপ URL তৈরি করে এবং আপডেট করে যখন আপনি একটি টানার অনুরোধে পরিবর্তনগুলি করেন। কীভাবে এই গিটহাব অ্যাকশনটি সেট আপ এবং ব্যবহার করতে হয় তা শিখুন।
পদক্ষেপ 3: লাইভ মোতায়েন করুন
আপনি যখন এই পরিবর্তনগুলি বিশ্বের সাথে ভাগ করে নিতে প্রস্তুত হন, আপনার হোস্টিং সামগ্রী এবং আপনার লাইভ চ্যানেলে কনফিগার করুন। আপনার ব্যবহারের ক্ষেত্রে (নীচের বিকল্পগুলি দেখুন) উপর নির্ভর করে ফায়ারবেস এই পদক্ষেপের জন্য কয়েকটি বিভিন্ন বিকল্প প্রস্তাব করে।
বিকল্প 1: একটি প্রাকদর্শন চ্যানেল থেকে আপনার লাইভ চ্যানেলে ক্লোন করুন
এই বিকল্পটি আত্মবিশ্বাস দেয় যে আপনি আপনার লাইভ চ্যানেলে নিখরচায় সঠিক সামগ্রী এবং কনফিগার করে যা আপনি পূর্বরূপ চ্যানেলে পরীক্ষা করেছেন। ক্লোনিং সংস্করণ সম্পর্কে আরও জানুন।
যে কোনও ডিরেক্টরি থেকে নিম্নলিখিত কমান্ডটি চালান:
firebase hosting:clone SOURCE_SITE:SOURCE_CHANNEL_ID TARGET_SITE:live
নিম্নলিখিত সহ প্রতিটি স্থানধারককে প্রতিস্থাপন করুন:
SOURCE_SITE এবং TARGET_SITE : এই চ্যানেলগুলি ধারণ করে এমন হোস্টিং সাইটের নাম।
- আপনার ডিফল্ট হোস্টিং সাইটের জন্য, আপনার ফায়ারবেস প্রকল্প আইডি ব্যবহার করুন।
- আপনি একই সাইটগুলি নির্দিষ্ট ফায়ারবেস প্রকল্পে বা এমনকি বিভিন্ন ফায়ারবেস প্রকল্পগুলিতে নির্দিষ্ট করতে পারেন।
SOURCE_CHANNEL_ID : এটি বর্তমানে আপনার লাইভ চ্যানেলে মোতায়েন করতে চান এমন সংস্করণটি সরবরাহ করছে এমন চ্যানেলের সনাক্তকারী।
- লাইভ চ্যানেলের জন্য, চ্যানেল আইডি হিসাবে
live
ব্যবহার করুন।
- লাইভ চ্যানেলের জন্য, চ্যানেল আইডি হিসাবে
আপনার পরিবর্তনগুলি (পরবর্তী পদক্ষেপ) দেখুন।
বিকল্প 2: আপনার স্থানীয় প্রকল্প ডিরেক্টরি থেকে আপনার লাইভ চ্যানেলে মোতায়েন করুন
এই বিকল্পটি আপনাকে লাইভ চ্যানেলের সাথে নির্দিষ্ট কনফিগারেশনগুলিকে সামঞ্জস্য করতে বা প্রাকদর্শন চ্যানেল ব্যবহার না করে থাকলেও স্থাপনার জন্য নমনীয়তা সরবরাহ করে।
আপনার স্থানীয় প্রকল্প ডিরেক্টরিটির মূল থেকে নিম্নলিখিত কমান্ডটি চালান:
firebase deploy --only hosting
আপনার পরিবর্তনগুলি (পরবর্তী পদক্ষেপ) দেখুন।
পদক্ষেপ 4: আপনার লাইভ সাইটে আপনার পরিবর্তনগুলি দেখুন
উপরের দুটি অপশনই আপনার হোস্টিং সামগ্রী এবং নীচের সাইটগুলিতে কনফিগার স্থাপন করে:
আপনার ডিফল্ট হোস্টিং সাইট এবং কোনও অতিরিক্ত হোস্টিং সাইটগুলির জন্য ফায়ারবেস-সরবরাহিত সাবডোমেনগুলি:
SITE_NAME .web.app
(যেমনPROJECT_ID .web.app
)
SITE_NAME .firebaseapp.com
(যেমনPROJECT_ID .firebaseapp.com
)আপনার হোস্টিং সাইটের সাথে সংযুক্ত যে কোনও কাস্টম ডোমেন
নির্দিষ্ট হোস্টিং সাইটে মোতায়েনের সীমাবদ্ধ করতে, আপনার সিএলআই কমান্ডে একটি মোতায়েনের লক্ষ্য নির্দিষ্ট করুন ।
অন্যান্য কার্যকলাপ এবং তথ্য মোতায়েন
মোতায়েন করার জন্য একটি মন্তব্য যুক্ত করুন
আপনি optionচ্ছিকভাবে একটি মোতায়েন করতে একটি মন্তব্য যোগ করতে পারেন। এই মন্তব্যটি ফায়ারবেস কনসোলে হোস্টিং ড্যাশবোর্ডের অন্যান্য স্থাপনার তথ্য সহ প্রদর্শিত হবে। উদাহরণ স্বরূপ:
firebase deploy --only hosting -m "Deploying the best new feature ever."
প্রিপপ্লয় এবং পোস্টডেপ্লয় স্ক্রিপ্টড কার্যগুলি যুক্ত করুন
পূর্বনির্ধারিত বা পোস্টডপ্লাইয়ের কার্য সম্পাদন করতে আপনি শেল স্ক্রিপ্টগুলি ফায়ারবেস firebase deploy
কমান্ডের সাথে সংযুক্ত করতে পারেন। উদাহরণস্বরূপ, একটি পোস্টডপ্লাই হুক নতুন সাইটের সামগ্রী মোতায়েনের প্রশাসকদেরকে অবহিত করতে পারে। আরও তথ্যের জন্য ফায়ারবেস সিএলআই ডকুমেন্টেশন দেখুন।
মোটা কন্টেন্ট ক্যাচিং
স্থির সামগ্রীর জন্য যখন একটি অনুরোধ করা হয়, ফায়ারবেস হোস্টিং স্বয়ংক্রিয়ভাবে সিডিএন-তে সামগ্রীটিকে ক্যাশে করে। আপনি যদি আপনার সাইটের সামগ্রী পুনরায় প্রচার করেন তবে ফায়ারবেস স্বয়ংক্রিয়ভাবে আপনার সমস্ত ক্যাশেড স্ট্যাটিক সামগ্রী সিডিএন জুড়ে সাফ করে দেয় যাতে নতুন অনুরোধগুলি আপনার নতুন সামগ্রী পেতে পারে।
নোট করুন যে আপনি গতিশীল সামগ্রীর ক্যাচিং কনফিগার করতে পারেন।
এইচটিটিপিএসের মাধ্যমে পরিবেশন করা হচ্ছে
ফায়ারবেস হোস্টিং-এ হোস্ট করা নেই এমন সমস্ত বাহ্যিক সংস্থানগুলি কোনও বাহ্যিক স্ক্রিপ্ট সহ এসএসএল (এইচটিটিপিএস) এর উপর লোড হয়েছে কিনা তা নিশ্চিত করুন। বেশিরভাগ ব্রাউজার ব্যবহারকারীদের "মিশ্র সামগ্রী" (এসএসএল এবং নন-এসএসএল ট্র্যাফিক) লোড করতে দেয় না।
পরবর্তী পদক্ষেপ
গিটহাবের সাথে সংহত করুন এবং গিটহাব অ্যাকশন সেট আপ করে আপনার পূর্বরূপিত সামগ্রী পুনরাবৃত্তি করুন।
আরও হোস্টিং ক্ষমতা সম্পর্কে জানুন:
ফায়ারবেস সিএলআইয়ের সম্পূর্ণ ডকুমেন্টেশন একবার দেখুন।
আপনার অ্যাপ্লিকেশন চালু করতে প্রস্তুত:
- গুগল ক্লাউড কনসোলে আপনার প্রকল্পের জন্য বাজেট সতর্কতা সেট আপ করুন।
- ফায়ারবেস কনসোলে আপনার ব্যবহার এবং বিলিংয়ের ড্যাশবোর্ড পর্যবেক্ষণ করুন। আপনি আপনার হোস্টিং ব্যবহারের ড্যাশবোর্ডও পর্যবেক্ষণ করতে পারেন।
- ফায়ারবেস লঞ্চ চেকলিস্টটি পর্যালোচনা করুন।