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

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

الخطوة 1. قم بإعداد الخط السريع

  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:ios: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.

(اختياري) لزيادة عدد تلقائيا الإنشاء الخاصة بك في كل مرة تقوم بإنشاء الإصدار الجديد في التطبيقات التوزيع، يمكنك استخدام 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

لمعرفة المزيد عن هذا فاست لين المساعد الميزة، راجع الحصول على معلومات حول أحدث إصدار التطبيق الخاص بك .

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

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

بمجرد إضافة أحد المختبرين إلى مشروع Firebase ، يمكنك إضافته إلى الإصدارات الفردية. لم يعد بإمكان المختبرين الذين تمت إزالتهم من مشروع 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 هي نفس الحجج التي يستخدمها عمل تحميل.

الخطوة 5 (اختيارية). احصل على معلومات حول أحدث إصدار لتطبيقك

يمكنك استخدام firebase_app_distribution_get_latest_release العمل لجلب المعلومات حول أحدث إصدار التطبيق في التطبيقات التوزيع، بما في ذلك معلومات التطبيق إصدار ملاحظات الإصدار، والوقت الخلق. تتضمن حالات الاستخدام زيادة الإصدار تلقائيًا ونقل ملاحظات الإصدار من الإصدار السابق.

القيمة المرجعة للإجراء عبارة عن تجزئة تمثل أحدث إصدار. هذه التجزئة هي أيضا متاحة باستخدام lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] . لمزيد من المعلومات حول الحقول المتوفرة في هذه التجزئة، راجع وثائق API REST .

المعلمات

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

debug

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