Firebase হোস্টিং এমুলেটর দিয়ে প্রোটোটাইপ এবং পরীক্ষা ওয়েব অ্যাপস

Firebase Hosting এমুলেটর দিয়ে আপনার ওয়েব অ্যাপের প্রোটোটাইপিং এবং পরীক্ষা শুরু করার আগে, নিশ্চিত করুন যে আপনি Firebase Local Emulator Suite সামগ্রিক কর্মপ্রবাহটি বুঝতে পেরেছেন এবং Local Emulator Suite ইনস্টল এবং কনফিগার করেছেন এবং এর CLI কমান্ডগুলি পর্যালোচনা করেছেন।

আপনার Firebase Hosting এর বৈশিষ্ট্য এবং বাস্তবায়ন কর্মপ্রবাহের সাথেও পরিচিত হওয়া উচিত। Firebase Hosting এর ভূমিকা দিয়ে শুরু করুন।

Firebase Hosting এমুলেটর দিয়ে আমি কী করতে পারি?

Firebase Hosting এমুলেটর Hosting পরিষেবাগুলির উচ্চ-বিশ্বস্ত স্থানীয় অনুকরণ প্রদান করে, যা Hosting উৎপাদনে পাওয়া বেশিরভাগ কার্যকারিতা প্রদান করে। Hosting এমুলেটর আপনাকে এগুলি করতে দেয়:

  • স্টোরেজ বা অ্যাক্সেস চার্জ ছাড়াই আপনার স্ট্যাটিক সাইট এবং ওয়েব অ্যাপগুলির প্রোটোটাইপ তৈরি করুন
  • আপনার হোস্টিং সাইটে স্থাপনের আগে HTTPS ফাংশন প্রোটোটাইপ, পরীক্ষা এবং ডিবাগ করুন
  • কন্টেইনারাইজড, অবিচ্ছিন্ন ইন্টিগ্রেশন ওয়ার্কফ্লোতে সাইট এবং ওয়েব অ্যাপ পরীক্ষা করুন।

একটি Firebase প্রকল্প বেছে নিন

Firebase Local Emulator Suite একটি একক ফায়ারবেস প্রকল্পের জন্য পণ্য অনুকরণ করে।

ব্যবহারের জন্য প্রজেক্ট নির্বাচন করতে, এমুলেটর শুরু করার আগে, CLI রানে আপনার ওয়ার্কিং ডিরেক্টরিতে firebase use । অথবা, আপনি প্রতিটি এমুলেটর কমান্ডে --project ফ্ল্যাগটি পাস করতে পারেন।

Local Emulator Suite বাস্তব ফায়ারবেস প্রকল্প এবং ডেমো প্রকল্পের অনুকরণ সমর্থন করে।

প্রকল্পের ধরণ ফিচার এমুলেটরের সাথে ব্যবহার করুন
বাস্তব

একটি আসল ফায়ারবেস প্রকল্প হল আপনার তৈরি এবং কনফিগার করা প্রকল্প (সম্ভবত Firebase কনসোলের মাধ্যমে)।

বাস্তব প্রকল্পগুলিতে লাইভ রিসোর্স থাকে, যেমন ডাটাবেস ইনস্ট্যান্স, স্টোরেজ বাকেট, ফাংশন, অথবা ফায়ারবেস প্রকল্পের জন্য আপনার সেট আপ করা অন্য কোনও রিসোর্স।

আসল ফায়ারবেস প্রকল্পগুলির সাথে কাজ করার সময়, আপনি যেকোনো বা সমস্ত সমর্থিত পণ্যের জন্য এমুলেটর চালাতে পারেন।

আপনি যে পণ্যগুলি অনুকরণ করছেন না, তার জন্য আপনার অ্যাপস এবং কোড লাইভ রিসোর্সের সাথে ইন্টারঅ্যাক্ট করবে (ডাটাবেস ইনস্ট্যান্স, স্টোরেজ বাকেট, ফাংশন ইত্যাদি)।

ডেমো

একটি ডেমো ফায়ারবেস প্রকল্পের কোনও বাস্তব ফায়ারবেস কনফিগারেশন এবং কোনও লাইভ রিসোর্স নেই। এই প্রকল্পগুলি সাধারণত কোডল্যাব বা অন্যান্য টিউটোরিয়ালের মাধ্যমে অ্যাক্সেস করা হয়।

ডেমো প্রকল্পের জন্য প্রকল্প আইডিগুলিতে demo- উপসর্গ থাকে।

ডেমো ফায়ারবেস প্রজেক্টের সাথে কাজ করার সময়, আপনার অ্যাপ এবং কোড শুধুমাত্র এমুলেটরের সাথে ইন্টারঅ্যাক্ট করে। যদি আপনার অ্যাপ এমন কোনও রিসোর্সের সাথে ইন্টারঅ্যাক্ট করার চেষ্টা করে যার জন্য একটি এমুলেটর চলছে না, তাহলে সেই কোডটি ব্যর্থ হবে।

আমরা আপনাকে যেখানেই সম্ভব ডেমো প্রকল্প ব্যবহার করার পরামর্শ দিচ্ছি। সুবিধার মধ্যে রয়েছে:

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

মূল প্রোটোটাইপিং ওয়ার্কফ্লো

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

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

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

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

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

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

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

"emulators": {
    // ...

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

ক্রমাগত ইন্টিগ্রেশন ওয়ার্কফ্লোর জন্য প্রমাণীকরণ টোকেন তৈরি করুন

যদি আপনার ক্রমাগত ইন্টিগ্রেশন ওয়ার্কফ্লো Firebase Hosting এর উপর নির্ভর করে, তাহলে firebase emulators:exec চালানোর জন্য আপনাকে একটি টোকেন ব্যবহার করে লগ ইন করতে হবে। অন্যান্য এমুলেটরগুলির লগইনের প্রয়োজন হয় না।

একটি টোকেন তৈরি করতে, আপনার স্থানীয় পরিবেশে firebase login:ci চালান; এটি কোনও CI সিস্টেম থেকে করা উচিত নয়। প্রমাণীকরণের জন্য নির্দেশাবলী অনুসরণ করুন। আপনাকে প্রতিটি প্রকল্পের জন্য কেবল একবার এই পদক্ষেপটি সম্পাদন করতে হবে, যেহেতু টোকেনটি সমস্ত বিল্ড জুড়ে বৈধ হবে। টোকেনটিকে একটি পাসওয়ার্ডের মতো বিবেচনা করা উচিত; নিশ্চিত করুন যে এটি গোপন রাখা হয়েছে।

যদি আপনার CI পরিবেশ আপনাকে বিল্ড স্ক্রিপ্টে ব্যবহারযোগ্য পরিবেশ ভেরিয়েবল নির্দিষ্ট করার অনুমতি দেয়, তাহলে কেবল FIREBASE_TOKEN নামক একটি পরিবেশ ভেরিয়েবল তৈরি করুন, যার মান হবে অ্যাক্সেস টোকেন স্ট্রিং। Firebase CLI স্বয়ংক্রিয়ভাবে FIREBASE_TOKEN পরিবেশ ভেরিয়েবলটি তুলে নেবে এবং এমুলেটরগুলি সঠিকভাবে শুরু হবে।

শেষ অবলম্বন হিসেবে, আপনি কেবল আপনার বিল্ড স্ক্রিপ্টে টোকেনটি অন্তর্ভুক্ত করতে পারেন, তবে নিশ্চিত করুন যে অবিশ্বস্ত পক্ষগুলির অ্যাক্সেস নেই। এই হার্ড-কোডেড পদ্ধতির জন্য, আপনি firebase emulators:exec কমান্ডে --token "YOUR_TOKEN_STRING_HERE" যোগ করতে পারেন।

এরপর কী?