আপনার যদি অটোমেটিক রোলআউট চালু করা থাকে, তাহলে প্রতিবার আপনি আপনার গিটহাব রিপোজিটরির লাইভ ব্রাঞ্চে একটি নতুন কমিট পুশ করার সাথে সাথে App Hosting স্বয়ংক্রিয়ভাবে আপনার অ্যাপের একটি নতুন সংস্করণ রোল আউট করে দেবে। আপনি Firebase কনসোলে অথবা App Hosting গিটহাব চেক-এ রোলআউটের স্ট্যাটাস দেখতে পারেন।
এছাড়াও, App Hosting CI/CD ইন্টিগ্রেশনের জন্য অথবা অন্য যেকোনো ক্ষেত্রে যেখানে আপনি জোর করে রোলআউট করতে চান, তার জন্য ম্যানুয়ালি রোলআউট চালু করার সুবিধা দেয়।
রোলআউটগুলি দেখুন
Firebase কনসোল আপনার অ্যাপের সমস্ত রোলআউট সম্পর্কিত বিস্তারিত তথ্য প্রদান করে।
হোস্টিং ও সার্ভারলেস > অ্যাপ হোস্টিং- এ যান, এরপর যে ব্যাকএন্ডের রোলআউটগুলো আপনি দেখতে চান, সেটির জন্য 'ভিউ' নির্বাচন করুন। ব্যাকএন্ডটির ' রোলআউটস ' ট্যাবে একটি টেবিল প্রদর্শিত হয়, যেখানে এই ব্যাকএন্ডের সমস্ত রোলআউটের ইতিহাস তালিকাভুক্ত থাকে।
প্রতিটি রোলআউট এন্ট্রিতে Cloud Build জব এবং যে পরিবর্তন বা কমিটটি রোলআউটটি শুরু করেছে তার লিঙ্কের পাশাপাশি লেখক, তৈরির তারিখ এবং রোলআউটের অবস্থা সম্পর্কিত প্রাথমিক তথ্যও থাকে।
- Cloud Build জব হলো সেই বিল্ড এনভায়রনমেন্ট, যেখানে App Hosting আপনার অ্যাপের বিল্ড কমান্ডটি চালায়। আপনি বিল্ড আইডিতে ক্লিক করে Cloud Build লগ দেখতে পারেন।
- পরিবর্তনটি হলো সেই গিটহাব কমিট বা অন্য কোনো পদক্ষেপ যা রোলআউটটি শুরু করেছে।
ম্যানুয়ালি একটি রোলআউট ট্রিগার করুন
আপনি যদি নতুন কমিট পুশ না করে আপনার গিটহাব সোর্স থেকে ম্যানুয়ালি একটি রোলআউট চালু করতে চান, তাহলে আপনি Firebase কনসোল বা Firebase সিএলআই থেকে একটি রোলআউট তৈরি করতে পারেন। এটি নিম্নলিখিত ক্ষেত্রগুলির জন্য উপযোগী:
- স্থির বিষয়বস্তুর পুনর্নির্মাণে বাধ্য করা হচ্ছে।
- একটি CI/CD সিস্টেমকে রোলআউট শুরু করার অনুমতি দেওয়া।
- নির্দিষ্ট তারিখ বা সময়ে উৎপাদন শুরু করা সীমিত করা।
Firebase কনসোলে রোলআউট শুরু করতে:
- Firebase কনসোলে, Hosting & Serverless > App Hosting- এ যান।
- যে ব্যাকএন্ডটির জন্য আপনি রোলআউট তৈরি করতে চান, সেটির জন্য 'ভিউ'-তে ক্লিক করুন।
- ব্যাকএন্ড ড্যাশবোর্ড সারাংশে, 'Create rollout' নির্বাচন করুন।
- ডিপ্লয় করার জন্য ব্রাঞ্চটি নির্বাচন করুন।
- ডিপ্লয় করার জন্য কমিটটি নির্বাচন করুন, হয় সর্বশেষ কমিটটি অথবা এর কমিট আইডি দ্বারা নির্দিষ্ট পূর্ববর্তী কোনো কমিট।
- 'তৈরি করুন ' নির্বাচন করুন। রোলআউটের স্ট্যাটাস এবং একটি বিল্ড নম্বর রোলআউট হিস্ট্রি টেবিলে প্রদর্শিত হয়। রোলআউট প্রক্রিয়া সম্পূর্ণ হলে, এই রোলআউটটি বর্তমান রোলআউট হিসাবে প্রদর্শিত হয়।
Firebase CLI-তে রোলআউট চালু করতে, নিম্নলিখিত কমান্ডটি চালান এবং অনুরোধ করা হলে রোলআউটের জন্য ব্রাঞ্চটি নির্বাচন করুন:
firebase apphosting:rollouts:create BACKEND_ID
বিকল্পভাবে, আপনি --git-branch অপশনটি ব্যবহার করে একটি নির্দিষ্ট ব্রাঞ্চের সর্বশেষ কমিটের জন্য রোলআউট শুরু করতে পারেন:
firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME
এছাড়াও আপনি --git-commit অপশনটি ব্যবহার করে একটি নির্দিষ্ট কমিট সহ রোলআউট তৈরি করতে পারেন:
firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID
পূর্ববর্তী রোলআউট পুনরুদ্ধার করুন
App Hosting আপনাকে পূর্ববর্তী রোলআউট পুনরুদ্ধার করার জন্য দুটি বিকল্প দেয়:
- পুনর্নির্মাণ ছাড়াই অবিলম্বে পূর্বাবস্থায় ফিরিয়ে আনুন।
- পুনর্গঠন করুন এবং পূর্ববর্তী সংস্করণে ফিরে যান
তাৎক্ষণিক রোলব্যাক তৈরি করুন
কখনও কখনও আপনার অ্যাপের পুরোনো সংস্করণে দ্রুত ফিরে যাওয়ার প্রয়োজন হতে পারে—উদাহরণস্বরূপ, যদি আপনি নতুনভাবে ডেপ্লয় করা কোনো রোলআউটে একটি গুরুতর বাগ খুঁজে পান অথবা এমন কোনো ত্রুটিপূর্ণ বিল্ডের সম্মুখীন হন যা নতুন রোলআউটগুলোকে আটকে দিচ্ছে। এই ধরনের ক্ষেত্রে, আপনি পূর্ববর্তী কোনো রোলআউট থেকে আপনার পছন্দের একটি বিদ্যমান কন্টেইনার ইমেজ রিস্টোর করতে পারেন। এই ইমেজটি পুনরায় বিল্ড করা হয় না, বরং এটি প্রথমবার বিল্ড করার সময়কার কোড এবং এনভায়রনমেন্ট কনফিগারেশন ব্যবহার করে।
তাৎক্ষণিক রোলব্যাক তৈরি করতে:
- Firebase কনসোলে, Hosting & Serverless > App Hosting- এ যান।
- যে ব্যাকএন্ডটির জন্য আপনি রোলব্যাক তৈরি করতে চান, সেটির জন্য 'ভিউ'-তে ক্লিক করুন।
- রোলআউটস ট্যাবটি নির্বাচন করুন।
- ব্যাকএন্ডের হিস্ট্রি টেবিলে, পূর্ববর্তী বিল্ডের জন্য তিন-ডট মেনুটি নির্বাচন করুন।
- এই বিল্ডে ফিরে যান নির্বাচন করুন এবং নিশ্চিত করুন।
পুনর্গঠন এবং পূর্বাবস্থায় ফেরা
আপনি যদি আপনার অ্যাপের পুরোনো সংস্করণে ফিরে যেতে চান কিন্তু বর্তমান কনফিগারেশনও বজায় রাখতে চান, তাহলে রোলব্যাক প্রক্রিয়ার অংশ হিসেবে অ্যাপটি রিবিল্ড করতে পারেন। উদাহরণস্বরূপ, যদি আপনার সর্বশেষ সংস্করণটি সিক্রেট ম্যানেজারে (Secret Manager) কোনো এপিআই কী-এর (API key) মান আপডেট করে থাকে, তাহলে রিবিল্ড করার মাধ্যমে এটি নিশ্চিত করা যায় যে রোলব্যাকের পরেও আপনার অ্যাপে নতুন কী-টিই ব্যবহৃত হবে।
পুনর্গঠন এবং পূর্বাবস্থায় ফেরাতে:
- Firebase কনসোলে, Hosting & Serverless > App Hosting- এ যান।
- যে ব্যাকএন্ডটির জন্য আপনি রোলব্যাক তৈরি করতে চান, সেটির জন্য 'ভিউ ড্যাশবোর্ড'-এ ক্লিক করুন।
- রোলআউটস ট্যাবটি নির্বাচন করুন।
- রোলআউট তৈরি করুন নির্বাচন করুন।
- 'Create a rollout ' ডায়ালগে, 'Early commit' নির্বাচন করুন এবং তারপরে আপনি যে সংস্করণটি পুনর্নির্মাণ করে রোল ব্যাক করতে চান তার কমিট আইডি লিখুন। কমিট আইডিটি আপনার 'Rollout history'-তে তালিকাভুক্ত প্রতিটি রোলআউটের 'Change details'-এর একটি অংশ, যা লেবেলের মধ্যে বন্ধনীর ভেতরে থাকে।
- রোলব্যাক শুরু করতে 'তৈরি করুন ' নির্বাচন করুন।
রোলআউট সেটিংস পরিবর্তন করুন
একটি ব্যাকএন্ডের ড্যাশবোর্ডে থাকা সেটিংস > ডিপ্লয়মেন্ট ভিউ-এর কন্ট্রোলগুলো ব্যবহার করে আপনি রোলআউটের জন্য লাইভ ব্রাঞ্চ পরিবর্তন করতে এবং অটোমেটিক রোলআউট নিষ্ক্রিয় বা সক্রিয় করতে পারেন।
- Firebase কনসোলে, Hosting & Serverless > App Hosting- এ যান।
- যে ব্যাকএন্ডে আপনি রোলআউট সেটিংস আপডেট করতে চান, সেটির জন্য ভিউ-তে ক্লিক করুন।
- ব্যাকএন্ড ড্যাশবোর্ডে, সেটিংস নির্বাচন করুন। ডিফল্ট ভিউতে ডোমেইন এবং কাস্টম ডোমেইন সম্পর্কিত তথ্য প্রদর্শিত হয়।
- ডিপ্লয়মেন্ট ভিউ নির্বাচন করুন। এই ভিউতে, আপনি রোলআউটের জন্য লাইভ ব্রাঞ্চ পরিবর্তন করতে এবং অটোমেটিক রোলআউট নিষ্ক্রিয় বা সক্রিয় করতে পারেন। এছাড়াও, অ্যাপ রুট ডিরেক্টরি এবং ব্যাকএন্ডের জন্য এনভায়রনমেন্ট সেট করার অপশন রয়েছে ( একাধিক এনভায়রনমেন্টে ডিপ্লয় দেখুন)।