যেকোনো কন্টিনিউয়াস ইন্টিগ্রেশন (CI) সিস্টেম ব্যবহার করে আপনার অ্যাপ ডেভেলপ করার সময় আপনি Firebase Test Lab ব্যবহার করতে পারেন। কন্টিনিউয়াস ইন্টিগ্রেশন সিস্টেমগুলো আপনাকে প্রতিবার আপনার অ্যাপের সোর্স কোডে আপডেট চেক ইন করার সাথে সাথে স্বয়ংক্রিয়ভাবে অ্যাপটি বিল্ড ও টেস্ট করার সুযোগ দেয়।
জেনকিন্স সিআই-এর সাথে Firebase Test Lab ব্যবহার করা
এই অংশে জেনকিন্স সিআই (Jenkins CI)- এর সাথে Test Lab কীভাবে ব্যবহার করতে হয় তা বর্ণনা করা হয়েছে।
প্রয়োজনীয়তা
জেনকিন্সের সাথে Firebase Test Lab ব্যবহার করার আগে, আপনাকে নিম্নলিখিত ধাপগুলি সম্পন্ন করতে হবে:
gcloud সেট আপ করুন। একটি Firebase প্রজেক্ট তৈরি করতে এবং আপনার স্থানীয় Google Cloud SDK এনভায়রনমেন্ট কনফিগার করতে, "Using Firebase Test Lab from the gcloud Command Line" থেকে নির্দেশাবলী অনুসরণ করুন।
একটি সার্ভিস অ্যাকাউন্ট তৈরি এবং অনুমোদন করুন। সার্ভিস অ্যাকাউন্টগুলো স্প্যাম চেক বা ক্যাপচা প্রম্পটের আওতাভুক্ত নয়, যা অন্যথায় আপনার CI বিল্ডগুলোকে আটকে দিতে পারে। Google Cloud কনসোলে এডিটর রোলসহ একটি সার্ভিস অ্যাকাউন্ট তৈরি করুন এবং তারপর সেটি সক্রিয় করুন (কীভাবে করতে হয় তা জানতে gcloud auth activate-service-account ডকুমেন্টেশন দেখুন)।
প্রয়োজনীয় এপিআইগুলো সক্রিয় করুন। সার্ভিস অ্যাকাউন্ট ব্যবহার করে লগ ইন করার পর: গুগল ডেভেলপারস কনসোল এপিআই লাইব্রেরি পেজে , গুগল ক্লাউড টেস্টিং এপিআই এবং ক্লাউড টুল রেজাল্টস এপিআই সক্রিয় করুন। এই এপিআইগুলো সক্রিয় করতে, কনসোলের উপরের সার্চ বক্সে এই এপিআইগুলোর নাম টাইপ করুন এবং তারপর সেই এপিআই-এর ওভারভিউ পেজে থাকা ‘এনাবল এপিআই’ (Enable API) বাটনে ক্লিক করুন।
জেনকিন্স ইনস্টল এবং সেট আপ করুন
আপনি লিনাক্স বা উইন্ডোজে জেনকিন্স সিআই ইনস্টল এবং সেট আপ করতে পারেন। এই নির্দেশিকার কিছু বিবরণ লিনাক্সে জেনকিন্স সিআই ইনস্টল এবং চালানোর জন্য নির্দিষ্ট, যার মধ্যে ফাইল পাথে স্ল্যাশ ( / ) এর ব্যবহারও অন্তর্ভুক্ত।
লিনাক্স বা উইন্ডোজ চালিত কম্পিউটারে জেনকিন্স ডাউনলোড ও ইনস্টল করতে, "জেনকিন্স ইনস্টল করা" শীর্ষক নির্দেশাবলী অনুসরণ করুন। জেনকিন্স ইনস্টল করার পর, সেটআপ সম্পূর্ণ করতে এবং জেনকিন্স ড্যাশবোর্ডে প্রবেশ করতে "জেনকিন্স শুরু করা এবং অ্যাক্সেস করা" শীর্ষক নির্দেশাবলী অনুসরণ করুন।
বৈশ্বিক নিরাপত্তা সেটিংস কনফিগার করুন
প্রথমবার ইনস্টল করার সময় জেনকিন্সে ব্যবহারকারী প্রমাণীকরণ এবং অ্যাক্সেস নিয়ন্ত্রণ কনফিগার করা থাকে না। Firebase Test Lab সাথে জেনকিন্স ব্যবহার করার আগে, অ্যাক্সেস নিয়ন্ত্রণ কার্যকর করতে এবং ব্যবহারকারীদের প্রমাণীকরণের জন্য গ্লোবাল নিরাপত্তা সেটিংস কনফিগার করুন।
বৈশ্বিক নিরাপত্তা সেটিংস কনফিগার করতে
- আপনার সার্ভারে জেনকিন্স ড্যাশবোর্ডে যান। এটি করার জন্য, http://<servername>:8080 -এ ব্রাউজ করুন, যেখানে <servername> হলো সেই কম্পিউটারের নাম যেখানে আপনি জেনকিন্স ইনস্টল করেছেন।
- জেনকিন্স ড্যাশবোর্ডে, 'Manage Jenkins'-এ ক্লিক করুন এবং তারপরে 'Configure Global Security'-তে ক্লিক করুন।
- গ্লোবাল সিকিউরিটি কনফিগার করুন পেজে, 'সিকিউরিটি সক্ষম করুন'- এ ক্লিক করুন এবং তারপরে 'সংরক্ষণ করুন'-এ ক্লিক করুন।
জেনকিন্সের নিরাপত্তা সেটিংস কনফিগার করার বিষয়ে আরও তথ্যের জন্য, কুইক অ্যান্ড সিম্পল সিকিউরিটি , স্ট্যান্ডার্ড সিকিউরিটি সেটআপ এবং সিকিউরিং জেনকিন্স দেখুন।
একটি জেনকিন্স প্রজেক্ট তৈরি করুন
এরপরে, Firebase Test Lab ব্যবহার করে আপনার অ্যাপের কন্টিনিউয়াস ইন্টিগ্রেশন টেস্টিং চালানোর জন্য একটি প্রজেক্ট তৈরি করুন।
একটি জেনকিন্স প্রজেক্ট তৈরি করতে
- আপনার সার্ভারে জেনকিন্স ড্যাশবোর্ডে যান। এটি করার জন্য, http://<servername>:8080 -এ ব্রাউজ করুন, যেখানে <servername> হলো সেই কম্পিউটারের নাম যেখানে আপনি জেনকিন্স ইনস্টল করেছেন।
- জেনকিন্স ড্যাশবোর্ডে, 'New Item'- এ ক্লিক করুন।
- আইটেমের নামের ফিল্ডে আপনার প্রজেক্টের জন্য একটি নাম টাইপ করুন:
- একক বিল্ড কনফিগারেশন ব্যবহার করে এমন একটি প্রজেক্ট তৈরি করতে ফ্রিস্টাইল প্রজেক্ট বেছে নিন।
- একাধিক ভিন্ন বিল্ড কনফিগারেশনে চলতে পারে এমন একটি প্রজেক্ট তৈরি করতে ‘Build multi-configuration project’ বিকল্পটি বেছে নিন। আপনি যদি বিভিন্ন বিল্ড কনফিগারেশন (একাধিক লোকেল, একাধিক অ্যান্ড্রয়েড এপিআই লেভেল, ইত্যাদি) ব্যবহার করে আপনার অ্যাপটি বিল্ড করার পরিকল্পনা করেন, তাহলে একটি মাল্টি-কনফিগারেশন প্রজেক্টই সর্বোত্তম পছন্দ।
- সংরক্ষণ করুন- এ ক্লিক করুন।
আপনার প্রজেক্ট তৈরি হয়ে গেলে, আপনার ওয়েব ব্রাউজারে প্রজেক্টটির মূল পৃষ্ঠাটি প্রদর্শিত হয়।
রিভিশন কন্ট্রোল এবং গ্রেডল বিল্ড স্টেপ যোগ করুন
এই অংশে বর্ণনা করা হয়েছে কিভাবে গিটহাবের মতো রিভিশন কন্ট্রোল সিস্টেমের সাথে জেনকিন্সকে সংযুক্ত করতে হয় এবং সোর্স কোড থেকে APK প্যাকেজ তৈরি করার জন্য কিভাবে গ্রেডল বিল্ড স্টেপ যোগ করতে হয়।
গিটহাব এবং অন্যান্য রিভিশন কন্ট্রোল সিস্টেমের সাথে একীকরণ
আপনি যদি আপনার অ্যাপের সোর্স কোড পরিচালনার জন্য গিটহাব বা অন্য কোনো রিভিশন কন্ট্রোল সিস্টেম ব্যবহার করেন, তাহলে আপনার অ্যাপে প্রতিবার আপডেট চেক-ইন করার সময় স্বয়ংক্রিয় বিল্ড ও টেস্ট চালানোর জন্য আপনি জেনকিন্সকে কনফিগার করতে পারেন। এছাড়াও, আপনি পর্যায়ক্রমে বিল্ড চালানোর জন্য জেনকিন্সকে কনফিগার করতে পারেন।
জেনকিন্সে বিল্ড কনফিগার করার বিষয়ে জানতে, স্বয়ংক্রিয় বিল্ড কনফিগার করা দেখুন।
APK প্যাকেজ পুনর্নির্মাণের জন্য গ্রেডল বিল্ড স্টেপ যোগ করা
আপনি যদি আপনার অ্যাপের সোর্স কোড পরিচালনার জন্য একটি রিভিশন কন্ট্রোল সিস্টেম ব্যবহার করেন, তাহলে প্রতিবার জেনকিন্স যখন আপনার রিভিশন কন্ট্রোল সিস্টেম থেকে সোর্স কোড ডাউনলোড করবে, তখন নতুন APK বাইনারি তৈরি করার জন্য আপনাকে একটি গ্রেডল বিল্ড স্টেপ অন্তর্ভুক্ত করতে হবে।
আপনার অ্যাপ্লিকেশনের প্রধান ডিরেক্টরিতে নিম্নলিখিত কমান্ডগুলো চালানোর জন্য একটি বিল্ড স্টেপ যোগ করুন:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
Test Lab দিয়ে পরীক্ষা করার সময় গ্রেডল দ্বারা তৈরি APK প্যাকেজ(গুলি) ব্যবহার করতে একটি বিল্ড স্টেপ যোগ করুন। আপনি নীচে দেওয়া শেল স্ক্রিপ্ট উদাহরণে <local_server_path> হিসাবে এই পাথটি ব্যবহার করতে পারেন, যেখানে <AppFolder> হল আপনার অ্যাপের অ্যান্ড্রয়েড স্টুডিও প্রজেক্ট ফোল্ডার:
<AppFolder>/app/build/outputs/apk
জেনকিন্সে Test Lab বিল্ড স্টেপ যোগ করুন
এখন আপনি gcloud কমান্ড লাইন ব্যবহার করে Test Lab চালানোর জন্য জেনকিন্সে একটি বিল্ড স্টেপ যোগ করতে প্রস্তুত।
একটি gcloud বিল্ড ধাপ যোগ করতে
- আপনার প্রোজেক্টের মূল পৃষ্ঠা থেকে, কনফিগার-এ ক্লিক করুন।
প্রজেক্ট কনফিগারেশন পেজে, নিচে স্ক্রল করে Build সেকশনে যান এবং তারপর Add build step মেনু থেকে Execute shell নির্বাচন করুন।
জেনকিন্স এক্সিকিউট শেল কমান্ড উইন্ডোতে, নিম্নলিখিতটি লিখুন, যেখানে <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 কীভাবে ব্যবহার করতে হয় তা জানতে, তাদের ডক্স দেখুন: