এই ডকুমেন্টটি একটি CI/CD পরিবেশে আপনার Apple প্ল্যাটফর্মের প্রি-রিলিজ টেস্টিং ওয়ার্কফ্লোকে টেকসই এবং পুনরাবৃত্তিযোগ্য করে তোলার জন্য Firebase App Distribution এবং fastlane ব্যবহারের সেরা পদ্ধতিগুলো তুলে ধরে। যদিও এই ডকুমেন্টটি fastlane-এর উপর আলোকপাত করে, আমরা আপনাকে আরও বেশি নমনীয়তা দেওয়ার জন্য Firebase কনসোল, Firebase CLI, এবং পাবলিক Firebase App Distribution API-এর মাধ্যমে উপলব্ধ সমাধানগুলোও বর্ণনা করেছি। আমরা রিলিজ এবং পরীক্ষকের সীমাবদ্ধতাগুলোও বর্ণনা করেছি, যাতে আপনি একটি সর্বোত্তম অভিজ্ঞতার জন্য আগে থেকেই পরিকল্পনা করতে পারেন।
আপনিও যদি অ্যান্ড্রয়েড ব্যবহার করেন, তাহলে CI/CD ব্যবহার করে QA পরীক্ষকদের কাছে অ্যান্ড্রয়েড অ্যাপ বিতরণের সেরা পদ্ধতিগুলো দেখুন।
শুরু করার আগে
এই ডকুমেন্টে উল্লেখিত সেরা অনুশীলনগুলি প্রয়োগ করার আগে, প্রতিটি অ্যাপের জন্য Firebase কনসোলে App Distribution সক্রিয় করা নিশ্চিত করুন। যদি আপনি App Distribution সক্রিয় না করে থাকেন, তাহলে আপনি একটি 404 ত্রুটি পাবেন।
App Distribution চালু করতে, এই ধাপগুলো অনুসরণ করুন:
Firebase কনসোলে App Distribution পেজটি খুলুন।
আপনার iOS অ্যাপটি নির্বাচন করুন।
শুরু করতে ক্লিক করুন।
CI/CD ব্যবহার করে আপনার প্রি-রিলিজ টেস্টিং ওয়ার্কফ্লো স্বয়ংক্রিয় করুন
আপনি যদি আপনার পরীক্ষকদের কাছে অ্যাপ তৈরি ও প্রকাশ করার প্রক্রিয়াটি স্বয়ংক্রিয় করতে চান এবং CI/CD ব্যবহার করেন, তাহলে আমরা আপনাকে fastlane ব্যবহার করার পরামর্শ দিই। আরেকটি বিকল্প হলো Firebase CLI ব্যবহার করা, যা আপনাকে বিভিন্ন ধরনের Firebase প্রোডাক্ট অ্যাক্সেস করার সুযোগ দেয়।
ফাস্টলেন ব্যবহার করুন
ফাস্টলেন (fastlane) ব্যবহার করে আপনার CI/CD পাইপলাইনে App Distribution একীভূত করুন। এটি একটি ওপেন সোর্স টুল যা iOS এবং Android অ্যাপের বিল্ড ও রিলিজ প্রক্রিয়াকে স্বয়ংক্রিয় করে। আপনার সর্বশেষ রিলিজগুলো স্বয়ংক্রিয়ভাবে বিল্ড করে পরীক্ষকদের কাছে বিতরণ করার মাধ্যমে, আপনি নিশ্চিত করেন যে পরীক্ষকদের কাছে সর্বদা আপনার অ্যাপের সবচেয়ে হালনাগাদ টেস্ট সংস্করণটি থাকবে।
ফাস্টলেনের সাথে App Distribution কীভাবে ইন্টিগ্রেট করতে হয় তা জানতে, “ফাস্টলেন ব্যবহার করে পরীক্ষকদের কাছে iOS অ্যাপ বিতরণ করুন” দেখুন। এছাড়াও একটি কোডল্যাব দেখুন যা আপনাকে ফাস্টলেন ইন্টিগ্রেশন প্রক্রিয়াটি ধাপে ধাপে দেখিয়ে দেবে।
Firebase সিএলআই ব্যবহার করুন
App Distribution প্রদত্ত Firebase সিএলআই টুলস ব্যবহার করে প্রোগ্রাম্যাটিকভাবে পরীক্ষকদের কাছে বিল্ড বিতরণ করুন। আপনি একটি বিল্ডের জন্য পরীক্ষক এবং রিলিজ নোট নির্দিষ্ট করতে পারেন।
অ্যাপটির Firebase App ID উল্লেখ করে আপনার সর্বশেষ iOS বিল্ড test.ipa বিতরণ করুন, সাথে ঐচ্ছিকভাবে একটি রিলিজ নোট এবং পরীক্ষকদের ইমেল সম্বলিত একটি ফাইল যোগ করতে পারেন:
firebase appdistribution:distribute test.ipa \ --app 1:1234567890:ios:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txt
আপনার বিল্ডগুলি স্বয়ংক্রিয় করতে Firebase CLI ব্যবহারের বিষয়ে আরও জানতে, Firebase CLI ব্যবহার করে পরীক্ষকদের কাছে iOS অ্যাপ বিতরণ করুন” দেখুন।
প্রমাণীকরণের জন্য পরিষেবা পরিচয়পত্র ব্যবহার করুন
সার্ভিস অ্যাকাউন্টের সাথে App Distribution ফাস্টলেন প্লাগইন অথবা Firebase সিএলআই ব্যবহার করুন, যা অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস -এর সুবিধা নেয় এবং আপনাকে আপনার সিআই (CI) পরিচালনা করতে সাহায্য করে। সার্ভিস অ্যাকাউন্ট হলো এক ধরনের গুগল অ্যাকাউন্ট যা ব্যবহারকারীদের পরিবর্তে অ্যাপ্লিকেশনগুলোর প্রতিনিধিত্ব করে। আপনার সিআই সিস্টেম আপনার App Distribution ওয়ার্কলোডগুলো চালানোর জন্য সার্ভিস অ্যাকাউন্ট ব্যবহার করতে পারে। আরও জানতে, ‘একটি সার্ভিস অ্যাকাউন্ট দিয়ে প্রমাণীকরণ’ দেখুন।
আপনি যদি ওয়ার্কলোড আইডেন্টিটি ফেডারেশন ব্যবহার করেন, তাহলে সার্ভিস অ্যাকাউন্ট কী-এর পরিবর্তে একটি ক্রেডেনশিয়াল কনফিগারেশন ফাইল তৈরি ও ব্যবহার করতে পারেন।
মুক্তির সীমা মনে রাখবেন
App Distribution প্রতি অ্যাপে সর্বোচ্চ ১,০০০টি রিলিজ সমর্থন করে। এর মানে হলো, যখন আপনি রিলিজের সীমা অতিক্রম করেন, তখন App Distribution স্বয়ংক্রিয়ভাবে সীমার উপরের সবচেয়ে পুরোনো রিলিজগুলো মুছে ফেলে। রিলিজের সীমা কীভাবে পরিচালনা করতে হয় তা জানতে, ‘অ্যাপ রিলিজগুলো কতদিন উপলব্ধ থাকে?’ দেখুন।
একাধিক রিলিজে একই পরীক্ষক দলকে যুক্ত করুন
আপনি যদি আপনার রিলিজগুলোতে বিপুল সংখ্যক পরীক্ষক যুক্ত করতে চান, তাহলে App Distribution -এর বাল্ক টেস্টার ম্যানেজমেন্ট কার্যকারিতা ব্যবহার করুন।
আমরা একই পরীক্ষকদের একাধিক রিলিজে যুক্ত করতে গ্রুপ ব্যবহার করার পরামর্শ দিই। একটি গ্রুপ অ্যাক্সেস কন্ট্রোল লিস্ট হিসেবে কাজ করে; যখন আপনি কোনো পরীক্ষককে একটি গ্রুপ থেকে সরিয়ে দেন, তখন সেই গ্রুপে বিতরণ করা সমস্ত রিলিজে তার অ্যাক্সেস চলে যায়। আরও জানতে, ‘একটি গ্রুপ থেকে পরীক্ষক যুক্ত করা এবং সরানো’ দেখুন।
আপনার যদি অনেক পরীক্ষক পরিচালনা করার থাকে, তাহলে আপনি Firebase কনসোল ব্যবহার করে একসাথে অনেক পরীক্ষক যোগ এবং মুছে ফেলতে পারেন। পরীক্ষক যোগ এবং অপসারণের প্রক্রিয়াটি স্বয়ংক্রিয় করতে, Firebase CLI , fastlane , অথবা পাবলিক Firebase App Distribution API ব্যবহার করুন।
পরীক্ষকের সীমাবদ্ধতা মনে রাখবেন
App Distribution একটি ফায়ারবেস প্রজেক্ট বা App Distribution গ্রুপে আপনি কতজন পরীক্ষক যোগ করতে পারবেন তার একটি সীমা নির্ধারণ করে দেয়। যখন আপনি এই সীমা অতিক্রম করবেন, তখন আপনি অতিরিক্ত পরীক্ষকদের কাছে আপনার অ্যাপটি বিতরণ করতে পারবেন না। পরীক্ষকের সীমা সম্পর্কে আরও জানতে, "আমার অ্যাপে পরীক্ষক যোগ করার ক্ষেত্রে কোনো সীমা আছে কি?" দেখুন।
নতুন iOS পরীক্ষক ডিভাইসগুলি পরিচালনা করুন এবং স্বয়ংক্রিয়ভাবে যুক্ত করুন
অতিরিক্ত iOS টেস্টার ডিভাইস রেজিস্টার করতে আপনাকে সাহায্য করার জন্য, App Distribution ইমেল বা CSV ফাইলের মাধ্যমে নতুন টেস্টার iOS ডিভাইস সম্পর্কে জানিয়ে অ্যাপল ডেভেলপার পোর্টালে আপনার iOS টেস্টার ডিভাইসগুলো পরিচালনা করতে সহায়তা করে। আরও জানতে, ‘CSV ফাইল থেকে টেস্টার ইম্পোর্ট করুন’ দেখুন। এছাড়াও আপনি fastlane ব্যবহার করে প্রোগ্রাম্যাটিকভাবে নতুন ডিভাইস এক্সপোর্ট করতে পারেন।
কীভাবে এমন একটি ফাস্টলেন অ্যাকশন সেট আপ করতে হয় যা স্বয়ংক্রিয়ভাবে UDID-গুলো ডাউনলোড করে, সেগুলোকে অ্যাপল ডেভেলপার কনসোলে যুক্ত করে, এবং তারপর অ্যাপটি রিবিল্ড ও ডিস্ট্রিবিউট করে, তা জানতে App Distribution এবং ফাস্টলেন ব্যবহার করে আপনার প্রি-রিলিজ iOS বিল্ডগুলো আরও দ্রুত ডিস্ট্রিবিউট করুন” দেখুন।
সম্ভাব্য পরীক্ষার্থীদের পরীক্ষার জন্য স্ব-নিবন্ধনের সুযোগ দিন।
আরও বেশি পরীক্ষকের কাছে আপনার অ্যাপ বিতরণ সহজ করার জন্য, আমরা আপনাকে ইনভাইট লিঙ্ক ব্যবহার করার পরামর্শ দিই। ইনভাইট লিঙ্ক হলো একটি অনন্য ইউআরএল, যা পরীক্ষকদের একটি অ্যাপ পরীক্ষা করার জন্য সাইন আপ করতে তাদের ইমেল ঠিকানা প্রবেশ করানোর সুযোগ দেয়। ব্যবহারকারীদের আপনার অ্যাপ পরীক্ষকদের তালিকায় নিজেদের যুক্ত করার সুযোগ দেওয়া আপনার অভ্যন্তরীণ পরীক্ষকের সংখ্যা বাড়ানোর একটি সহজ উপায়।
ইনভাইট লিঙ্কের ব্যবহারগুলোর মধ্যে রয়েছে কোম্পানির ডগফুড প্রোগ্রাম, বড় QA টিমযুক্ত প্রতিষ্ঠান এবং এমন ডেভেলপার গ্রুপ যারা চায় যেন প্রত্যেক ক্লায়েন্ট টেস্টারের অ্যাক্সেস নিয়ন্ত্রণ করতে পারে।
আমরা একটি গ্রুপের জন্য একটি আমন্ত্রণ লিঙ্ক তৈরি করার পরামর্শ দিই। যে কোনো পরীক্ষক যিনি আমন্ত্রণ লিঙ্কটি ব্যবহার করে সাইন আপ করবেন, তিনি স্বয়ংক্রিয়ভাবে পরবর্তী রিলিজগুলিতে যুক্ত হয়ে যাবেন।
আরও জানতে, আমন্ত্রণ লিঙ্ক তৈরি করুন এবং একটি গ্রুপ থেকে পরীক্ষক যোগ ও অপসারণ করুন দেখুন।
নিশ্চিত করুন যে পরীক্ষকরা আপনার কাঙ্ক্ষিত সংস্করণটিই পরীক্ষা করছেন।
যখন একটি নতুন সংস্করণ আপলোড করা হয়, তখন আপনার পরীক্ষকদের ইমেলের মাধ্যমে জানানো হয়। এই বিজ্ঞপ্তির পাশাপাশি, আপনি নিম্নলিখিত বৈশিষ্ট্যগুলি—যেমন রিলিজ লিঙ্ক এবং ইন-অ্যাপ অ্যালার্ট—ব্যবহার করতে পারেন, যাতে নিশ্চিত করা যায় যে আপনার পরীক্ষকরা আপনার কাঙ্ক্ষিত নির্দিষ্ট অ্যাপ সংস্করণটিই পরীক্ষা করছেন।
রিলিজ লিঙ্ক: যখন আপনি পরীক্ষকদের সাথে একটি নির্দিষ্ট সংস্করণ শেয়ার করতে চান, তখন এই বৈশিষ্ট্যটি ব্যবহার করুন। রিলিজ লিঙ্ক কীভাবে ব্যবহার করতে হয় তা জানতে, Firebase কনসোল ব্যবহার করে পরীক্ষকদের কাছে iOS অ্যাপ বিতরণ করুন” দেখুন। এই লিঙ্কগুলি আপনার বিল্ড অটোমেশন টুলের সাথে ব্যবহারের জন্য আমাদের Firebase এবং fastlane কমান্ড-লাইন (CLI) টুলের সাথেও উপলব্ধ।
ইন-অ্যাপ অ্যালার্ট: আপনার পরীক্ষকরা যেন আপনার অ্যাপের সর্বশেষ সংস্করণটি পরীক্ষা করেন, তা নিশ্চিত করতে এই অ্যালার্টগুলো ব্যবহার করুন। Firebase App Distribution iOS SDK ইন্টিগ্রেট করার মাধ্যমে, আপনার অ্যাপের নতুন বিল্ড উপলব্ধ হলে আপনি সরাসরি অ্যাপের ভেতরেই আপনার পরীক্ষকদের জন্য অ্যালার্ট প্রদর্শন করতে পারেন। ইন-অ্যাপ অ্যালার্ট কীভাবে যোগ করতে হয় তা জানতে, “নতুন বিল্ড সম্পর্কে পরীক্ষকদের অবহিত করুন” দেখুন।
যেসব পরীক্ষক কোম্পানি ছেড়ে চলে যান, তাদের অ্যাক্সেস স্বয়ংক্রিয়ভাবে বাতিল করুন।
আপনার CI/CD অভ্যন্তরীণ টেস্টিং ফ্লো চালু হয়ে গেলে, আপনাকে নিশ্চিত করতে হবে যে যারা কোম্পানি ছেড়ে চলে যাচ্ছেন, তারা যেন আপনার অভ্যন্তরীণ বিল্ডগুলোতে আর অ্যাক্সেস না পান। বিল্ডগুলোতে টেস্টারদের অ্যাক্সেস পরিচালনা করতে আপনাকে সাহায্য করার জন্য, App Distribution নিম্নলিখিত বিকল্পগুলো প্রদান করে:
fastlane: আপনার Fastfile ফাইল ব্যবহার করুন অথবা সরাসরি fastlane অ্যাকশনগুলো চালান। fastlane ব্যবহার করে টেস্টারদের অপসারণ করার বিষয়ে আরও জানতে, "distribute iOS apps to testers using fastlane" দেখুন।
পাবলিক ফায়ারবেস App Distribution এপিআই :
testers.batchRemoveএন্ডপয়েন্টটি ব্যবহার করুন।