Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

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

  1. تثبيت وإعداد فاست لين .

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

    fastlane add_plugin firebase_app_distribution

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

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

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

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

  1. في ./fastlane/Fastfile حارة، إضافة firebase_app_distribution كتلة. استخدم المعلمات التالية لتكوين التوزيع:
    معلمات firebase_app_distribution
    app

    مطلوب فقط إذا لم يتضمن التطبيق ملف Firebase التكوين ( GoogleService-Info.plist ): التطبيق الخاص بك Firebase التطبيقات ID. يمكنك العثور على معرف التطبيق في وحدة تحكم Firebase، على صفحة الإعدادات العامة .

    app: "1:1234567890:ios:0a1b2c3d4e5f67890"
    googleservice_info_plist_path

    الطريق الى حسابك GoogleService-Info.plist الملف، نسبة إلى المسار المنتج المؤرشفة. تعيين إلى GoogleService-Info.plist افتراضيا.

    يتم استخدام الملف للحصول على التطبيق الخاص بك Firebase التطبيقات ID إذا كان app المعلمة غير محددة.

    firebase_cli_token

    A تحديث رمز هذا ما المطبوعة عند تشغيل إجراء تسجيل الدخول البرنامج المساعد (انظر مصادقة باستخدام حساب Google ، أعلاه)، أو عند مصادقة البيئة 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.

        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>

بمجرد توزيع التصميم الخاص بك ، يصبح متاحًا في لوحة معلومات توزيع التطبيقات لوحدة تحكم Firebase لمدة 150 يومًا (خمسة أشهر). عند مرور 30 ​​يومًا على انتهاء صلاحية الإصدار ، يظهر إشعار انتهاء الصلاحية في كل من وحدة التحكم وقائمة البنيات الخاصة بالمختبرين على جهاز الاختبار الخاص بهم.

اختبار الذين لم دعيت لاختبار التطبيق تتلقى دعوات البريد الإلكتروني للبدء، واختبار الحالية تلقي اشعارات بالبريد الالكتروني أن بناء جديد على استعداد لاختبار (قراءة مجموعة اختبار تصل دليل للحصول على تعليمات حول كيفية تثبيت التطبيق الاختبار). يمكنك مراقبة حالة كل مختبِر - سواء قبلوا الدعوة وما إذا كانوا قد قاموا بتنزيل التطبيق - في وحدة تحكم Firebase.

لدى المختبرين 30 يومًا لقبول دعوة لاختبار التطبيق قبل انتهاء صلاحيته. عندما تنتهي صلاحية الدعوة بعد 5 أيام من انتهاء صلاحيتها ، يظهر إشعار انتهاء الصلاحية في وحدة تحكم Firebase بجوار المُختبِر في الإصدار. يمكن تجديد الدعوة عن طريق إعادة إرسالها باستخدام القائمة المنسدلة في صف المختبر.

الخطوة 4 (اختيارية). إدارة المختبرين للتوزيع

يمكنك إضافة أو إزالة اختبار من إطلاق التطبيق الخاص باستخدام Fastfile ملف أو عن طريق تشغيل مباشرة الإجراءات فاست لين. إجراءات تشغيل مباشرة ستتجاوز مجموعة القيم الخاصة بك في Fastfile .

بمجرد إضافة أحد المختبرين إلى مشروع Firebase ، يمكنك إضافته إلى الإصدارات الفردية. لن يتمكن المختبِرون الذين تمت إزالتهم من الوصول إلى الإصدارات في مشروعك بعد الآن ، ولكن لا يزال بإمكانهم الاحتفاظ بإمكانية الوصول إلى إصداراتك لفترة زمنية.

استخدام Fastfile

# Use lanes to add or remove testers from an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

قم بتشغيل إجراءات الخط السريع

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

يمكنك أيضا تحديد اختبار باستخدام --file="/path/to/testers.txt بدلا من --emails .

و firebase_app_distribution_add_testers و firebase_app_distribution_remove_testers المهام أيضا قبول الحجج التالية:

  • project_name : رقم المشروع Firebase لديك.
  • service_credentials_file : المسار إلى ملف أوراق اعتماد خدمة جوجل الخاص بك.
  • firebase_cli_token : مصادقة رمز لFirebase CLI.

و service_credentials_file و firebase_cli_token هي نفس الحجج التي يستخدمها عمل تحميل.