أفضل الممارسات لتوزيع تطبيقات Apple على مختبِري ضمان الجودة باستخدام ميزات CI/CD وFastlane

تقدّم هذه المقالة أفضل الممارسات لاستخدام Firebase App Distribution و fastlane لجعل مهام سير عمل اختبار الإصدارات التجريبية على منصة Apple مستدامة وقابلة للتكرار في بيئة التكامل المستمر/النشر المستمر (CI/CD). على الرغم من أنّ هذه المقالة تركّز على fastlane، فإنّنا نصف أيضًا الحلول المتاحة من خلال Firebase console و Firebase CLI وواجهة برمجة التطبيقات العامة Firebase App Distribution API لمنحك المزيد من المرونة. نصف أيضًا حدود الإصدارات والمختبِرين حتى تتمكّن من التخطيط مسبقًا للحصول على تجربة مثالية.

إذا كنت تستخدم Android أيضًا، يمكنك الاطّلاع على أفضل الممارسات لتوزيع تطبيقات Android على مختبِري ضمان الجودة باستخدام التكامل المستمر/النشر المستمر.

قبل البدء

قبل تنفيذ أفضل الممارسات الواردة في هذه المقالة، تأكَّد من تفعيل App Distribution في Firebase console لكل تطبيق. إذا لم يسبق لك تفعيل App Distribution، سيظهر لك الخطأ 404.

لتفعيل App Distribution، اتّبِع الخطوات التالية:

  1. افتح صفحة App Distribution في Firebase console.

  2. اختَر تطبيق iOS.

  3. انقر على البدء.

تنفيذ مهام سير عمل اختبار الإصدارات التجريبية تلقائيًا باستخدام التكامل المستمر/النشر المستمر

إذا كنت تريد تنفيذ عملية إنشاء التطبيقات وتوزيعها على المختبِرين تلقائيًا وكنت تستخدم التكامل المستمر/النشر المستمر، ننصحك باستخدام fastlane. هناك خيار آخر وهو استخدام الـ Firebase CLI الذي يتيح لك الوصول إلى مجموعة كبيرة من منتجات Firebase.

استخدام fastlane

يمكنك دمج App Distribution في عملية التكامل المستمر/النشر المستمر باستخدام fastlane، وهي أداة مفتوحة المصدر تنفّذ عملية إنشاء تطبيقات iOS وAndroid وتوزيعها تلقائيًا. من خلال إنشاء أحدث الإصدارات وتوزيعها على المختبِرين تلقائيًا، يمكنك التأكّد من حصول المختبِرين دائمًا على أحدث إصدار اختباري من تطبيقك.

للتعرّف على كيفية دمج App Distribution مع fastlane، يمكنك الاطّلاع على مقالة توزيع تطبيقات iOS على المختبِرين باستخدام fastlane. يمكنك أيضًا الاطّلاع على درس تطبيقي حول الترميز يوضّح لك عملية دمج fastlane.

استخدام Firebase CLI

يمكنك استخدام أدوات Firebase CLI التي يوفّرها App Distribution لتوزيع الإصدارات على المختبِرين آليًا. يمكنك تحديد المختبِرين وملاحظات الإصدار لإحدى النسخ.

يمكنك توزيع أحدث إصدار من iOS test.ipa من خلال تحديد رقم تعريف تطبيق Firebase، مع إضافة ملاحظة إصدار وملف يحتوي على عناوين البريد الإلكتروني للمختبِرين بشكل اختياري:

firebase appdistribution:distribute test.ipa  \
    --app 1:1234567890:ios:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

لمزيد من المعلومات عن استخدام Firebase CLI لتنفيذ عملية إنشاء النسخ تلقائيًا، يمكنك الاطّلاع على مقالة توزيع تطبيقات iOS على المختبِرين باستخدام Firebase CLI.

استخدام بيانات اعتماد حساب الخدمة للمصادقة

استخدِم المكوّن الإضافي App Distribution fastlane أو واجهة سطر الأوامر Firebase مع حسابات الخدمة التي تستفيد من بيانات الاعتماد التلقائية للتطبيق وتساعدك في إدارة عملية التكامل المستمر. حساب الخدمة هو نوع من حسابات Google يمثّل التطبيقات بدلاً من المستخدمين. يمكن لنظام التكامل المستمر استخدام حسابات الخدمة لتشغيل أحمال عمل App Distribution. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة المصادقة باستخدام حساب خدمة.

إذا كنت تستخدم اتحاد هوية حمل العمل، يمكنك إنشاء ملف إعداد بيانات اعتماد واستخدامه بدلاً من مفتاح حساب الخدمة.

مراعاة حدود الإصدارات

App Distribution يتيح ما يصل إلى 1,000 إصدار كحد أقصى لكل تطبيق. ويعني ذلك أنّه عند تجاوز حد الإصدار، يحذف App Distribution تلقائيًا أقدم الإصدارات التي تتجاوز الحد. للتعرّف على كيفية إدارة حدود الإصدارات، يمكنك الاطّلاع على مقالة ما هي مدة توفّر إصدارات التطبيقات؟

إضافة المجموعة نفسها من المختبِرين إلى إصدارات متعددة

إذا كنت تريد إضافة أعداد كبيرة من المختبِرين إلى إصداراتك، استخدِم App Distribution's وظيفة إدارة المختبِرين المجمّعة.

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

إذا كان لديك الكثير من المختبِرين لإدارتهم، يمكنك إضافة المختبِرين وحذفهم بشكل مجمّع باستخدام Firebase console. لتنفيذ عملية إضافة المختبِرين وإزالتهم تلقائيًا، استخدِم واجهة سطر الأوامر FirebaseCLI، fastlane، أو واجهة برمجة التطبيقات العامة App DistributionAPI.

مراعاة حدود المختبِرين

App Distribution يفرض حدًا أقصى لعدد المختبِرين الذين يمكنك إضافتهم إلى مشروع Firebase أو مجموعة App Distribution. عند تجاوز هذه الحدود، لن تتمكّن من توزيع تطبيقك على مختبِرين إضافيين. لمزيد من المعلومات عن حدود المختبِرين، يمكنك الاطّلاع على مقالة هل هناك حدود لعدد المختبِرين الذين يمكنني إضافتهم إلى تطبيقي؟

إدارة أجهزة مختبِري iOS الجديدة وإضافتها تلقائيًا

لمساعدتك في تسجيل أجهزة مختبِري iOS إضافية، App Distribution يساعدك في إدارة أجهزة مختبِري iOS في Apple Developer Portal من خلال إعلامك بأجهزة iOS الجديدة للمختبِرين عبر البريد الإلكتروني أو ملفات CSV. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة استيراد المختبِرين من ملفات CSV. يمكنك أيضًا تصدير الأجهزة الجديدة آليًا باستخدام fastlane.

للتعرّف على كيفية إعداد إجراء fastlane الذي يجلب تلقائيًا أرقام تعريف الأجهزة الفريدة (UDID) ويضيفها إلى Apple developer console، ثم يعيد إنشاء التطبيق و يوزّعه، يمكنك الاطّلاع على مقالة كيفية توزيع إصدارات iOS التجريبية بشكل أسرع باستخدام ميزة App Distribution ومنصة fastlane.

السماح للمختبِرين المحتملين بتسجيل أنفسهم للاختبار

لتسهيل توزيع تطبيقك على المزيد من المختبِرين، ننصحك باستخدام روابط الدعوة. رابط الدعوة هو عنوان URL فريد يتيح للمختبِرين إدخال عناوين بريدهم الإلكتروني للاشتراك في اختبار تطبيق. إنّ السماح للمستخدمين بإضافة أنفسهم إلى قائمة مختبِري التطبيق هو طريقة سلسة لزيادة قاعدة الاختبار الداخلية.

تشمل حالات استخدام روابط الدعوة برامج اختبار المنتجات داخل الشركة والمؤسسات التي تضم فرقًا كبيرة لضمان الجودة ومجموعات المطوّرين الذين يريدون أن يتمكّن العملاء الأفراد من التحكّم في إمكانية وصول المختبِرين.

ننصحك بإنشاء رابط دعوة لمجموعة. تتم إضافة أي مختبِر يشترك باستخدام رابط الدعوة تلقائيًا إلى الإصدارات اللاحقة.

لمزيد من المعلومات، يمكنك الاطّلاع على مقالتَي إنشاء روابط الدعوة وإضافة مختبِرين وإزالتهم من مجموعة.

التأكّد من أنّ المختبِرين يختبرون الإصدار الذي يهمّك

عند تحميل إصدار جديد، يتم إعلام المختبِرين عبر البريد الإلكتروني. بالإضافة إلى هذا الإشعار، يمكنك استخدام الميزتَين التاليتَين – روابط الإصدار والتنبيهات داخل التطبيق – للتأكّد من أنّ المختبِرين يختبرون إصدار التطبيق المحدّد الذي يهمّك:

  • روابط الإصدار: استخدِم هذه الميزة عندما تريد مشاركة إصدار معيّن مع المختبِرين. للتعرّف على كيفية استخدام روابط الإصدار، يمكنك الاطّلاع على مقالة توزيع تطبيقات iOS على المختبِرين باستخدام Firebase console. تتوفّر هذه الروابط أيضًا مع أدوات سطر الأوامر (CLI) في Firebase وfastlane لاستخدامها مع أدوات أتمتة عملية الإنشاء.

  • التنبيهات داخل التطبيق: استخدِم هذه التنبيهات عندما تريد التأكّد من أنّ المختبِرين يختبرون أحدث إصدار من تطبيقك. من خلال دمج حزمة تطوير البرامج (SDK) لنظام التشغيل iOS في Firebase App Distribution، يمكنك عرض التنبيهات مباشرةً داخل التطبيق للمختبِرين عندما تتوفّر نسخ جديدة من تطبيقك. للتعرّف على كيفية إضافة التنبيهات داخل التطبيق، يمكنك الاطّلاع على مقالة إشعار المختبِرين بشأن النسخ الجديدة.

إزالة إذن وصول المختبِرين الذين يتركون الشركة تلقائيًا

بعد إعداد عملية الاختبار الداخلي في التكامل المستمر/النشر المستمر وتشغيلها، عليك التأكّد من أنّ الأشخاص الذين يتركون الشركة لن يعود بإمكانهم الوصول إلى النسخ الداخلية. لمساعدتك في إدارة إذن وصول المختبِرين إلى النسخ، App Distribution يوفر الخيارات التالية: