লাইভ পরিচালনা করুন & আপনার সাইটের জন্য চ্যানেল, রিলিজ এবং সংস্করণগুলির পূর্বরূপ দেখুন

Firebase Hosting আপনার Hosting সাইটের চ্যানেল, রিলিজ এবং সংস্করণ পরিচালনা করার জন্য Firebase কনসোল এবং Firebase সিএলআই উভয়ের মাধ্যমে টুলিং সরবরাহ করে।

Hosting অবকাঠামোর সংক্ষিপ্ত বিবরণ

Hosting পরিকাঠামো বোঝা আপনাকে এই পৃষ্ঠায় বর্ণিত ব্যবস্থাপনা বিকল্পগুলি বুঝতে সাহায্য করবে।

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

<span class="" এর একটি ছবি "ফায়ারবেস হোস্টিং হায়ারার্কি" />

প্রতিটি Hosting সাইটের একটি "লাইভ" চ্যানেল থাকে যা কন্টেন্ট পরিবেশন করে এবং একটি Hosting কনফিগারেশন (১) সাইটের Firebase-প্রভিশনড সাবডোমেন ( SITE_ID .web.app এবং SITE_ID .firebaseapp.com ) এবং (২) যেকোনো সংযুক্ত কাস্টম ডোমেনে । আপনি ঐচ্ছিকভাবে "প্রিভিউ" চ্যানেল তৈরি করতে পারেন যা অস্থায়ী, শেয়ারযোগ্য "প্রিভিউ URL"-এ তাদের নিজস্ব কন্টেন্ট এবং কনফিগারেশন পরিবেশন করে ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app )।

প্রতিটি চ্যানেলের দ্বারা পরিবেশিত কন্টেন্ট এবং কনফিগারেশন একটি সংস্করণ অবজেক্টে প্যাকেজ করা হয় যার একটি অনন্য শনাক্তকারী থাকে। যখন আপনি আপনার সাইটে স্থাপন করেন, তখন Firebase একটি রিলিজ অবজেক্ট তৈরি করে যা একটি নির্দিষ্ট সংস্করণকে নির্দেশ করে। একটি রিলিজে স্থাপন সম্পর্কে মেটাডেটা থাকে, যেমন কে স্থাপন করেছে এবং কখন তারা স্থাপন করেছে।

আপনার Firebase প্রজেক্টের Hosting ড্যাশবোর্ড থেকে, আপনি আপনার লাইভ চ্যানেলের রিলিজের সম্পূর্ণ ইতিহাস একটি রিলিজ ইতিহাস টেবিলে দেখতে পাবেন। যদি আপনার একাধিক Hosting সাইট থাকে, তাহলে পছন্দসই সাইটের রিলিজ ইতিহাস দেখতে View এ ক্লিক করুন। যদি আপনার কোনও প্রিভিউ চ্যানেল থাকে, তাহলে সেগুলি Hosting ড্যাশবোর্ডেও প্রদর্শিত হবে।

চ্যানেলের সেটিংস পরিচালনা করুন

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

রিলিজের সংখ্যা সীমিত রাখুন

প্রতিবার যখন আপনি কোনও চ্যানেলে ডিপ্লয় করেন (এবং একটি রিলিজ তৈরি করেন), তখন Hosting আপনার প্রোজেক্টের Hosting স্টোরেজে পূর্ববর্তী রিলিজের সাথে সম্পর্কিত সংস্করণটি রাখে। আপনি আপনার প্রোজেক্টের প্রতিটি চ্যানেলের জন্য লাইভ এবং প্রিভিউ চ্যানেল উভয়ের জন্য রিলিজের সংখ্যা সেট করতে পারেন।

  • Hosting কেন পূর্ববর্তী রিলিজগুলি রাখে?
    আপনার লাইভ চ্যানেলের জন্য, পূর্ববর্তী রিলিজগুলি রেখে দিলে আপনি প্রয়োজনে আপনার সাইটের পূর্ববর্তী সংস্করণে ফিরে যেতে পারবেন। আপনার প্রিভিউ চ্যানেলগুলির জন্য, রোল ব্যাক এখনও উপলব্ধ নয়।

  • কেন রিলিজের সংখ্যা সীমিত রাখা হবে?
    এই বৈশিষ্ট্যটি আপনার প্রকল্পের Hosting স্টোরেজের ব্যবহারের স্তর নিয়ন্ত্রণ করতে সাহায্য করতে পারে, কারণ পূর্ববর্তী রিলিজের সামগ্রী এই স্টোরেজে রাখা হয়। আপনি কনসোলের স্টোরেজ ট্যাব থেকে আপনার Hosting স্টোরেজ পর্যবেক্ষণ করতে পারেন।

  • যখন আপনি রিলিজগুলি সীমিত রাখেন তখন কী হয়?
    যখন আপনি রিলিজের জন্য একটি সীমা নির্ধারণ করেন, তখন আপনার নির্ধারিত সীমা অতিক্রমকারী যেকোনো রিলিজের বিষয়বস্তু মুছে ফেলার জন্য নির্ধারিত হয়, প্রথমে সবচেয়ে পুরনো রিলিজ দিয়ে শুরু করে

একটি চ্যানেলের জন্য রিলিজ স্টোরেজ সীমা কীভাবে সেট করবেন তা এখানে দেওয়া হল:

  1. Firebase কনসোলে , রিলিজ স্টোরেজ সেটিং ডায়ালগ অ্যাক্সেস করুন:

    • আপনার লাইভ চ্যানেলের জন্য
      আপনার সাইটের রিলিজ ইতিহাস টেবিলে, এ ক্লিক করুন, তারপর রিলিজ স্টোরেজ সেটিংস নির্বাচন করুন।

    • যেকোনো প্রিভিউ চ্যানেলের জন্য
      প্রিভিউ চ্যানেলের সারিতে, ক্লিক করুন, তারপর চ্যানেল সেটিংস নির্বাচন করুন।

  2. আপনি কতগুলি রিলিজ রাখতে চান তা লিখুন, তারপর সংরক্ষণ করুন এ ক্লিক করুন।

একটি প্রিভিউ চ্যানেলের মেয়াদ শেষ হওয়ার তারিখ সেট করুন

ডিফল্টরূপে, একটি প্রিভিউ চ্যানেল তৈরির তারিখ থেকে ৭ দিন পরে মেয়াদ শেষ হয়ে যায়, কিন্তু আপনার সাইটের লাইভ চ্যানেল কখনই মেয়াদ শেষ হবে না।

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

Hosting একটি চ্যানেলের মেয়াদ নিয়ন্ত্রণ করার দুটি ভিন্ন উপায় সমর্থন করে:

  • Firebase কনসোল
    প্রিভিউ চ্যানেলের সারিতে, এ ক্লিক করুন, তারপর চ্যানেল সেটিংস নির্বাচন করুন। মেয়াদ শেষ হওয়ার তারিখ এবং সময় লিখুন।

  • Firebase সিএলআই
    যখন আপনি আপনার প্রিভিউ চ্যানেলে স্থাপন করবেন, তখন --expires DURATION পতাকাটি পাস করুন, উদাহরণস্বরূপ:

    firebase hosting:channel:deploy new-awesome-feature --expires 7d

    মেয়াদোত্তীর্ণতা স্থাপনের তারিখ থেকে সর্বোচ্চ 30 দিন পর্যন্ত হতে পারে। ঘন্টার জন্য h , দিনের জন্য d এবং সপ্তাহের জন্য w ব্যবহার করুন (উদাহরণস্বরূপ, যথাক্রমে 12h , 7d , 2w )।

এক চ্যানেল থেকে অন্য চ্যানেলে একটি সংস্করণ ক্লোন করুন

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

ক্লোন কমান্ডটি "টার্গেট" চ্যানেলেও স্থাপন করা হয় যাতে ক্লোন করা Hosting কন্টেন্ট এবং কনফিগারেশন স্বয়ংক্রিয়ভাবে "টার্গেট" চ্যানেলের সংশ্লিষ্ট URL-এ পরিবেশিত হয়।

এই বৈশিষ্ট্যটি ভার্সন ট্র্যাকিংয়ের জন্য অথবা আপনি যদি নিশ্চিত হতে চান যে আপনি ঠিক যে কন্টেন্টটি দেখেছেন এবং/অথবা পরীক্ষিত করেছেন তা অন্য চ্যানেলে স্থাপন করছেন, তাহলে কার্যকর। এখানে কিছু উদাহরণ দেওয়া হল:

  • "QA" প্রিভিউ চ্যানেল থেকে আপনার সাইটের লাইভ চ্যানেলে ক্লোন করুন (লাইভ হচ্ছে!)

  • আপনার সাইটের লাইভ চ্যানেল থেকে "ডিবাগ" প্রিভিউ চ্যানেলে ক্লোন করুন (যেমন রোলব্যাকের আগে)

  • আপনার "স্টেজিং" ফায়ারবেস প্রজেক্টের একটি চ্যানেল থেকে আপনার "প্রোড" ফায়ারবেস প্রজেক্টের একটি প্রিভিউ চ্যানেলে ক্লোন করুন।

একটি সংস্করণ ক্লোন করতে, যেকোনো ডিরেক্টরি থেকে নিম্নলিখিত কমান্ডটি চালান:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

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

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

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

    • লাইভ চ্যানেলের জন্য, চ্যানেল আইডি হিসেবে live ব্যবহার করুন।
    • যদি নির্দিষ্ট "টার্গেট" চ্যানেলটি এখনও বিদ্যমান না থাকে, তাহলে এই কমান্ডটি চ্যানেলটি স্থাপনের আগে তৈরি করে।

আপনার সাইটের পূর্ববর্তী সংস্করণে ফিরে যান

আপনার সাইটের লাইভ চ্যানেলের পূর্ববর্তী সংস্করণটি পরিবেশন করতে আপনি রোল ব্যাক করতে পারেন। আপনার বর্তমান রিলিজে যদি কোনও সমস্যা থাকে এবং আপনি আপনার সাইটের একটি পরিচিত কার্যকরী সংস্করণ পরিবেশন করতে চান তবে এই পদক্ষেপটি কার্যকর। অথবা হতে পারে আপনার সাইটটি কোনও ছুটির দিন বা বিশেষ অনুষ্ঠানের জন্য অস্থায়ী সামগ্রী পরিবেশন করেছিল, কিন্তু এখন আপনি আপনার "নিয়মিত" সামগ্রী পরিবেশন করতে রোল ব্যাক করতে চান।

রোল ব্যাক করার মাধ্যমে, আপনি একটি নতুন রিলিজ তৈরি করবেন যা পূর্ববর্তী রিলিজের মতো একই সংস্করণের কন্টেন্ট পরিবেশন করবে। আপনার রিলিজ ইতিহাসের টেবিলে, উভয় রিলিজ একই সংস্করণ শনাক্তকারী তালিকাভুক্ত করবে।

কীভাবে ফিরে যাবেন তা এখানে:

  1. Firebase কনসোলে , আপনার সাইটের রিলিজ ইতিহাস টেবিলে, আগের রিলিজ এন্ট্রির উপর কার্সার রাখুন যেখানে আপনি আবার রোল ব্যাক করতে চান।

  2. ক্লিক করুন, তারপর Roll back নির্বাচন করুন।

একটি রিলিজ ম্যানুয়ালি মুছে ফেলুন

আপনার প্রোজেক্টের জন্য Hosting স্টোরেজ খালি করতে আপনার লাইভ চ্যানেল থেকে কোনও রিলিজ ম্যানুয়ালি মুছে ফেলতে হতে পারে। আপনি কেবল পূর্ববর্তী রিলিজগুলি মুছে ফেলতে পারেন, আপনার লাইভ সাইটে বর্তমানে পরিবেশিত রিলিজটি নয়।

যখন আপনি একটি রিলিজ মুছে ফেলেন, তখন আপনি আসলে এর কন্টেন্ট মুছে ফেলছেন, যা ২৪ ঘন্টার মধ্যে মুছে ফেলার জন্য নির্ধারিত। রিলিজ অবজেক্টটি নিজেই রাখা হয় যাতে আপনি এখনও এর মেটাডেটা দেখতে পারেন (কে মোতায়েন করেছে এবং কখন তারা মোতায়েন করেছে)।

একটি রিলিজ কীভাবে মুছে ফেলবেন তা এখানে দেওয়া হল:

  1. Firebase কনসোলে , আপনার সাইটের রিলিজ ইতিহাস টেবিলে, আপনি যে পূর্ববর্তী রিলিজ এন্ট্রিটি মুছে ফেলতে চান তার উপর কার্সার রাখুন।

  2. ক্লিক করুন, তারপর Delete নির্বাচন করুন।

ফাইলগুলি ম্যানুয়ালি মুছে ফেলুন

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

একটি প্রিভিউ চ্যানেল ম্যানুয়ালি মুছে ফেলুন

আপনি যে চ্যানেলটির প্রিভিউ দেখতে চান তার উপর ক্লিক করে আপনার চ্যানেলগুলির প্রিভিউ দেখতে পারেন। এই ভিউ থেকে, আপনি নির্দিষ্ট চ্যানেলের সাথে সম্পর্কিত নতুন ডিপ্লয়মেন্ট এবং রিলিজ দেখতে, মুছে ফেলতে এবং ফিরিয়ে আনতে পারেন। আপনি একটি প্রিভিউ চ্যানেল মুছে ফেলতে পারেন, কিন্তু আপনার সাইটের লাইভ চ্যানেল মুছে ফেলতে পারবেন না।

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

Hosting একটি প্রিভিউ চ্যানেল মুছে ফেলার দুটি ভিন্ন উপায় সমর্থন করে:

  • Firebase কনসোল
    প্রিভিউ চ্যানেলের সারিতে, এ ক্লিক করুন, তারপর চ্যানেল মুছে ফেলুন নির্বাচন করুন। মুছে ফেলা নিশ্চিত করুন।

  • Firebase সিএলআই
    যেকোনো ডিরেক্টরি থেকে নিম্নলিখিত কমান্ডটি চালান:

    firebase hosting:channel:delete CHANNEL_ID

প্রিভিউ চ্যানেল এবং ক্লোনিংয়ের জন্য CLI কমান্ড

প্রিভিউ চ্যানেলের জন্য কমান্ড

যদি আপনার একাধিক Hosting সাইট থাকে তবে প্রিভিউ চ্যানেলের জন্য সমস্ত কমান্ড লক্ষ্য স্থাপন সমর্থন করে।

কমান্ড বিবরণ
firebase hosting:channel:create CHANNEL_ID

নির্দিষ্ট CHANNEL_ID ব্যবহার করে ডিফল্ট Hosting সাইটে একটি নতুন প্রিভিউ চ্যানেল তৈরি করে।

এই কমান্ডটি চ্যানেলে স্থাপন করা হয় না।

firebase hosting:channel:delete CHANNEL_ID

নির্দিষ্ট প্রিভিউ চ্যানেল মুছে ফেলে

আপনি কোনও সাইটের লাইভ চ্যানেল মুছতে পারবেন না।

firebase hosting:channel:deploy CHANNEL_ID

আপনার Hosting কন্টেন্ট এবং কনফিগারেশন নির্দিষ্ট প্রিভিউ চ্যানেলে স্থাপন করে

যদি প্রিভিউ চ্যানেলটি এখনও বিদ্যমান না থাকে, তাহলে এই কমান্ডটি চ্যানেলে স্থাপনের আগে ডিফল্ট Hosting সাইটে চ্যানেল তৈরি করে।

firebase hosting:channel:list ডিফল্ট Hosting সাইটের সমস্ত চ্যানেল ("লাইভ" চ্যানেল সহ) তালিকাভুক্ত করে।
firebase hosting:channel:open CHANNEL_ID নির্দিষ্ট চ্যানেলের URL-এ একটি ব্রাউজার খোলে অথবা ব্রাউজারে খোলা সম্ভব না হলে URL ফেরত দেয়।

সংস্করণ ক্লোনিংয়ের জন্য কমান্ড

কমান্ড বিবরণ
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

নির্দিষ্ট "উৎস" চ্যানেলের সাম্প্রতিকতম মোতায়েন করা সংস্করণটিকে নির্দিষ্ট "টার্গেট" চ্যানেলে ক্লোন করে।

এই কমান্ডটি নির্দিষ্ট "টার্গেট" চ্যানেলেও স্থাপন করা হয়। যদি "টার্গেট" চ্যানেলটি এখনও বিদ্যমান না থাকে, তাহলে এই কমান্ডটি চ্যানেলে স্থাপনের আগে "টার্গেট" Hosting সাইটে একটি নতুন প্রিভিউ চ্যানেল তৈরি করে।

firebase hosting:clone \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

নির্দিষ্ট সংস্করণটিকে নির্দিষ্ট "টার্গেট" চ্যানেলে ক্লোন করে।

এই কমান্ডটি নির্দিষ্ট "টার্গেট" চ্যানেলেও স্থাপন করা হয়। যদি "টার্গেট" চ্যানেলটি এখনও বিদ্যমান না থাকে, তাহলে এই কমান্ডটি চ্যানেলে স্থাপনের আগে "টার্গেট" Hosting সাইটে একটি নতুন প্রিভিউ চ্যানেল তৈরি করে।

আপনি Firebase কনসোলের Hosting ড্যাশবোর্ডে VERSION_ID খুঁজে পেতে পারেন।