এই দস্তাবেজটি কীভাবে আইওএস এবং অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলি বিল্ডিং এবং প্রকাশের স্বয়ংক্রিয় করে তোলে এবং ফাস্টলেন ব্যবহার করে পরীক্ষকদের কাছে এপিকে বিল্ডগুলি বিতরণ করতে পারে তা বর্ণনা করে। এই দস্তাবেজটি একটি Fastfile
সংজ্ঞায়িত নির্দেশাবলী অনুসরণ করে। আপনি ফাস্টলেন এবং আপনার Fastfile
সেট আপ করার পরে, আপনি আপনার ফাস্টলেন কনফিগারেশনের সাথে App Distribution সংহত করতে পারেন।
আপনি শুরু করার আগে
যদি আপনি ইতিমধ্যেই না করে থাকেন তাহলে আপনার Android প্রকল্পে Firebase যোগ করুন ।
আপনি যদি অন্য কোনও ফায়ারবেস পণ্য ব্যবহার না করে থাকেন তবে আপনাকে কেবল একটি প্রকল্প তৈরি করতে হবে এবং আপনার অ্যাপ্লিকেশনটি নিবন্ধন করতে হবে। তবে, আপনি যদি ভবিষ্যতে অতিরিক্ত পণ্য ব্যবহার করার সিদ্ধান্ত নেন তবে উপরের লিঙ্কযুক্ত পৃষ্ঠার সমস্ত পদক্ষেপগুলি সম্পূর্ণ করতে ভুলবেন না।
পদক্ষেপ 1. ফাস্টলেন সেট আপ করুন
আপনার ফাস্টলেন কনফিগারেশনে App Distribution যুক্ত করতে, আপনার অ্যান্ড্রয়েড প্রকল্পের মূল থেকে নিম্নলিখিত কমান্ডটি চালান:
fastlane add_plugin firebase_app_distribution
যদি কমান্ডটি আপনাকে কোনও বিকল্পের সাথে অনুরোধ করে তবে
Option 3: RubyGems.org
.
ধাপ 2. ফায়ারবেস দিয়ে প্রমাণীকরণ করুন
আপনি ফাস্টলেন প্লাগইন ব্যবহার করার আগে, আপনাকে প্রথমে আপনার ফায়ারবেস প্রকল্পের সাথে নিম্নলিখিত একটি উপায়ে প্রমাণ করতে হবে। ডিফল্টরূপে, ফাস্টলেন প্লাগইন Firebase সিএলআই থেকে শংসাপত্রগুলি সন্ধান করে যদি অন্য কোনও প্রমাণীকরণ পদ্ধতি ব্যবহার না করা হয়।
কোনও পরিষেবা অ্যাকাউন্টের সাথে প্রমাণীকরণ আপনাকে আপনার অবিচ্ছিন্ন ইন্টিগ্রেশন (সিআই) সিস্টেমের সাথে প্লাগইনটি নমনীয়ভাবে ব্যবহার করতে দেয়। পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি সরবরাহ করার দুটি উপায় রয়েছে:
- আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলটি
firebase_app_distribution
ক্রিয়ায় পাস করুন। আপনার বিল্ড পরিবেশে ইতিমধ্যে আপনার পরিষেবা অ্যাকাউন্ট কী ফাইল থাকলে আপনি এই পদ্ধতিটি সুবিধাজনক দেখতে পাবেন। - আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলটি নির্দেশ করতে পরিবেশের পরিবর্তনশীল
GOOGLE_APPLICATION_CREDENTIALS
সেট করুন। আপনি যদি ইতিমধ্যে অন্য গুগল পরিষেবার (যেমন, Google Cloud ) কনফিগার করা অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (এডিসি) থাকে তবে আপনি এই পদ্ধতিটি পছন্দ করতে পারেন।
- Google Cloud কনসোলে, আপনার প্রকল্পটি নির্বাচন করুন এবং একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করুন।
- Firebase App Distribution অ্যাডমিন ভূমিকা যোগ করুন।
- একটি ব্যক্তিগত জেএসএন কী তৈরি করুন এবং আপনার বিল্ড পরিবেশে অ্যাক্সেসযোগ্য কোনও স্থানে কীটি সরান। এই ফাইলটি কোথাও সুরক্ষিত রাখতে ভুলবেন না , কারণ এটি আপনার ফায়ারবেস প্রকল্পে App Distribution প্রশাসককে অ্যাক্সেস মঞ্জুর করে।
- আপনি যদি 20 সেপ্টেম্বর, 2019 এর পরে আপনার অ্যাপটি তৈরি করেন তবে এই পদক্ষেপটি এড়িয়ে যান: গুগল এপিআইএস কনসোলে, Firebase App Distribution এপিআই সক্ষম করুন। যখন অনুরোধ করা হয়, আপনার ফায়ারবেস প্রকল্পের মতো একই নাম সহ প্রকল্পটি নির্বাচন করুন।
আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি সরবরাহ বা সনাক্ত করুন:
- আপনার লেনের
firebase_app_distribution
অ্যাকশনে আপনার পরিষেবা অ্যাকাউন্ট কীটি পাস করার জন্য, আপনার ব্যক্তিগত কী জসন ফাইলের পথ সহservice_credentials_file
প্যারামিটারটি সেট করুন এডিসির সাথে আপনার শংসাপত্রগুলি সনাক্ত করতে, পরিবেশের পরিবর্তনশীল
GOOGLE_APPLICATION_CREDENTIALS
প্রাইভেট কী জেএসএন ফাইলের পথে সেট করুন। যেমন:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
এডিসির সাথে প্রমাণীকরণ সম্পর্কিত আরও তথ্যের জন্য, আপনার অ্যাপ্লিকেশনটিতে শংসাপত্র সরবরাহ করে পড়ুন।
- আপনার লেনের
কীভাবে আপনার প্রকল্পটি প্রমাণীকরণ করবেন সে সম্পর্কে নির্দেশাবলীর জন্য Firebase সিএলআইয়ের সাথে লগ ইন দেখুন।
পদক্ষেপ 3. আপনার ফাস্টফাইল সেট আপ করুন এবং আপনার অ্যাপ্লিকেশন বিতরণ করুন
- একটি
./fastlane/Fastfile
লেনে, একটিfirebase_app_distribution
ব্লক যুক্ত করুন। বিতরণ কনফিগার করতে নিম্নলিখিত পরামিতিগুলি ব্যবহার করুন:ফায়ারবেস_এপ_ডিস্ট্রিবিউশন পরামিতি app
প্রয়োজনীয় : আপনার অ্যাপের ফায়ারবেস অ্যাপ আইডি। আপনি সাধারণ সেটিংস পৃষ্ঠায় Firebase কনসোলে অ্যাপ আইডিটি খুঁজে পেতে পারেন।
app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token
আপনি যখন Firebase সিএলআই দিয়ে আপনার সিআই পরিবেশকে প্রমাণীকরণ করেন তখন একটি রিফ্রেশ টোকেন মুদ্রিত হয় (আরও তথ্যের জন্য সিআই সিস্টেম সহ সিএলআই ব্যবহার করুন ) পড়ুন।
service_credentials_file
আপনার গুগল সার্ভিস অ্যাকাউন্ট জেএসএন ফাইলের পথ। পরিষেবা অ্যাকাউন্ট শংসাপত্রগুলি ব্যবহার করে কীভাবে প্রমাণীকরণ করবেন তার জন্য উপরে দেখুন।
android_artifact_type
অ্যান্ড্রয়েড ফাইলের ধরণ (এপিকে বা এএবি) নির্দিষ্ট করে।
android_artifact_path
apk_path
(অবমূল্যায়িত) প্রতিস্থাপন করে। আপনি আপলোড করতে চান এপিকে বা এএবি ফাইলের নিখুঁত পথ। যদি অনির্ধারিত হয় তবে ফাস্টলেন ফাইলটির অবস্থানটি যে গলিতে উত্পন্ন হয়েছিল তা থেকে ফাইলটির অবস্থান নির্ধারণ করে।release_notes
release_notes_file
এই বিল্ডের জন্য নোট প্রকাশ করুন।
আপনি সরাসরি রিলিজ নোটগুলি নির্দিষ্ট করতে পারেন:
release_notes: "Text of release notes"
বা, একটি সরল পাঠ্য ফাইলের পথ নির্দিষ্ট করুন:
release_notes_file: "/path/to/release-notes.txt"
testers
testers_file
আপনি যে পরীক্ষার্থীদের আমন্ত্রণ করতে চান তার ইমেল ঠিকানা।
আপনি পরীক্ষার্থীদের ইমেল ঠিকানাগুলির কমা-বিচ্ছিন্ন তালিকা হিসাবে নির্দিষ্ট করতে পারেন:
testers: "ali@example.com, bri@example.com, cal@example.com"
অথবা, আপনি ইমেল ঠিকানাগুলির কমা-বিচ্ছিন্ন তালিকাযুক্ত একটি সরল পাঠ্য ফাইলে পথ নির্দিষ্ট করতে পারেন:
testers_file: "/path/to/testers.txt"
groups
groups_file
পরীক্ষক গোষ্ঠীগুলি আপনি আমন্ত্রণ করতে চান ( পরীক্ষক পরিচালনা করতে দেখুন)। গোষ্ঠীগুলি ব্যবহার করে নির্দিষ্ট করা হয়
গ্রুপ উপনাম , যা আপনি Firebase কনসোলে সন্ধান করতে পারেন।আপনি দলগুলিকে কমা-বিচ্ছিন্ন তালিকা হিসাবে নির্দিষ্ট করতে পারেন:
groups: "qa-team, trusted-testers"
অথবা, আপনি গ্রুপের নামগুলির কমা-বিচ্ছিন্ন তালিকাযুক্ত একটি সরল পাঠ্য ফাইলে পথ নির্দিষ্ট করতে পারেন:
groups_file: "/path/to/groups.txt"
test_devices
test_devices_file
নিম্নলিখিত বিতরণ প্রকারগুলি স্বয়ংক্রিয় পরীক্ষক বিটা বৈশিষ্ট্যের অংশ।
আপনি যে পরীক্ষার ডিভাইসগুলি বিতরণ করতে চান সেগুলি বিল্ডগুলিতে ( স্বয়ংক্রিয় পরীক্ষাগুলি দেখুন)।
আপনি পরীক্ষার ডিভাইসগুলির সেমিকোলন-বিচ্ছিন্ন তালিকা হিসাবে পরীক্ষার ডিভাইসগুলি নির্দিষ্ট করতে পারেন:
test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
অথবা, আপনি পরীক্ষার ডিভাইসের সেমিকোলন-বিচ্ছিন্ন তালিকাযুক্ত একটি সরল পাঠ্য ফাইলে পথ নির্দিষ্ট করতে পারেন:
test_devices_file: "/path/to/test-devices.txt"
test_username
স্বয়ংক্রিয় টেস্টের সময় স্বয়ংক্রিয় লগইন ব্যবহার করার জন্য ব্যবহারকারীর নাম।
test_password
test_password_file
স্বয়ংক্রিয় লগইনটির জন্য পাসওয়ার্ডটি স্বয়ংক্রিয় পরীক্ষার সময় ব্যবহার করা হবে।
অথবা, আপনি একটি পাসওয়ার্ডযুক্ত একটি সরল পাঠ্য ফাইলের পথ নির্দিষ্ট করতে পারেন:
test_password_file: "/path/to/test-password.txt"
test_username_resource
স্বয়ংক্রিয় পরীক্ষার সময় স্বয়ংক্রিয় লগইন ব্যবহার করার জন্য ব্যবহারকারীর নাম ক্ষেত্রের জন্য রিসোর্সের নাম।
test_password_resource
স্বয়ংক্রিয় টেস্টের সময় স্বয়ংক্রিয় লগইন ব্যবহার করার জন্য পাসওয়ার্ড ক্ষেত্রের জন্য রিসোর্সের নাম।
test_non_blocking
অটোমেটেড টেস্টগুলি asynchronsicallyভাবে চালান। স্বয়ংক্রিয় পরীক্ষার ফলাফলের জন্য ফায়ারবেস কনসোলটি দেখুন।
debug
একটি বুলিয়ান পতাকা। ভার্বোজ ডিবাগ আউটপুট মুদ্রণ করতে আপনি এটিকে
true
সেট করতে পারেন।
platform :android do desc "My awesome app" lane :distribute do build_android_app(...) # build_android_app is a built-in fastlane action. release = firebase_app_distribution( app: "1:123456789:android:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
পরীক্ষকদের জন্য বিল্ডটি উপলব্ধ করতে, আপনার লেনটি চালান:
fastlane <lane>
ক্রিয়াটির রিটার্ন মান হ'ল আপলোড হওয়া রিলিজের প্রতিনিধিত্বকারী একটি হ্যাশ। এই হ্যাশটি lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
ব্যবহার করেও উপলব্ধ। এই হ্যাশে উপলভ্য ক্ষেত্রগুলি সম্পর্কে আরও তথ্যের জন্য, REST এপিআই ডকুমেন্টেশন দেখুন।
ফাস্টলেন প্লাগইন রিলিজ আপলোডের পরে নিম্নলিখিত লিঙ্কগুলি আউটপুট করে। এই লিঙ্কগুলি আপনাকে বাইনারিগুলি পরিচালনা করতে এবং পরীক্ষক এবং অন্যান্য বিকাশকারীদের সঠিক মুক্তি পেয়েছে তা নিশ্চিত করতে সহায়তা করে:
- Firebase কনসোলের একটি লিঙ্ক একটি একক প্রকাশ প্রদর্শন করে। আপনি আপনার org এর অন্যান্য বিকাশকারীদের সাথে এই লিঙ্কটি ভাগ করতে পারেন।
- পরীক্ষক অভিজ্ঞতার (অ্যান্ড্রয়েড নেটিভ অ্যাপ্লিকেশন) রিলিজের একটি লিঙ্ক যা পরীক্ষকদের প্রকাশের নোটগুলি দেখতে এবং তাদের ডিভাইসে অ্যাপটি ইনস্টল করতে দেয়। লিঙ্কটি ব্যবহার করার জন্য পরীক্ষকটির রিলিজে অ্যাক্সেসের প্রয়োজন।
- একটি স্বাক্ষরিত লিঙ্ক যা সরাসরি অ্যাপ্লিকেশন বাইনারি (এপিকে বা এএবি ফাইল) ডাউনলোড করে এবং ইনস্টল করে। লিঙ্কটি এক ঘন্টা পরে শেষ হয়।
আপনি আপনার বিল্ড বিতরণ করার পরে, এটি 150 দিনের জন্য Firebase কনসোলের App Distribution ড্যাশবোর্ডে উপলব্ধ। যখন বিল্ডটি শেষ হওয়ার 30 দিন পরে হয়, তখন কনসোলে এবং পরীক্ষকের তাদের পরীক্ষার ডিভাইসে বিল্ডগুলির তালিকায় একটি মেয়াদোত্তীর্ণ নোটিশ উপস্থিত হয়।
পরীক্ষকরা যারা পূর্বে অ্যাপটি পরীক্ষা করার জন্য আমন্ত্রিত ছিল না তারা শুরু করার জন্য ইমেল আমন্ত্রণগুলি গ্রহণ করে। বিদ্যমান পরীক্ষকরা ইমেল বিজ্ঞপ্তিগুলি পান যে একটি নতুন বিল্ড পরীক্ষা করার জন্য প্রস্তুত। পরীক্ষার অ্যাপটি কীভাবে ইনস্টল করবেন তা শিখতে, পরীক্ষক সেট আপ গাইড দেখুন। তারা আমন্ত্রণটি গ্রহণ করেছে কিনা এবং তারা Firebase কনসোলে অ্যাপটি ডাউনলোড করেছে কিনা তা নির্ধারণ করতে আপনি প্রতিটি পরীক্ষকের স্থিতি পর্যবেক্ষণ করতে পারেন।
(Al চ্ছিক) প্রতিবার অ্যাপ বিতরণে নতুন রিলিজ তৈরি করার সময় আপনার বিল্ড নম্বরটি স্বয়ংক্রিয়ভাবে বাড়ানোর জন্য, আপনি firebase_app_distribution_get_latest_release
অ্যাকশন ব্যবহার করতে পারেন এবং উদাহরণস্বরূপ, increment_version_code
ফাস্টলেন প্লাগইন । নিম্নলিখিত কোডটি কীভাবে আপনার বিল্ড নম্বরটি স্বয়ংক্রিয়ভাবে বাড়ানো যায় তার একটি উদাহরণ সরবরাহ করে:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end
firebase_app_distribution_get_latest_release
অ্যাকশন সম্পর্কে আরও জানতে, আপনার অ্যাপ্লিকেশনটির সর্বশেষ প্রকাশ সম্পর্কে তথ্য পান ।
ধাপ 4 (ঐচ্ছিক)। বিতরণের জন্য পরীক্ষকদের পরিচালনা করা
আপনি আপনার Fastfile
ফাইলটি ব্যবহার করে বা সরাসরি ফাস্টলেন ক্রিয়াগুলি চালিয়ে আপনার প্রকল্প বা গোষ্ঠী থেকে পরীক্ষকদের যুক্ত করতে এবং অপসারণ করতে পারেন। চলমান ক্রিয়াগুলি সরাসরি আপনার Fastfile
সেট করা মানগুলিকে ওভাররাইড করে।
একবার আপনার ফায়ারবেস প্রকল্পে কোনও পরীক্ষক যুক্ত হয়ে গেলে আপনি সেগুলি পৃথক রিলিজগুলিতে যুক্ত করতে পারেন। আপনার ফায়ারবেস প্রকল্প থেকে সরানো পরীক্ষকরা আপনার প্রকল্পে আর প্রকাশের অ্যাক্সেস নেই, তবে তারা সময়ের উইন্ডোর জন্য আপনার রিলিজগুলিতে অ্যাক্সেস ধরে রাখতে পারে।
আপনার যদি বিপুল সংখ্যক পরীক্ষক থাকে তবে আপনার গোষ্ঠীগুলি ব্যবহার করার বিষয়টি বিবেচনা করা উচিত।
Fastfile
ব্যবহার করুন
# Use lanes to add or remove testers from a project. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) add testers to this group ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) remove testers from this group only ) end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers
ফাস্টলেন ক্রিয়া চালান
fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"
আপনি --file="/path/to/testers.txt
-এর পরিবর্তে --emails
পরিবর্তে পরীক্ষকগণকে নির্দিষ্ট করতে পারেন।
firebase_app_distribution_add_testers
টেস্টার এবং firebase_app_distribution_remove_testers
কাজগুলিও নিম্নলিখিত যুক্তিগুলি গ্রহণ করে:
-
project_name
: আপনার ফায়ারবেস প্রকল্প নম্বর। -
group_alias
(al চ্ছিক): নির্দিষ্ট করা হলে, পরীক্ষকগণ নির্দিষ্ট গ্রুপে যুক্ত (বা সরানো) যুক্ত করা হয়। -
service_credentials_file
: আপনার গুগল পরিষেবা শংসাপত্র ফাইলের পথ। -
firebase_cli_token
: Firebase সিএলআইয়ের জন্য আথ টোকেন।
service_credentials_file
এবং firebase_cli_token
আপলোড ক্রিয়া দ্বারা ব্যবহৃত একই যুক্তি।
পদক্ষেপ 5 (al চ্ছিক)। আপনার অ্যাপ্লিকেশনটির সর্বশেষ প্রকাশ সম্পর্কে তথ্য পান
অ্যাপ সংস্করণ তথ্য, রিলিজ নোট এবং সৃষ্টির সময় সহ অ্যাপ্লিকেশন বিতরণে আপনার অ্যাপ্লিকেশনটির সর্বশেষ প্রকাশ সম্পর্কে তথ্য আনতে আপনি firebase_app_distribution_get_latest_release
অ্যাকশনটি ব্যবহার করতে পারেন। ব্যবহারের ক্ষেত্রেগুলি স্বয়ংক্রিয়ভাবে সংস্করণটি বাড়ানো এবং পূর্ববর্তী রিলিজ থেকে রিলিজ নোটগুলি বহন করা অন্তর্ভুক্ত।
ক্রিয়াটির রিটার্ন মান হ'ল সর্বশেষ প্রকাশের প্রতিনিধিত্বকারী একটি হ্যাশ। এই হ্যাশটি lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
ব্যবহার করেও উপলব্ধ। এই হ্যাশে উপলভ্য ক্ষেত্রগুলি সম্পর্কে আরও তথ্যের জন্য, REST এপিআই ডকুমেন্টেশন দেখুন।
পরামিতি
ফায়ারবেস_এপ_ডিস্ট্রিবিউশন_গেট_লেটেস্ট_রেলিজ প্যারামিটারগুলি | |
---|---|
app | প্রয়োজনীয় : আপনার অ্যাপের ফায়ারবেস অ্যাপ আইডি। আপনি সাধারণ সেটিংস পৃষ্ঠায় Firebase কনসোলে অ্যাপ আইডিটি খুঁজে পেতে পারেন। app: "1:1234567890:android:0a1b2c3d4e5f67890" |
firebase_cli_token | আপনি যখন Firebase সিএলআই দিয়ে আপনার সিআই পরিবেশকে প্রমাণীকরণ করেন তখন একটি রিফ্রেশ টোকেন মুদ্রিত হয় (আরও তথ্যের জন্য সিআই সিস্টেম সহ সিএলআই ব্যবহার করুন ) পড়ুন। |
service_credentials_file | আপনার গুগল সার্ভিস অ্যাকাউন্ট জেএসএন ফাইলের পথ। পরিষেবা অ্যাকাউন্ট শংসাপত্রগুলি ব্যবহার করে কীভাবে প্রমাণীকরণ করবেন তার জন্য উপরে দেখুন। |
debug | একটি বুলিয়ান পতাকা। ভার্বোজ ডিবাগ আউটপুট মুদ্রণ করতে আপনি এটিকে |
পরবর্তী পদক্ষেপ
পরীক্ষকদের আপনার অ্যাপ্লিকেশন সম্পর্কে প্রতিক্রিয়া প্রেরণ করা সহজ করার জন্য অ্যাপ্লিকেশন প্রতিক্রিয়া প্রয়োগ করুন (স্ক্রিনশট সহ)।
যখন আপনার অ্যাপ্লিকেশনটির নতুন বিল্ডগুলি ইনস্টল করার জন্য উপলব্ধ থাকে তখন কীভাবে আপনার পরীক্ষকদের কাছে অ্যাপ্লিকেশন সতর্কতাগুলি প্রদর্শন করবেন তা শিখুন।
সিআই/সিডি ব্যবহার করে কিউএ পরীক্ষকদের কাছে অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলি বিতরণের জন্য সেরা অনুশীলনগুলি শিখুন।