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

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

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

قبل البدء

قبل تنفيذ أفضل الممارسات في هذا المستند، احرص على تفعيل ميزة "توزيع التطبيقات" في وحدة تحكُّم Firebase لكل تطبيق. وفي حال عدم تفعيل ميزة "توزيع التطبيقات"، ستظهر لك رسالة الخطأ 404.

لتفعيل ميزة "توزيع التطبيقات"، يُرجى اتّباع الخطوات التالية:

  1. افتح صفحة "توزيع التطبيقات" في وحدة تحكُّم Firebase.
  2. اختَر تطبيق Android.
  3. انقر على البدء.

بما أنّ تنسيق "مجموعة حزمات تطبيق Android" (AAB) أصبح أكثر تنسيق حِزم Android شيوعًا، ننصحك بإعداد إمكانية توزيع تنسيقات AAB على المختبِرين من خلال الربط بخدمة Google Play.

برمجة سير عمل الاختبارات التجريبية من خلال مسار CI/CD

إذا كنت تريد برمجة إنشاء التطبيقات وإطلاقها للمختبِرين بشكل آلي وكنت تستخدم الإصدار CI/CD، ننصحك باستخدام Fastlane أو Gradle. ويمكنك أيضًا استخدام واجهة سطر الأوامر في Firebase، التي تتيح لك الوصول إلى مجموعة كبيرة من منتجات Firebase.

استخدام الخط السريع

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

لمعرفة كيفية دمج App Distribution مع Fastlane، اطّلِع على توزيع تطبيقات Android على المختبِرين باستخدام Fastlane.

استخدام Gradle

استخدم Gradle لدمج App Distribution في عملية إصدار Android باستخدام المكوّن الإضافي App Distribution Gradle. ويتيح لك المكوّن الإضافي تحديد المختبِرين وملاحظات الإصدار في ملف build.gradle لتطبيقك، ما يتيح لك إعداد التوزيعات لأنواع الإصدارات والنُسخ المختلفة من تطبيقك.

للتعرّف على كيفية دمج App Distribution مع Gradle، يُرجى الاطّلاع على توزيع تطبيقات Android على المختبِرين باستخدام Gradle.

استخدام واجهة سطر الأوامر في Firebase

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

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

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

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

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

استخدم المكوّن الإضافي Fastlane App Distribution أو مكوّن Gradle الإضافي أو واجهة سطر الأوامر في Firebase" مع حسابات الخدمة. حساب الخدمة هو نوع من حسابات Google يمثّل التطبيقات (على عكس المستخدمين). يمكن لنظام CI الخاص بك استخدام حسابات الخدمة لتشغيل أحمال عمل "توزيع التطبيقات". لمزيد من المعلومات، يُرجى الاطّلاع على المصادقة باستخدام حساب خدمة.

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

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

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

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

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

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

إذا كان لديك الكثير من المختبِرين المطلوب إدارتهم، يمكنك إضافة المختبِرين وحذفهم بشكل مجمّع باستخدام "وحدة تحكُّم Firebase". لإضافة المختبِرين وإزالتهم بشكل مبرمَج، استخدِم واجهة سطر الأوامر في Firebase أو Fastlane أو Gradle أو واجهة برمجة التطبيقات Firebase App Distribution API.

ضَع في اعتبارك الحدود القصوى للمختبِرين

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

السماح للمختبِرين المحتملين بالتسجيل الذاتي للاختبار

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

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

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

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

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

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

  • روابط الإصدارات: يمكنك استخدام هذه الميزة عندما تريد مشاركة إصدار محدّد مع المختبِرين. لمعرفة كيفية استخدام روابط الإصدار، يُرجى الاطّلاع على مقالة توزيع تطبيقات Android على المختبِرين باستخدام "وحدة تحكُّم Firebase". تتوفّر هذه الروابط أيضًا مع أدوات Firebase وFastlane وGradle command-line (CLI) لاستخدامها مع أدوات إنشاء الحلول البرمجية.
  • التنبيهات داخل التطبيق: يمكنك استخدام هذه التنبيهات إذا أردت التأكد من أنّ المختبِرين يختبرون أحدث إصدار من تطبيقك. ومن خلال دمج حزمة تطوير البرامج (SDK) الخاصة بـ Firebase App Distribution لنظام التشغيل Android، يمكنك عرض التنبيهات مباشرةً داخل التطبيق للمختبِرين عند توفُّر إصدارات جديدة من تطبيقك. للتعرّف على كيفية إضافة تنبيهات داخل التطبيق، يمكنك الاطّلاع على إشعار المختبِرين بشأن الإصدارات الجديدة.

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

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