রিলিজ ডে (release day) হল মোবাইল অ্যাপের একটি নতুন সংস্করণ প্রকাশের নির্ধারিত তারিখ, যার মধ্যে বিল্ড প্রস্তুতি, স্টোর রিভিউ, স্টেজড রোলআউট এবং মনিটরিং অন্তর্ভুক্ত। iOS অ্যাপের জন্য, প্রক্রিয়াটি Apple-এর বাধ্যতামূলক রিভিউর কারণে পরিকল্পিত রিলিজ তারিখের 24-48 ঘন্টা আগে App Store Connect-এ বিল্ড আপলোড করার মাধ্যমে শুরু হয়। Android-এর জন্য, বিল্ডটি Google Play Console-এ অ্যাসেম্বল এবং আপলোড করা হয়, যেখানে রিভিউ প্রক্রিয়ায় সাধারণত 1-4 ঘন্টা সময় লাগে। Apple Developer Guidelines (2025) অনুসারে, 90% বিল্ড 24 ঘন্টার মধ্যে রিভিউ পাস করে। স্টেজড রোলআউট প্রকাশের পরে ত্রুটি পাওয়া গেলে প্রভাব কমাতে সাহায্য করে।
মূল পয়েন্ট
রিলিজ ডে শুধু Publish বোতাম টিপানোর মুহূর্ত নয়। এটি একটি সমন্বিত প্রক্রিয়া যাতে ডেভেলপার, QA, DevOps, প্রোডাক্ট ম্যানেজার এবং কখনও কখনও সাপোর্ট টিম অংশ নেয়। প্রস্তুতি রিলিজ ডে-র 2-3 সপ্তাহ আগে শুরু হয়: সুযোগ নির্ধারণ, কোড ফ্রিজ, রিগ্রেশন টেস্টিং, রিলিজ নোট এবং মার্কেটিং সামগ্রী প্রস্তুত করা। প্রস্তুতি যত বেশি পুঙ্খানুপুঙ্খ হবে, রিলিজ ডে তত মসৃণ হবে।
রিলিজ ডে প্রস্তুতির চেকলিস্টের মধ্যে রয়েছে: রিলিজ বিল্ডে চূড়ান্ত QA রান (রিগ্রেশন + স্মোক স্যুট); স্টোরগুলিতে মেটাডেটা পরীক্ষা (নাম, বিবরণ, স্ক্রিনশট, কিওয়ার্ড); প্রোডাক্ট ম্যানেজারের সাথে স্টেজড রোলআউট শতাংশ নিয়ে সম্মতি; রোলব্যাক পরিকল্পনা প্রস্তুত করা (কোন ট্যাগ পুনরায় ডিপ্লয় করতে হবে, কত সময় লাগবে); আসন্ন রিলিজ সম্পর্কে টিম এবং সম্পর্কিত পরিষেবাগুলিকে অবহিত করা। রিলিজ চেকলিস্ট CI/CD-এর মাধ্যমে স্বয়ংক্রিয় হওয়া উচিত — উদাহরণস্বরূপ, একটি GitHub Actions ওয়ার্কফ্লো হিসাবে যা রিলিজ ট্যাগ তৈরি করার আগে সমস্ত পয়েন্ট পরীক্ষা করে।
প্রস্তুতির একটি গুরুত্বপূর্ণ উপাদান হল ব্ল্যাকআউট পিরিয়ড (blackout period) — যে সময়কালে প্রোডাকশনে ডিপ্লয়মেন্ট নিষিদ্ধ। সাধারণত, ব্ল্যাকআউট রিলিজ ডে-র 48 ঘন্টা আগে চালু করা হয় এবং সফল 100% রোলআউটের 24 ঘন্টা পরে তুলে নেওয়া হয়। চেঞ্জ ফ্রিজ ব্ল্যাকআউট পিরিয়ডের সময় রিলিজের সাথে সম্পর্কিত সমস্ত পরিষেবার ক্ষেত্রে প্রযোজ্য।
রিলিজ ডে-র 24-48 ঘন্টা আগে, কোড ফ্রিজ চালু করা হয় — কোডে পরিবর্তনের সম্পূর্ণ বন্ধ। ডেভেলপাররা ডকুমেন্টেশন এবং রিলিজ নোট প্রস্তুত করার দিকে মনোনিবেশ করেন। DevOps একটি নির্ধারিত ট্যাগ (যেমন v2.6.0-rc1) থেকে রিলিজ বিল্ড তৈরি করে। বিল্ডটি সম্পূর্ণ রিগ্রেশন স্যুট (স্বয়ংক্রিয় + ম্যানুয়াল পরীক্ষা) এর মধ্য দিয়ে যায়। যদি সমালোচনামূলক বাগ পাওয়া যায়, সেগুলি কোড ফ্রিজের আগে ঠিক করা হয় বা রিলিজ স্থগিত করা হয়। রিলিজ ক্যান্ডিডেট (RC) — একটি বিল্ড যা QA পাস করেছে এবং স্টোরে পাঠানোর জন্য প্রস্তুত।
Git-এ ট্যাগিং: একটি অ্যানোটেটেড ট্যাগ তৈরি করা হয় (git tag -a v2.6.0 -m “Release v2.6.0”)। CI/CD পাইপলাইন Google Play-এর জন্য AAB (Android App Bundle) এবং Apple App Store-এর জন্য IPA (iOS App Store Package) তৈরি করে। বিল্ডের সাথে সংযুক্ত থাকে: চেকসাম ফাইল (SHA256), চেঞ্জলগ এবং পরিচিত সমস্যার তালিকা (known issues)। রিপ্রোডিউসেবল বিল্ড — একটি আদর্শ অনুশীলন যেখানে একই ট্যাগ থেকে পুনরায় বিল্ড করলে বাইনারি-অভিন্ন ফলাফল পাওয়া যায়।
# রিলিজ পাইপলাইন — ট্যাগ তৈরি এবং বিল্ড
# ধরে নেয় কোড ফ্রিজ ইতিমধ্যে সক্রিয়
# develop থেকে রিলিজ ব্রাঞ্চ তৈরি করুন
git checkout develop
git pull origin develop
git checkout -b release/v2.6.0
git push origin release/v2.6.0
# কোড ফ্রিজ: ব্রাঞ্চ সুরক্ষা নিয়ম নতুন PR ব্লক করে
# CI/CD-তে রিগ্রেশন স্যুট চালান
./gradlew clean testReleaseUnitTest connectedReleaseTest
# সফল QA-র পরে রিলিজ ট্যাগ তৈরি করুন
git tag -a v2.6.0 -m "Release v2.6.0: payment module, dark mode"
git push origin v2.6.0
# CI/CD-এর মাধ্যমে রিলিজ বাইনারি তৈরি করুন
# fastlane build_release AAB + universal APK তৈরি করে
fastlane build_release
গুরুত্বপূর্ণ: ভার্সন বাম্প (version code এবং version name আপডেট করা) কোড ফ্রিজের আগে করা হয়। কোড ফ্রিজের পরে, ভার্সন পরিবর্তন হয় না। Android-এর জন্য: versionCode — একটি একঘেয়েভাবে বর্ধনশীল পূর্ণসংখ্যা; versionName — সিম্যান্টিক ভার্সন (2.6.0)। iOS-এর জন্য: CFBundleVersion (বিল্ড নম্বর) এবং CFBundleShortVersionString (সিম্যান্টিক ভার্সন)। ভার্সনিং gradle/xcconfig-এ স্বয়ংক্রিয় হওয়া উচিত।
iOS-এর জন্য: বিল্ড Xcode, Transporter বা fastlane-এর মাধ্যমে App Store Connect-এ আপলোড করা হয়। আপলোডের পরে, বিল্ডটি একটি স্বয়ংক্রিয় Apple পরীক্ষা (processing) এর মধ্য দিয়ে যায়, তারপর ম্যানুয়াল রিভিউতে পাঠানো হয়। গড় রিভিউ সময় 24 ঘন্টা, তবে Apple রিভিউয়ারদের কাজের চাপ এবং কমপ্লায়েন্স প্রয়োজনীয়তার উপর নির্ভর করে 1 ঘন্টা থেকে 7 দিন পর্যন্ত পরিবর্তিত হতে পারে। এক্সপিডাইটেড রিভিউ — সমালোচনামূলক বাগ ফিক্সের জন্য ত্বরিত রিভিউর অনুরোধ (মাসে একবারের বেশি পাওয়া যায় না, গ্যারান্টিযুক্ত নয়)।
Android-এর জন্য: বিল্ড Google Play Console-এর মাধ্যমে আপলোড করা হয়। Google একটি সম্মিলিত পদ্ধতি ব্যবহার করে: স্বয়ংক্রিয় পরীক্ষা (অ্যাক্সেসিবিলিটি, ম্যালওয়্যার, নীতি সম্মতি) + নির্বাচনী ম্যানুয়াল রিভিউ। গড় রিভিউ সময় 1-4 ঘন্টা। অভ্যন্তরীণ পরীক্ষণ ট্র্যাক এবং ক্লোজড ট্র্যাক প্রোডাকশন ট্র্যাকে প্রকাশের আগে চূড়ান্ত পরীক্ষার অনুমতি দেয়। প্রস্তাবনা: অভ্যন্তরীণ পরীক্ষায় 1-2 দিন → ক্লোজড বিটায় 1 দিন → ক্রমিক প্রোডাকশন রোলআউট।
উভয় প্ল্যাটফর্মের জন্য, বিল্ড আপলোড করার আগে মেটাডেটা পরীক্ষা করা সমালোচনামূলকভাবে গুরুত্বপূর্ণ: অ্যাপের নাম, বিবরণ (সংক্ষিপ্ত + সম্পূর্ণ), প্রতিটি সমর্থিত ডিভাইসের জন্য স্ক্রিনশট (iPhone 6.5″, 5.5″, iPad, Android ফোন, ট্যাবলেট), কিওয়ার্ড (iOS) বা স্টোর লিস্টিং এক্সপেরিমেন্ট (Android)। মেটাডেটায় ত্রুটি রিভিউকে অতিরিক্ত এক দিন বিলম্বিত করতে পারে। অ্যাপ মেটাডেটা সমস্ত সমর্থিত ভাষায় স্থানীয়করণ করা উচিত।
স্টেজড রোলআউট (ক্রমিক রোলআউট, ধাপে ধাপে ডিপ্লয়মেন্ট) একটি কৌশল যেখানে একটি নতুন সংস্করণ ব্যবহারকারীদের জন্য একবারে নয়, বরং ধাপে ধাপে উপলব্ধ হয়। একটি পরিণত টিমের জন্য সাধারণ স্কিম: 1% ব্যবহারকারী (প্রথম 2-4 ঘন্টা) → 10% (24 ঘন্টা) → 25% (24 ঘন্টা) → 50% (24 ঘন্টা) → 100%। প্রতিটি ধাপে মেট্রিক মনিটরিং এবং সমালোচনামূলক ত্রুটির অনুপস্থিতি পরীক্ষা অন্তর্ভুক্ত। স্টেজড রোলআউট রিলিজের সময় ঝুঁকি কমানোর প্রাথমিক হাতিয়ার।
Google Play Console অন্তর্নির্মিত স্টেজড রোলআউট সরবরাহ করে: আপনি ব্যবহারকারীর শতাংশ নির্দিষ্ট করতে পারেন এবং ক্রমিক বৃদ্ধির সময়সূচী নির্ধারণ করতে পারেন। iOS App Store Connect-এর জন্য, এমন কোনও অন্তর্নির্মিত বৈশিষ্ট্য নেই — স্টেজড রোলআউট ফেজড রিলিজ (7 দিনের মধ্যে স্বয়ংক্রিয় কভারেজ বৃদ্ধি যা বিরাম দেওয়া যেতে পারে) বা ভূ-বিতরণ সহ সার্ভার-সাইড ফিচার ফ্ল্যাগের মাধ্যমে প্রয়োগ করা হয়। ফেজড রিলিজ App Store Connect-এ সমস্যা পাওয়া গেলে রিলিজ বিরাম দেওয়ার অনুমতি দেয়।
পরবর্তী ধাপে যাওয়ার জন্য মূল মেট্রিক: ক্র্যাশ-ফ্রি রেট (নতুন রিলিজের জন্য ≥99.9%), ANR রেট (Android, ≤0.1%), ব্যাকএন্ড API-তে ত্রুটি রেট (≤0.5% 5xx), ব্যবহারকারী রেটিং (পূর্ববর্তী সংস্করণের চেয়ে কম নয়), apdex স্কোর (≥0.94)। যদি কোনও মেট্রিক সীমা অতিক্রম করে, তবে কারণ নির্ধারণ না হওয়া পর্যন্ত রোলআউট বিরাম দেওয়া হয়। Go/no-go গেট প্রতিটি ধাপে রিলিজ ম্যানেজার বা অন-কল ইঞ্জিনিয়ারের দায়িত্ব।
রিলিজের পর প্রথম 4 ঘন্টা সবচেয়ে গুরুত্বপূর্ণ সময়। টিম ক্র্যাশ রেট (Sentry, Firebase Crashlytics, App Center), ব্যাকএন্ডে 5xx ত্রুটি রেট, কাস্টম ইভেন্ট (সফল পেমেন্ট, লগইন, রেজিস্ট্রেশন), App Store এবং Google Play-তে ব্যবহারকারী রেটিং এবং সোশ্যাল মিডিয়া উল্লেখ (Twitter, Reddit) মনিটর করে। মনিটরিং ড্যাশবোর্ড আগে থেকে প্রস্তুত করা উচিত এবং অফিসে একটি বড় স্ক্রিনে বা ডেডিকেটেড Slack চ্যানেলে উপলব্ধ থাকা উচিত। রিলিজ ড্যাশবোর্ড — সমস্ত রিলিজ মেট্রিকের জন্য একক প্যান।
বিশেষ মনোযোগ রিগ্রেশন মেট্রিকের দিকে: অনুরূপ সময়কালে পূর্ববর্তী সংস্করণের সাথে ক্র্যাশ রেট তুলনা করা। যদি ক্র্যাশ রেট 0.1% এর বেশি বেড়ে যায়, এটি একটি লাল পতাকা যা তাৎক্ষণিক বিশ্লেষণ প্রয়োজন। মূল API এন্ডপয়েন্টের মিডিয়ান এবং p95 লেটেন্সি তুলনা করাও গুরুত্বপূর্ণ: ক্র্যাশ ছাড়াও, প্রতিক্রিয়া সময়ে 200ms বৃদ্ধি একটি সমস্যার ইঙ্গিত দিতে পারে। মেট্রিক তুলনা (বেসলাইন বনাম বর্তমান) Datadog বা Grafana-তে স্বয়ংক্রিয় হয়।
ব্যবহারকারীর প্রতিক্রিয়া সংখ্যাগত মেট্রিকের মতোই গুরুত্বপূর্ণ। রিলিজের পর প্রথম ঘন্টাগুলিতে, ব্যবহারকারীরা সক্রিয়ভাবে স্টোরে রিভিউ দেয় এবং সাপোর্টে লেখে। পরীক্ষায় ধরা না পড়া বাগ রিভিউতে দ্রুত প্রকাশ পায়। টিম লিড বা একজন নিযুক্ত QA ইঞ্জিনিয়ার প্রথম 4 ঘন্টায় প্রতি 30 মিনিটে রিভিউ মনিটর করে এবং সেগুলি শ্রেণিবদ্ধ করে: মিথ্যা পজিটিভ, পরিচিত সমস্যা (ইতিমধ্যে known issues তালিকায়), নতুন বাগ। নতুন বাগ P0/P1 — রোলআউট বিরাম দেওয়ার ট্রিগার।
রোলব্যাক হল সমালোচনামূলক সমস্যা পাওয়া গেলে পূর্ববর্তী স্থিতিশীল সংস্করণে ফিরে যাওয়া। রোলব্যাকের সিদ্ধান্ত রিলিজ ম্যানেজার টেক লিডের সাথে একত্রে নেয় যদি: নতুন রিলিজের ক্র্যাশ-ফ্রি রেট 99% এর নিচে নেমে যায়, ডেটা লিক ধরা পড়ে, সমালোচনামূলক কার্যকারিতা (পেমেন্ট, প্রমাণীকরণ) 5% এর বেশি ব্যবহারকারীর জন্য কাজ না করে, বা স্টোর (App Store Review) প্রকাশের পরে বিল্ড প্রত্যাখ্যান করে। রোলব্যাক ট্রিগার রিলিজের আগে সংজ্ঞায়িত করা উচিত যাতে সিদ্ধান্ত আবেগের পরিবর্তে তথ্যের ভিত্তিতে নেওয়া হয়।
Android-এর জন্য: Google Play Console-এ রোলব্যাক মানে স্টেজড রোলআউট বন্ধ করা এবং পূর্ববর্তী সংস্করণে স্যুইচ করা। যদি বর্তমান বিল্ড ইতিমধ্যে 100% ব্যবহারকারীর কাছে থাকে, তবে পূর্ববর্তী সংস্করণটি নতুন রিলিজ হিসাবে প্রকাশ করুন। iOS-এর জন্য: App Store Connect-এর মাধ্যমে — ফেজড রিলিজ → রিলিজ বিরাম দিন → ফিক্স সহ নতুন সংস্করণ প্রকাশ করুন (App Store পূর্ববর্তী সংস্করণে ফিরে যাওয়ার অনুমতি দেয় না)। iOS রোলব্যাক আরও জটিল: ডেভেলপারকে revert কমিট সহ একটি নতুন বিল্ড তৈরি করতে হবে এবং আবার রিভিউ প্রক্রিয়ার মধ্য দিয়ে যেতে হবে।
রোলব্যাকের পরে, টিম ঘটনা মোডে চলে যায়: মূল কারণ বিশ্লেষণ, হটফিক্স বা ফিক্স সহ পরবর্তী রিলিজ, পোস্ট-মর্টেম। রোলব্যাক ব্যর্থতা নয় বরং একটি মানক পদ্ধতি। যে টিমগুলি কখনও রোলব্যাক করেনি তারা সম্ভবত সমস্যাগুলি লক্ষ্য করছে না, বাগ-মুক্ত রিলিজ দিচ্ছে না। রোলব্যাক রেট DORA মেট্রিকগুলির মধ্যে একটি: উচ্চ-কার্যক্ষমতা সম্পন্ন টিমগুলি 10% এর কম রিলিজে রোলব্যাক করে এবং 1 ঘন্টার কম সময়ে পুনরুদ্ধার করে।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
সেরা দিনগুলি হল মঙ্গলবার, বুধবার বা বৃহস্পতিবার। সোমবার — সপ্তাহান্ত থেকে উচ্চ ট্রাফিক, শুক্রবার — সমস্যাযুক্ত রিলিজ নিয়ে সপ্তাহান্তে যাওয়ার ঝুঁকি। শুক্রবার এড়িয়ে চলুন: যদি ডিপ্লয়মেন্টের পরে কোনো সমস্যা পাওয়া যায়, টিম সপ্তাহান্তে এটি ঠিক করবে বা সোমবার পর্যন্ত অপেক্ষা করবে।
Resolution Center-এ প্রত্যাখ্যানের কারণ পড়ুন, এটি ঠিক করুন এবং বিল্ড পুনরায় আপলোড করুন। সাধারণ কারণ: ভাঙা লিঙ্ক, অসম্পূর্ণ ফিল্ড, সাবস্ক্রিপশন ছাড়া সামগ্রী (যদি প্রয়োজন হয়), পুরানো স্ক্রিনশট। App Review প্রত্যাখ্যান রিলিজে 24-48 ঘন্টা বিলম্ব ঘটায়, তাই প্রথম বিল্ড আপলোড পরিকল্পিত রিলিজ তারিখের 3-5 দিন আগে হওয়া উচিত।
বড় রিলিজের (প্রধান পরিবর্তন) জন্য — 1%। প্যাচ রিলিজের জন্য — 5-10%। প্রথম ধাপটি যথেষ্ট ছোট হওয়া উচিত যাতে ত্রুটির ক্ষেত্রে প্রভাব ন্যূনতম হয়, কিন্তু পরিসংখ্যানগতভাবে উল্লেখযোগ্য মেট্রিক পাওয়ার জন্য যথেষ্ট বড়। 1% 10 মিলিয়ন ব্যবহারকারীর অ্যাপের জন্য 100,000 জন — সমালোচনামূলক সমস্যা সনাক্ত করার জন্য যথেষ্ট।
রিলিজ পার্টি (টিম উদযাপন) ঐচ্ছিক কিন্তু মনোবলের জন্য উপকারী। বিল্ড আপলোডের মুহূর্তের পরিবর্তে সফল 100% রোলআউটের পরে এটি করা ভাল। রিলিজ উদযাপন রিলিজ রেট্রোস্পেকটিভের সাথে একত্রিত করা যেতে পারে যা নিয়ে আলোচনা করতে কী ভাল হয়েছে এবং কী উন্নতি করা যেতে পারে।
দায়িত্ব রিলিজ ম্যানেজারের (সাধারণত একজন সিনিয়র ইঞ্জিনিয়ার বা টেক লিড)। সিদ্ধান্ত ডেডলাইনের পরিবর্তে রিলিজ ড্যাশবোর্ডের তথ্যের ভিত্তিতে নেওয়া হয়। রিলিজ ম্যানেজার-এর রিলিজ বিলম্বিত করার কর্তৃত্ব রয়েছে যদি মেট্রিক go/no-go গেট পাস না করে।
সারসংক্ষেপ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন