যেকোনও কন্টিনিউয়াস ইন্টিগ্রেশন (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 শেল কমান্ড উইন্ডোতে, নিম্নলিখিত তথ্য লিখুন, সার্ভারে স্যাম্পেল অ্যাপের পাথের জন্য <local_server_path>, আপনার অ্যাপের APK-এর জন্য <app_apk> এবং আপনার অ্যাপের টেস্ট APK-এর জন্য <app_test_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 ব্যবহার করবেন তা জানতে, তাদের ডকুমেন্ট চেক করুন: