ويمكنك توزيع الإصدارات على المختبِرين باستخدام
Fastlane،
نظام أساسي مفتوح المصدر يعمل على برمجة إنشاء إصدارات iOS وAndroid
التطبيقات. وهو يتّبع تعليمات بسيطة تم تحديدها في Fastfile
. بعد الإعداد
الخط السريع وFastfile
، يمكنك دمج App Distribution مع المسار السريع.
التكوين.
الخطوة 1: إعداد الخط السريع
لإضافة App Distribution إلى إعدادات الخط السريع، شغِّل ما يلي من جذر مشروع iOS:
fastlane add_plugin firebase_app_distribution
إذا ظهر لك الأمر خيارًا، انقر على
Option 3: RubyGems.org
.
الخطوة 2: المصادقة باستخدام Firebase
قبل أن تتمكن من استخدام المكوّن الإضافي Fastlane، يجب أولاً المصادقة مشروع Firebase بإحدى الطرق التالية. بشكل افتراضي، لا يعمل المكوّن الإضافي Fastlane تبحث عن بيانات الاعتماد من واجهة سطر الأوامر Firebase في حال عدم الحاجة إلى مصادقة أخرى طريقة المشروع الشائعة.
الخطوة 3: يمكنك إعداد Fastfile وتوزيع تطبيقك
- في ممر
./fastlane/Fastfile
، أضِف حظرfirebase_app_distribution
استخدِم المَعلمات التالية من أجل: لإعداد التوزيع:مَعلمات firebase_app_distribution app
مطلوب فقط إذا لم يكن تطبيقك يحتوي على ملف إعداد Firebase (
GoogleService-Info.plist
): رقم تعريف تطبيق Firebase لتطبيقك. إِنْتَ يمكنك العثور على رقم تعريف التطبيق في وحدة تحكّم Firebase، على صفحة الإعدادات العامة.app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path
المسار إلى ملف
GoogleService-Info.plist
، نسبةً إلى مسار المنتج المؤرشف. اضبط السمة علىGoogleService-Info.plist
تلقائيًا.يُستخدَم الملف للحصول على رقم تعريف تطبيق Firebase لتطبيقك في حال عدم تحديد معلَمة
app
.firebase_cli_token
رمز مميز لإعادة التحميل تتم طباعته عند مصادقة بيئة CI باستخدام واجهة سطر الأوامر Firebase (للقراءة) استخدام واجهة سطر الأوامر مع أنظمة CI للحصول على مزيد من المعلومات).
service_credentials_file
المسار إلى ملف JSON لحساب خدمة Google. يمكنك الاطّلاع أعلاه على كيفية إجراء ذلك. للمصادقة باستخدام بيانات اعتماد حساب الخدمة.
ipa_path
سيحل محل
apk_path
(متوقف نهائيًا). المسار المطلق إلى ملف IPA الذي تريد تحميله. في حال حذف غير محدد، يحدد الخط السريع موقع الملف من الممر الذي تم إنشاء الملف فيه.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
إجراء اختبارات مبرمجة بشكل غير متزامن انتقِل إلى "وحدة تحكُّم Firebase" للاطّلاع على نتائج الاختبار التلقائي.
debug
علامة منطقية يمكنك ضبط هذا الخيار على
true
. لطباعة نتائج تصحيح الأخطاء المطوَّلة.
على سبيل المثال:
platform :ios do desc "My awesome app" lane :distribute do build_ios_app(...) # build_ios_app is a built-in fastlane action. release = firebase_app_distribution( app: "1:123456789:ios: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:
يُخرج المكوّن الإضافي Fastlane الروابط التالية بعد تحميل الإصدار. هذه في إدارة البرامج الثنائية والتأكد من أن المختبِرين والمطورين الآخرين على الإصدار المناسب:
- رابط يؤدي إلى وحدة تحكّم "Firebase" يعرض إصدار واحد. يمكنك مشاركة هذا الرابط مع مطوِّرين آخرين في org.
- رابط إلى الإصدار في تجربة المختبِر (مقطع ويب على iOS) يسمح للمختبِرين بعرض ملاحظات الإصدار وتثبيت التطبيق على أجهزتهم. يحتاج المختبِر إلى الوصول إلى الإصدار لاستخدام الرابط.
- يشير هذا المصطلح إلى رابط موقَّع يتم تنزيله مباشرةً تثبّت البرنامج الثنائي للتطبيق (ملف IPA). تنتهي صلاحية الرابط بعد ساعة واحدة.
بعد توزيع التصميم، سيكون متاحًا في هي لوحة بيانات App Distribution الخاصة بوحدة تحكّم Firebase لمدة 150 يومًا. عندما تنتهي صلاحية الإصدار بعد 30 يومًا من انتهاء صلاحيته، يظهر إشعار انتهاء الصلاحية في وحدة التحكم وفي قائمة الإصدارات على جهاز الاختبار الخاص بالمختبِر.
يتلقّى المختبِرون الذين لم تتم دعوتهم سابقًا لاختبار التطبيق رسالة إلكترونية من الدعوات للبدء. يتلقّى المختبِرون الحاليون إشعارات عبر البريد الإلكتروني. أن التصميم الجديد جاهز للاختبار. للتعرّف على طريقة تثبيت الاختبار يُرجى الاطّلاع على الإعداد كمختبِر. يمكنك تتبُّع حالة كل مُختبِر لتحديد ما إذا كان قد قبل دعوة وما إذا كانوا قد نزّلوا التطبيق في وحدة تحكّم "Firebase"
(اختياري) لزيادة رقم الإصدار تلقائيًا في كل مرة تنشئ فيها
إصدارًا جديدًا في App Distribution، يمكنك استخدام
الإجراء firebase_app_distribution_get_latest_release
و
إجراء واحد (increment_build_number
).
يقدم الكود التالي مثالاً على كيفية زيادة قيمة
رقم الإصدار:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end
لمزيد من المعلومات عن ميزة المكوّن الإضافي Fastlane، يمكنك الاطّلاع على الحصول على معلومات عن أحدث إصدار لتطبيقك
الخطوة 4 (اختيارية) إدارة المختبِرين للتوزيع
يمكنك إضافة المختبِرين وإزالتهم من مشروعك أو مجموعتك باستخدام Fastfile
.
أو عن طريق تشغيل إجراءات الخط السريع مباشرةً. تنفيذ الإجراءات مباشرةً
ستلغي القيم المحدّدة في Fastfile
.
بعد إضافة مختبِر إلى مشروعك على Firebase، يمكنك إضافته إلى إصدارات فردية. رقم المختبِرين الذين تمت إزالتهم من مشروعك في Firebase يمكنهم الوصول إلى الإصدارات في مشروعك، ولكن قد يحتفظون حول إصداراتك لفترة زمنية معيّنة
إذا كان لديك عدد كبير من المختبِرين، ننصحك باستخدام المجموعات.
استخدام 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
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
: رقم مشروع Firebasegroup_alias
(اختياري): في حال تحديد هذا الخيار، ستتم إضافة المختبِرين إلى (أو إزالتهم منه) مجموعة محددة.service_credentials_file
: المسار إلى ملف بيانات اعتماد خدمة Googlefirebase_cli_token
: رمز المصادقة المميز لواجهة سطر الأوامر Firebase.
service_credentials_file
هي نفسها firebase_cli_token
.
الوسيطات التي يستخدمها إجراء التحميل.
الخطوة 5 (اختيارية) الحصول على معلومات عن أحدث إصدار من تطبيقك
يمكنك استخدام الإجراء firebase_app_distribution_get_latest_release
للحصول على معلومات عن أحدث إصدار لتطبيقك في App Distribution
بما في ذلك معلومات إصدار التطبيق وملاحظات الإصدار ووقت الإنشاء. حالات الاستخدام
تضمين زيادة تلقائية للإصدار وانتقاله إلى مرحلة أخرى
ملاحظات من الإصدار السابق.
والقيمة المعروضة للإجراء هي تجزئة تمثّل أحدث إصدار.
تتوفّر هذه التجزئة أيضًا باستخدام السمة lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
.
لمزيد من المعلومات عن الحقول المتاحة في هذه التجزئة، يمكنك الاطّلاع على
مستندات واجهة برمجة التطبيقات REST:
المَعلمات
معلمات firebase_app_distribution_get_updated_release | |
---|---|
app
|
مطلوب فقط إذا لم يكن تطبيقك يحتوي على ملف إعداد Firebase ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path
|
المسار إلى ملف
يُستخدَم الملف للحصول على رقم تعريف تطبيق Firebase لتطبيقك في حال عدم تحديد معلَمة |
firebase_cli_token
|
رمز مميز لإعادة التحميل تتم طباعته عند مصادقة بيئة CI باستخدام واجهة سطر الأوامر Firebase (للقراءة) استخدام واجهة سطر الأوامر مع أنظمة CI للحصول على مزيد من المعلومات). |
service_credentials_file
|
المسار إلى ملف JSON لحساب خدمة Google. اطّلِع على المستندات السابقة حول كيفية للمصادقة باستخدام بيانات اعتماد حساب الخدمة. |
service_credentials_json_data
|
محتوى ملف JSON لحساب خدمة Google اطّلِع على المستندات السابقة حول كيفية للمصادقة باستخدام بيانات اعتماد حساب الخدمة. |
debug
|
علامة منطقية يمكنك ضبط هذا الخيار على |
الخطوات التالية
لتسجيل المزيد من الأجهزة يدويًا أو آليًا، يُرجى الاطّلاع على تسجيل أجهزة iOS إضافية
تعرَّف على أفضل الممارسات لتوزيع تطبيقات Apple على مختبِري ضمان الجودة باستخدام CI/CD وFastlane.