আপনি যেকোনও কন্টিনিউয়াস ইন্টিগ্রেশন (CI) সিস্টেম ব্যবহার করে অ্যাপ ডেভেলপ করার সময় Firebase Test Lab ব্যবহার করতে পারবেন। কন্টিনিউয়াস ইন্টিগ্রেশন সিস্টেম আপনাকে অটোমেটিক অ্যাপ সোর্স কোডে আপডেট চেক-ইন করার সময় প্রতিবার অ্যাপ তৈরি ও পরীক্ষা করতে দেয়।
Jenkins CI-এর সাথে Firebase Test Lab ব্যবহার করা
এই বিভাগে Jenkins CI-এর সাথে Test Lab কীভাবে ব্যবহার করতে হয় তা বর্ণনা করা হয়েছে।
প্রয়োজনীয়তা
Jenkins-এর সাথে Firebase Test Lab ব্যবহার করার আগে, আপনাকে নিচের ধাপগুলি সম্পূর্ণ করতে হবে:
gcloud সেট-আপ করুন। Firebase প্রোজেক্ট তৈরি করতে এবং আপনার লোকাল Google Cloud SDK এনভায়রনমেন্ট কনফিগার করতে gcloud কমান্ড লাইন থেকে Firebase Test Lab ব্যবহার করা লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করুন।
পরিষেবা অ্যাকাউন্ট তৈরি ও অনুমোদন করুন। পরিষেবা অ্যাকাউন্ট স্প্যাম চেক বা ক্যাপচা প্রম্পটের অধীন নয়, যা অন্যথায় আপনার CI বিল্ড ব্লক করতে পারে। Google Cloud কনসোলে এডিটর ভূমিকা সহ একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন এবং তারপরে এটি অ্যাক্টিভেট করুন (কীভাবে তা জানতে gcloud auth activate-service-account ডকুমেন্টেশন দেখুন)।
প্রয়োজনীয় API চালু করুন। পরিষেবা অ্যাকাউন্ট ব্যবহার করে লগ-ইন করার পরে: Google Developers Console API লাইব্রেরি পৃষ্ঠাতে গিয়ে, Google Cloud Testing API ও Cloud Tool Results API চালু করুন। এইসব API চালু করতে, কনসোলের উপরে সার্চ বক্সে এইসব API-এর নাম টাইপ করুন এবং তারপর সেই API-এর ওভারভিউ পৃষ্ঠায় API চালু করুন বিকল্পে ক্লিক করুন।
Jenkins ইনস্টল ও সেট-আপ করা
আপনি Linux বা Windows-এ Jenkins CI ইনস্টল ও সেট-আপ করতে পারবেন। এই নির্দেশিকার
কিছু বিবরণ Linux-এ Jenkins CI ইনস্টল ও রান করার জন্য নির্দিষ্ট, এর মধ্যে
ফাইল পাথে স্ল্যাশ (/) ব্যবহার করা অন্তর্ভুক্ত।
Linux বা Windows-এ চলে এমন কম্পিউটারে Jenkins ডাউনলোড ও ইনস্টল করতে, Jenkins ইনস্টল করা সংক্রান্ত নির্দেশাবলী অনুসরণ করুন। Jenkins ইনস্টল করার পরে, সেট-আপ সম্পূর্ণ করতে এবং Jenkins ড্যাশবোর্ড অ্যাক্সেস করতে, Jenkins চালু ও অ্যাক্সেস করা লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করুন।
গ্লোবাল নিরাপত্তা সেটিংস কনফিগার করা
প্রথমবার ইনস্টল করার সময় Jenkins-এ ব্যবহারকারী যাচাইকরণ ও অ্যাক্সেস কন্ট্রোল কনফিগার করা থাকে না। Firebase Test Lab-এর সাথে Jenkins ব্যবহার করার আগে, অ্যাক্সেস কন্ট্রোল প্রয়োগ করতে এবং ব্যবহারকারীদের প্রমাণিত করতে গ্লোবাল নিরাপত্তা সেটিংস কনফিগার করুন।
গ্লোবাল নিরাপত্তা সেটিংস কনফিগার করতে
- আপনার সার্ভারে Jenkins ড্যাশবোর্ডে নেভিগেট করুন। এটি করতে, ব্রাউজ করে http://<servername>:8080 লিঙ্কে যান, যেখানে <servername> হল সেই কম্পিউটারের নাম যেখানে আপনি Jenkins ইনস্টল করেছেন।
- Jenkins ড্যাশবোর্ডে, Jenkins ম্যানেজ করুন বিকল্পে ক্লিক করুন, তারপরে গ্লোবাল নিরাপত্তা কনফিগার করুন বিকল্পে ক্লিক করুন।
- গ্লোবাল নিরাপত্তা কনফিগার করুন পৃষ্ঠায়, নিরাপত্তা চালু করুন বিকল্পে ক্লিক করুন এবং তারপর সেভ করুন বিকল্পে ক্লিক করুন।
Jenkins-এর জন্য নিরাপত্তা সেটিংস কনফিগার করা সম্পর্কে আরও তথ্যের জন্য, দেখুন দ্রুত ও সহজ নিরাপত্তা, স্ট্যান্ডার্ড নিরাপত্তা সেট-আপ, এবং Jenkins সুরক্ষিত করা।
Jenkins প্রোজেক্ট তৈরি করা
এরপরে, Firebase Test Lab-এর সাহায্যে আপনার অ্যাপের কন্টিনিউয়াস ইন্টিগ্রেশন টেস্টিং চালানোর জন্য একটি প্রোজেক্ট তৈরি করুন।
Jenkins প্রোজেক্ট তৈরি করতে
- আপনার সার্ভারে Jenkins ড্যাশবোর্ডে নেভিগেট করুন। এটি করতে, ব্রাউজ করে http://<servername>:8080 লিঙ্কে যান, যেখানে <servername> হল সেই কম্পিউটারের নাম যেখানে আপনি Jenkins ইনস্টল করেছেন।
- Jenkins ড্যাশবোর্ডে, নতুন আইটেম বিকল্পে ক্লিক করুন।
- আইটেমের নাম ফিল্ডে আপনার প্রোজেক্টের নাম লিখুন:
- সিঙ্গেল বিল্ড কনফিগারেশন ব্যবহার করে এমন প্রোজেক্ট তৈরি করতে ফ্রি-স্টাইল প্রোজেক্ট বেছে নিন।
- এমন প্রোজেক্ট তৈরি করতে মাল্টি-কনফিগারেশন প্রোজেক্ট তৈরি করুন বিকল্প বেছে নিন যা একাধিক আলাদা আলাদা বিল্ড কনফিগারেশনে রান করে। আপনি যদি বিভিন্ন ধরনের বিল্ড কনফিগারেশন (একাধিক লোকেল, একাধিক Android API লেভেল ইত্যাদি) সহ আপনার অ্যাপ তৈরি করার পরিকল্পনা করেন, তাহলে মাল্টি-কনফিগারেশন প্রোজেক্ট হল সবচেয়ে ভালো বিকল্প।
- সেভ করুন বিকল্পে ক্লিক করুন।
আপনার প্রোজেক্ট তৈরি হয়ে গেলে, আপনার ওয়েব ব্রাউজার প্রোজেক্টের মূল পৃষ্ঠা দেখাবে।
রিভিশন কন্ট্রোল ও Gradle বিল্ড ধাপ যোগ করা
এই বিভাগে, কীভাবে GitHub-এর মতো রিভিশন কন্ট্রোল সিস্টেমের সাথে Jenkins ইন্টিগ্রেট করতে হয় এবং কীভাবে সোর্স কোড থেকে APK প্যাকেজ তৈরি করার জন্য Gradle বিল্ড স্টেপ যোগ করতে হয় তা বর্ণনা করা হয়েছে।
GitHub ও অন্যান্য রিভিশন কন্ট্রোল সিস্টেমের সাথে ইন্টিগ্রেট করা
আপনার অ্যাপের সোর্স কোড ম্যানেজ করার জন্য আপনি GitHub বা অন্য কোনও রিভিশন কন্ট্রোল সিস্টেম ব্যবহার করলে, আপনার অ্যাপে আপডেট চেক-ইন করার সময় অটোমেটিক বিল্ড ও টেস্ট রান করার জন্য আপনি Jenkins কনফিগার করতে পারবেন। এছাড়াও, আপনি নির্দিষ্ট সময় অন্তর বিল্ড চালানোর জন্য Jenkins কনফিগার করতে পারেন।
Jenkins-এ বিল্ড কনফিগার করা সম্পর্কে জানতে, অটোমেটিক বিল্ড কনফিগার করা দেখুন।
APK প্যাকেজ আবার তৈরি করতে Gradle বিল্ড ধাপ যোগ করা
আপনার অ্যাপের সোর্স কোড ম্যানেজ করার জন্য আপনি কোনও রিভিশন কন্ট্রোল সিস্টেম ব্যবহার করলে, Jenkins প্রতিবার আপনার রিভিশন কন্ট্রোল সিস্টেম থেকে সোর্স কোড ডাউনলোড করার সময় নতুন APK বাইনারি তৈরি করতে আপনাকে একটি Gradle বিল্ড স্টেপ যোগ করতে হবে।
আপনার অ্যাপ্লিকেশনের মূল ডিরেক্টরিতে নিম্নলিখিত কমান্ড চালানোর জন্য একটি বিল্ড ধাপ যোগ করুন:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
Test Lab-এর সাথে পরীক্ষা করার সময় Gradle-এর তৈরি করা APK প্যাকেজ ব্যবহার করতে একটি বিল্ড ধাপ যোগ করুন। নিচে দেওয়া শেল স্ক্রিপ্টের উদাহরণে আপনি এই পাথকে <local_server_path> হিসেবে ব্যবহার করতে পারবেন, যেখানে <AppFolder> হল আপনার অ্যাপের জন্য Android Studio প্রোজেক্ট ফোল্ডার:
<AppFolder>/app/build/outputs/apk
Jenkins-এ Test Lab বিল্ড ধাপ যোগ করুন
এখন আপনি gcloud কমান্ড লাইন ব্যবহার করে Test Lab চালানোর জন্য Jenkins-এ বিল্ড স্টেপ যোগ করতে প্রস্তুত।
gcloud বিল্ড ধাপ যোগ করতে
- আপনার প্রোজেক্টের মূল পৃষ্ঠা থেকে, কনফিগার করুন বিকল্পে ক্লিক করুন।
প্রোজেক্ট কনফিগারেশন পৃষ্ঠায়, স্ক্রল করে বিল্ড বিভাগে যান, এবং তারপরে বিল্ড স্টেপ যোগ করুন মেনু থেকে এক্সিকিউট শেল বিকল্প বেছে নিন।
Jenkins Execute shell command উইন্ডোতে, নিম্নলিখিতগুলি লিখুন, <local_server_path>-এর পরিবর্তে সার্ভারে থাকা স্যাম্পেল অ্যাপের পাথ, <app_apk>-এর পরিবর্তে আপনার অ্যাপের APK এবং <app_test_apk>-এর পরিবর্তে আপনার অ্যাপের টেস্ট APK লিখুন:
gcloud firebase test android run --app <local_server_path>/<app_apk>.apk --test <local_server_path>/<app_test_apk>.apk
পরীক্ষার ফলাফল বিশ্লেষণ করা
Test Lab আপনার অ্যাপের পরীক্ষা সম্পূর্ণ করার পরে, আপনি Firebase কনসোলে বা আপনার প্রোজেক্টের
Google Cloud Storage বাকেটে
পরীক্ষার ফলাফল পর্যালোচনা করতে পারবেন। এছাড়াও, আপনার লোকাল কম্পিউটারে পরীক্ষার ফলাফল ডেটা কপি করতে, উপরে দেখানো
gsutil কমান্ডে
কমান্ড যোগ করতে পারেন।
আরও জানতে, ফলাফল Firebase Test Lab বিশ্লেষণ করা দেখুন।
অন্যান্য CI সিস্টেমের সাথে অবিচ্ছিন্ন ইন্টিগ্রেশন
অন্যান্য CI সিস্টেমের সাথে Firebase Test Lab কীভাবে ব্যবহার করতে হয় তা জানতে, তাদের ডকুমেন্ট দেখুন: