আপনার সাইটের জন্য লাইভ ও প্রিভিউ চ্যানেল, রিলিজ এবং সংস্করণ পরিচালনা করুন

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

হোস্টিং পরিকাঠামোর ওভারভিউ

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

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

Firebase হোস্টিং অনুক্রমের একটি চিত্র

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

একটি পূর্বরূপ চ্যানেলের মেয়াদ শেষ করা সেট করুন

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

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

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

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

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

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

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

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

এখানে কিভাবে রোল ব্যাক করতে হয়:

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

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

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

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

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

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

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

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

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

আপনি একটি পূর্বরূপ চ্যানেল মুছতে পারেন, কিন্তু আপনি আপনার সাইটের লাইভ চ্যানেল মুছতে পারবেন না৷

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

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

  • ফায়ারবেস কনসোল
    পূর্বরূপ চ্যানেলের সারিতে, ক্লিক করুন, তারপর চ্যানেল মুছুন নির্বাচন করুন। মুছে ফেলা নিশ্চিত করুন.

  • ফায়ারবেস CLI
    যেকোনো ডিরেক্টরি থেকে নিম্নলিখিত কমান্ডটি চালান:

    firebase hosting:channel:delete CHANNEL_ID

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

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

আপনার একাধিক হোস্টিং সাইট থাকলে পূর্বরূপ চ্যানেলের জন্য সমস্ত কমান্ড লক্ষ্য স্থাপন সমর্থন করে।

আদেশ বর্ণনা
firebase hosting:channel:create CHANNEL_ID

নির্দিষ্ট CHANNEL_ID ব্যবহার করে ডিফল্ট হোস্টিং সাইটে একটি নতুন পূর্বরূপ চ্যানেল তৈরি করে

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

firebase hosting:channel:delete CHANNEL_ID

নির্দিষ্ট পূর্বরূপ চ্যানেল মুছে দেয়

আপনি একটি সাইটের লাইভ চ্যানেল মুছে ফেলতে পারবেন না.

firebase hosting:channel:deploy CHANNEL_ID

নির্দিষ্ট পূর্বরূপ চ্যানেলে আপনার হোস্টিং সামগ্রী এবং কনফিগারেশন স্থাপন করে

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

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

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

আদেশ বর্ণনা
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

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

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

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

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

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

আপনি Firebase কনসোলের হোস্টিং ড্যাশবোর্ডে VERSION_ID খুঁজে পেতে পারেন৷