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

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

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

قبل البدء

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

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

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

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

برمِج مهام سير عمل اختبار الإصدارات التجريبية باستخدام مسار التكامل المستمر/النشر المستمر

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

استخدام fastlane

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

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

استخدام Gradle

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

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

استخدام Firebase CLI

يمكنك استخدام أدوات Firebase CLI التي يوفّرها 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 CLI لبرمجة عمليات الإنشاء، يمكنك الاطّلاع على مقالة توزيع تطبيقات Android على المختبِرين باستخدام Firebase CLI.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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