قم بتوزيع تطبيقات iOS على المختبرين باستخدام Fastlane

يمكنك توزيع التصميمات على المختبرين باستخدام Fastlane ، وهو نظام أساسي مفتوح المصدر يعمل على أتمتة إنشاء تطبيقات iOS و Android وإصدارها. يتبع تعليمات بسيطة محددة في Fastfile . بعد إعداد fastlane و Fastfile الخاص بك ، يمكنك دمج توزيع التطبيقات مع تكوين المسار السريع الخاص بك.

الخطوة 1. قم بإعداد Fastlane

  1. تثبيت وتثبيت Fastlane .

  2. لإضافة توزيع التطبيق إلى تكوين المسار السريع الخاص بك ، قم بتشغيل الأمر التالي من جذر مشروع iOS الخاص بك:

    fastlane add_plugin firebase_app_distribution

    إذا طالبك الأمر بخيار ، فحدد Option 3: RubyGems.org .

الخطوة 2. المصادقة باستخدام Firebase

قبل أن تتمكن من استخدام المكون الإضافي fastlane ، يجب عليك أولاً المصادقة مع مشروع Firebase الخاص بك بإحدى الطرق التالية. بشكل افتراضي ، يبحث المكون الإضافي fastlane عن بيانات الاعتماد من Firebase CLI إذا لم يتم استخدام طريقة مصادقة أخرى.

الخطوة الثالثة. قم بإعداد Fastfile الخاص بك وتوزيع التطبيق الخاص بك

  1. في حارة ./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 ( 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. انظر أعلاه للتعرف على كيفية المصادقة باستخدام بيانات اعتماد حساب الخدمة .

debug

علم منطقي. يمكنك تعيين هذا على true لطباعة إخراج التصحيح المطول.

الخطوات التالية