স্থানীয়ভাবে আপনার ওয়েব অ্যাপ পরীক্ষা করুন, অন্যদের সাথে পরিবর্তনগুলি ভাগ করুন, তারপর লাইভ স্থাপন করুন

আপনার লাইভ সাইটে স্থাপন করার আগে, আপনি আপনার পরিবর্তনগুলি দেখতে এবং পরীক্ষা করতে চাইবেন৷ Firebase Hosting আপনাকে স্থানীয়ভাবে পরিবর্তনগুলি দেখতে এবং পরীক্ষা করতে এবং অনুকরণ করা ব্যাকএন্ড প্রকল্প সংস্থানগুলির সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে৷ আপনার পরিবর্তনগুলি দেখতে এবং পরীক্ষা করার জন্য যদি আপনার সতীর্থদের প্রয়োজন হয়, Hosting আপনার সাইটের জন্য শেয়ারযোগ্য, অস্থায়ী পূর্বরূপ URL তৈরি করতে পারে৷ এমনকি আমরা একটি পুল অনুরোধ থেকে স্থাপন করার জন্য একটি GitHub ইন্টিগ্রেশন সমর্থন করি।

আপনি শুরু করার আগে

Hosting শুরু করুন পৃষ্ঠায় তালিকাভুক্ত পদক্ষেপগুলি সম্পূর্ণ করুন, বিশেষ করে নিম্নলিখিত কাজগুলি:

  1. Firebase CLI এর সর্বশেষ সংস্করণে ইনস্টল বা আপডেট করুন।
  2. আপনার ফায়ারবেস প্রোজেক্টে স্থানীয় প্রজেক্ট ডিরেক্টরি (আপনার অ্যাপের বিষয়বস্তু ধারণ করে) সংযুক্ত করুন।

আপনি ঐচ্ছিকভাবে আপনার অ্যাপের Hosting বিষয়বস্তু এবং কনফিগারেশন স্থাপন করতে পারেন, কিন্তু এই পৃষ্ঠার পদক্ষেপগুলির জন্য এটি একটি পূর্বশর্ত নয়।

ধাপ 1: স্থানীয়ভাবে পরীক্ষা করুন

আপনি যদি দ্রুত পুনরাবৃত্তি করেন বা আপনি চান যে আপনার অ্যাপটি অনুকরণ করা ব্যাকএন্ড প্রকল্প সংস্থানগুলির সাথে ইন্টারঅ্যাক্ট করুক, আপনি আপনার Hosting সামগ্রী পরীক্ষা করতে পারেন এবং স্থানীয়ভাবে কনফিগার করতে পারেন। স্থানীয়ভাবে পরীক্ষা করার সময়, Firebase স্থানীয়ভাবে হোস্ট করা URL-এ আপনার ওয়েব অ্যাপ পরিবেশন করে।

Hosting হল Firebase Local Emulator Suite অংশ, যা আপনার অ্যাপটিকে আপনার অনুকরণ করা Hosting সামগ্রী এবং কনফিগারেশনের সাথে সাথে ঐচ্ছিকভাবে আপনার অনুকরণ করা প্রকল্প সংস্থানগুলির (ফাংশন, ডেটাবেস এবং নিয়ম) সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে৷

  1. (ঐচ্ছিক) ডিফল্টরূপে, আপনার স্থানীয়ভাবে হোস্ট করা অ্যাপটি বাস্তবের সাথে ইন্টারঅ্যাক্ট করবে, অনুকরণ করা নয়, প্রকল্প সংস্থানগুলির (ফাংশন, ডাটাবেস, নিয়ম, ইত্যাদি)। আপনি পরিবর্তে আপনার কনফিগার করা যেকোন অনুকরণ করা প্রকল্প সংস্থানগুলি ব্যবহার করতে আপনার অ্যাপটিকে ঐচ্ছিকভাবে সংযুক্ত করতে পারেন৷ আরও জানুন: Realtime Database | Cloud Firestore | Cloud Functions

  2. আপনার স্থানীয় প্রকল্প ডিরেক্টরির রুট থেকে, নিম্নলিখিত কমান্ডটি চালান:

    firebase emulators:start
  3. CLI (সাধারণত http://localhost:5000 ) দ্বারা প্রত্যাবর্তিত স্থানীয় URL-এ আপনার ওয়েব অ্যাপ খুলুন।

  4. পরিবর্তন সহ স্থানীয় URL আপডেট করতে, আপনার ব্রাউজার রিফ্রেশ করুন।

অন্যান্য স্থানীয় ডিভাইস থেকে পরীক্ষা

ডিফল্টরূপে, এমুলেটররা শুধুমাত্র localhost অনুরোধে সাড়া দেয়। এর মানে হল যে আপনি আপনার কম্পিউটারের ওয়েব ব্রাউজার থেকে আপনার হোস্ট করা সামগ্রী অ্যাক্সেস করতে পারবেন কিন্তু আপনার নেটওয়ার্কের অন্যান্য ডিভাইস থেকে নয়৷ আপনি যদি অন্যান্য স্থানীয় ডিভাইস থেকে পরীক্ষা করতে চান, তাহলে আপনার firebase.json কনফিগার করুন এভাবে:

"emulators": {
    // ...

    "hosting": {
      "port": 5000,
      "host": "0.0.0.0"
    }
  }

ধাপ 2: প্রিভিউ এবং শেয়ার করুন

আপনি যদি চান যে অন্যরা লাইভ হওয়ার আগে আপনার ওয়েব অ্যাপে পরিবর্তনগুলি দেখুক, আপনি পূর্বরূপ চ্যানেল ব্যবহার করতে পারেন।

আপনি একটি প্রিভিউ চ্যানেলে স্থাপন করার পরে, Firebase আপনার ওয়েব অ্যাপটিকে একটি "প্রিভিউ URL"-এ পরিবেশন করে, যা একটি শেয়ারযোগ্য, অস্থায়ী URL। একটি পূর্বরূপ URL ব্যবহার করার সময়, আপনার ওয়েব অ্যাপ্লিকেশন সমস্ত প্রকল্প সংস্থানগুলির জন্য আপনার আসল ব্যাকএন্ডের সাথে ইন্টারঅ্যাক্ট করে ( আপনার পুনর্লিখন কনফিগারে যে কোনও "পিন করা" ফাংশন বাদ দিয়ে)।

উল্লেখ্য যে যদিও পূর্বরূপ URL গুলি অনুমান করা কঠিন (যেহেতু তারা একটি এলোমেলো হ্যাশ ধারণ করে), সেগুলি সর্বজনীন৷ সুতরাং, যে কেউ ইউআরএলটি জানেন তা অ্যাক্সেস করতে পারেন।

  1. আপনার স্থানীয় প্রকল্প ডিরেক্টরির রুট থেকে, নিম্নলিখিত কমান্ডটি চালান:

    firebase hosting:channel:deploy CHANNEL_ID

    CHANNEL_ID স্পেস ছাড়াই একটি স্ট্রিং দিয়ে প্রতিস্থাপন করুন (উদাহরণস্বরূপ, feature_mission-2-mars )। এই আইডিটি পূর্বরূপ চ্যানেলের সাথে সম্পর্কিত পূর্বরূপ URL তৈরি করতে ব্যবহার করা হবে।

  2. CLI দ্বারা প্রিভিউ URL-এ আপনার ওয়েব অ্যাপ খুলুন। এটি এই মত কিছু দেখাবে: PROJECT_ID -- CHANNEL_ID - RANDOM_HASH .web.app

  3. পরিবর্তন সহ আপনার পূর্বরূপ URL আপডেট করতে, একই কমান্ড আবার চালান। কমান্ডে একই CHANNEL_ID উল্লেখ করা নিশ্চিত করুন।

প্রিভিউ চ্যানেল পরিচালনা সম্পর্কে জানুন, কীভাবে একটি চ্যানেলের মেয়াদ শেষ করতে হয় তা সহ।

Firebase Hosting একটি গিটহাব অ্যাকশনকে সমর্থন করে যা স্বয়ংক্রিয়ভাবে একটি পূর্বরূপ URL তৈরি করে এবং আপডেট করে যখন আপনি একটি পুল অনুরোধে পরিবর্তন করেন। এই GitHub অ্যাকশন কিভাবে সেট আপ এবং ব্যবহার করবেন তা শিখুন।

ধাপ 3: লাইভ স্থাপন করুন

আপনি যখন বিশ্বের সাথে আপনার পরিবর্তনগুলি ভাগ করতে প্রস্তুত হন, তখন আপনার Hosting সামগ্রী স্থাপন করুন এবং আপনার লাইভ চ্যানেলে কনফিগার করুন৷ Firebase আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে এই ধাপের জন্য কয়েকটি ভিন্ন বিকল্প অফার করে (নীচের বিকল্পগুলি দেখুন)।

বিকল্প 1: একটি পূর্বরূপ চ্যানেল থেকে আপনার লাইভ চ্যানেলে ক্লোন করুন

এই বিকল্পটি নিশ্চিত করে যে আপনি আপনার লাইভ চ্যানেলে প্রিভিউ চ্যানেলে পরীক্ষা করা সঠিক বিষয়বস্তু এবং কনফিগারেশন স্থাপন করছেন। ক্লোনিং সংস্করণ সম্পর্কে আরও জানুন।

  1. যেকোনো ডিরেক্টরি থেকে, নিম্নলিখিত কমান্ডটি চালান:

    firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live

    নিম্নলিখিত দিয়ে প্রতিটি স্থানধারক প্রতিস্থাপন করুন:

    • SOURCE_SITE_ID এবং TARGET_SITE_ID : এগুলি হল Hosting সাইটের আইডি যাতে চ্যানেল থাকে৷

      • আপনার ডিফল্ট Hosting সাইটের জন্য, আপনার Firebase প্রকল্প আইডি ব্যবহার করুন।
      • আপনি একই ফায়ারবেস প্রোজেক্টে বা এমনকি বিভিন্ন ফায়ারবেস প্রোজেক্টে থাকা সাইটগুলি নির্দিষ্ট করতে পারেন।
    • SOURCE_CHANNEL_ID : এটি সেই চ্যানেলের শনাক্তকারী যা বর্তমানে আপনি আপনার লাইভ চ্যানেলে যে সংস্করণটি স্থাপন করতে চান সেটি পরিবেশন করছে৷

      • একটি লাইভ চ্যানেলের জন্য, চ্যানেল আইডি হিসাবে live ব্যবহার করুন।
  2. আপনার পরিবর্তন দেখুন (পরবর্তী ধাপ)।

বিকল্প 2: আপনার স্থানীয় প্রকল্প ডিরেক্টরি থেকে আপনার লাইভ চ্যানেলে স্থাপন করুন

এই বিকল্পটি আপনাকে লাইভ চ্যানেলের জন্য নির্দিষ্ট কনফিগারেশন সামঞ্জস্য করতে বা আপনি একটি পূর্বরূপ চ্যানেল ব্যবহার না করলেও স্থাপন করার জন্য নমনীয়তা প্রদান করে।

  1. আপনার স্থানীয় প্রকল্প ডিরেক্টরির রুট থেকে, নিম্নলিখিত কমান্ডটি চালান:

    firebase deploy --only hosting
  2. আপনার পরিবর্তন দেখুন (পরবর্তী ধাপ)।

ধাপ 4: আপনার লাইভ সাইটে আপনার পরিবর্তন দেখুন

উপরের দুটি বিকল্পই আপনার Hosting বিষয়বস্তু স্থাপন করে এবং নিম্নলিখিত সাইটগুলিতে কনফিগার করে:

  • আপনার ডিফল্ট Hosting সাইট এবং যেকোনো অতিরিক্ত Hosting সাইটের জন্য ফায়ারবেস-বিধান করা সাবডোমেন:
    SITE_ID .web.app (যেমন PROJECT_ID .web.app )
    SITE_ID .firebaseapp.com (যেমন PROJECT_ID .firebaseapp.com )

  • যে কোনো কাস্টম ডোমেন যা আপনি আপনার Hosting সাইটের সাথে সংযুক্ত করেছেন

একটি নির্দিষ্ট Hosting সাইটে স্থাপনা সীমাবদ্ধ করতে, আপনার CLI কমান্ডে একটি স্থাপনার লক্ষ্য নির্দিষ্ট করুন

অন্যান্য স্থাপনা কার্যক্রম এবং তথ্য

স্থাপনার জন্য একটি মন্তব্য যোগ করুন

আপনি ঐচ্ছিকভাবে একটি স্থাপনায় একটি মন্তব্য যোগ করতে পারেন। এই মন্তব্যটি Firebase কনসোলে Hosting ড্যাশবোর্ডে অন্যান্য স্থাপনার তথ্যের সাথে প্রদর্শন করবে। যেমন:

firebase deploy --only hosting -m "Deploying the best new feature ever."

প্রিডিপ্লোয় এবং পোস্টডিপ্লোয় স্ক্রিপ্টেড কাজ যোগ করুন

আপনি ঐচ্ছিকভাবে শেল স্ক্রিপ্টগুলিকে predeploy বা postdeploy কার্য সম্পাদন করতে firebase deploy কমান্ডের সাথে সংযোগ করতে পারেন। উদাহরণস্বরূপ, একটি পোস্টডিপ্লয় হুক নতুন সাইটের বিষয়বস্তু স্থাপনের প্রশাসকদের অবহিত করতে পারে। আরো বিস্তারিত জানার জন্য Firebase CLI ডকুমেন্টেশন পড়ুন।

স্থাপন করা সামগ্রী ক্যাশিং

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

মনে রাখবেন আপনি গতিশীল বিষয়বস্তুর ক্যাশিং কনফিগার করতে পারেন।

HTTPS এর মাধ্যমে পরিবেশন করা হচ্ছে

নিশ্চিত করুন যে সমস্ত বাহ্যিক সংস্থান যা Firebase Hosting এ হোস্ট করা হয় না সেগুলি SSL (HTTPS) এর মাধ্যমে লোড করা হয়, যেকোন বাহ্যিক স্ক্রিপ্ট সহ। বেশিরভাগ ব্রাউজার ব্যবহারকারীদের "মিশ্র সামগ্রী" (SSL এবং নন-SSL ট্রাফিক) লোড করার অনুমতি দেয় না।

ফাইল মুছে ফেলা হচ্ছে

Firebase Hosting এ, একটি স্থাপন করা সাইট থেকে নির্বাচিত ফাইলগুলি মুছে ফেলার প্রাথমিক উপায় হল ফাইলগুলিকে স্থানীয়ভাবে মুছে ফেলা এবং তারপরে পুনরায় স্থাপন করা।

পরবর্তী পদক্ষেপ