يمكنك توزيع التصميمات على المختبرين باستخدام Fastlane ، وهو نظام أساسي مفتوح المصدر يعمل على أتمتة إنشاء تطبيقات iOS و Android وإصدارها. يتبع تعليمات بسيطة محددة في Fastfile
. بعد إعداد fastlane و Fastfile
الخاص بك ، يمكنك دمج توزيع التطبيقات مع تكوين المسار السريع الخاص بك.
الخطوة 1. قم بإعداد Fastlane
لإضافة توزيع التطبيق إلى تكوين المسار السريع الخاص بك ، قم بتشغيل الأمر التالي من جذر مشروع iOS الخاص بك:
fastlane add_plugin firebase_app_distribution
إذا طالبك الأمر بخيار ، فحدد
Option 3: RubyGems.org
.
الخطوة 2. المصادقة باستخدام Firebase
قبل أن تتمكن من استخدام المكون الإضافي fastlane ، يجب عليك أولاً المصادقة مع مشروع Firebase الخاص بك بإحدى الطرق التالية. بشكل افتراضي ، يبحث المكون الإضافي fastlane عن بيانات الاعتماد من Firebase CLI إذا لم يتم استخدام طريقة مصادقة أخرى.
تتيح لك المصادقة باستخدام حساب الخدمة استخدام المكون الإضافي بمرونة مع نظام التكامل المستمر (CI). هناك طريقتان لتقديم بيانات اعتماد حساب الخدمة:
- قم بتمرير ملف مفتاح حساب الخدمة الخاص بك إلى إجراء
firebase_app_distribution
. قد تجد هذه الطريقة مناسبة إذا كان لديك بالفعل ملف مفتاح حساب الخدمة الخاص بك في بيئة الإنشاء الخاصة بك. - قم بتعيين متغير البيئة
GOOGLE_APPLICATION_CREDENTIALS
للإشارة إلى ملف مفتاح حساب الخدمة. قد تفضل هذه الطريقة إذا كان لديك بالفعل بيانات اعتماد التطبيق الافتراضية (ADC) التي تم تكوينها لخدمة Google أخرى (مثل Google Cloud).
- في Google Cloud Console ، حدد مشروعك وأنشئ حساب خدمة جديدًا.
- أضف دور مسؤول توزيع تطبيقات Firebase .
- قم بإنشاء مفتاح json خاص وانقل المفتاح إلى موقع يمكن الوصول إليه من بيئة الإنشاء الخاصة بك. تأكد من الاحتفاظ بهذا الملف في مكان آمن ، لأنه يمنح وصول المسؤول إلى توزيع التطبيقات في مشروع Firebase.
- تجاوز هذه الخطوة إذا أنشأت تطبيقك بعد 20 سبتمبر 2019: في وحدة تحكم Google APIs ، قم بتمكين Firebase App Distribution API. عند المطالبة ، حدد المشروع الذي يحمل نفس اسم مشروع Firebase.
قم بتوفير أو تحديد موقع بيانات اعتماد حساب الخدمة الخاص بك:
- لتمرير مفتاح حساب الخدمة إلى إجراء
firebase_app_distribution
الخاص بمسارك ، قم بتعيين معلمةservice_credentials_file
بالمسار إلى ملف JSON الخاص بالمفتاح الخاص لتحديد موقع بيانات الاعتماد الخاصة بك مع ADC ، قم بتعيين متغير البيئة
GOOGLE_APPLICATION_CREDENTIALS
على مسار ملف المفتاح الخاص JSON. على سبيل المثال:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
لمزيد من المعلومات حول المصادقة مع ADC ، اقرأ تقديم بيانات الاعتماد للتطبيق الخاص بك.
- لتمرير مفتاح حساب الخدمة إلى إجراء
راجع تسجيل الدخول باستخدام Firebase CLI للحصول على إرشادات حول كيفية مصادقة مشروعك.
الخطوة الثالثة. قم بإعداد Fastfile الخاص بك وتوزيع التطبيق الخاص بك
- في حارة
./fastlane/Fastfile
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 CLI (اقرأ استخدام CLI مع أنظمة 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"
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 API .
يقوم البرنامج المساعد fastlane بإخراج الروابط التالية بعد تحميل الإصدار. تساعدك هذه الروابط في إدارة الثنائيات والتأكد من أن المختبرين والمطورين الآخرين لديهم الإصدار الصحيح:
- رابط إلى وحدة تحكم Firebase يعرض إصدارًا واحدًا. يمكنك مشاركة هذا الرابط مع المطورين الآخرين في مؤسستك.
- رابط للإصدار في تجربة المختبر (مقطع ويب iOS) يتيح للمختبرين عرض ملاحظات الإصدار وتثبيت التطبيق على أجهزتهم. يحتاج المُختبِر إلى الوصول إلى الإصدار من أجل استخدام الرابط.
- رابط موقّع يقوم بتنزيل التطبيق الثنائي (ملف IPA) وتثبيته مباشرةً. تنتهي صلاحية الرابط بعد ساعة واحدة.
بعد توزيع التصميم الخاص بك ، يكون متاحًا في لوحة معلومات توزيع التطبيقات لوحدة تحكم 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 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
: رقم مشروع Firebase الخاص بك. -
group_alias
(اختياري): إذا تم تحديد ذلك ، تتم إضافة المختبرين إلى (أو إزالة من) المجموعة المحددة. -
service_credentials_file
: المسار إلى ملف بيانات اعتماد خدمة Google. -
firebase_cli_token
: رمز المصادقة لـ Firebase CLI.
إن service_credentials_file
و firebase_cli_token
هما نفس الوسيطتين المستخدمتين في إجراء التحميل.
الخطوة 5 (اختيارية). احصل على معلومات حول أحدث إصدار لتطبيقك
يمكنك استخدام إجراء firebase_app_distribution_get_latest_release
لجلب معلومات حول أحدث إصدار لتطبيقك في App Distribution ، بما في ذلك معلومات إصدار التطبيق وملاحظات الإصدار ووقت الإنشاء. تتضمن حالات الاستخدام زيادة الإصدار تلقائيًا ونقل ملاحظات الإصدار من الإصدار السابق.
القيمة المرجعة للإجراء عبارة عن تجزئة تمثل أحدث إصدار. هذه التجزئة متاحة أيضًا باستخدام lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
. لمزيد من المعلومات حول الحقول المتاحة في هذه التجزئة ، راجع وثائق REST API .
حدود
firebase_app_distribution_get_latest_release المعلمات | |
---|---|
app | مطلوب فقط إذا كان تطبيقك لا يحتوي على ملف تهيئة Firebase ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path | المسار إلى ملف يتم استخدام الملف للحصول على معرف تطبيق Firebase لتطبيقك إذا كانت معلمة |
firebase_cli_token | رمز تحديث يُطبع عند مصادقة بيئة CI الخاصة بك باستخدام Firebase CLI (اقرأ استخدام CLI مع أنظمة CI لمزيد من المعلومات). |
service_credentials_file | المسار إلى ملف json الخاص بحساب خدمة Google. انظر أعلاه للتعرف على كيفية المصادقة باستخدام بيانات اعتماد حساب الخدمة . |
debug | علم منطقي. يمكنك تعيين هذا على |
الخطوات التالية
لتسجيل المزيد من الأجهزة يدويًا أو برمجيًا ، راجع تسجيل أجهزة iOS إضافية .
تعرف على أفضل الممارسات لتوزيع تطبيقات Apple على مختبري ضمان الجودة باستخدام CI / CD و fastlane .