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

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

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

قبل البدء

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

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

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

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

أتمِتة سير عمل اختبار الإصدار التجريبي باستخدام مسار CI/CD

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

استخدام fastlane

يمكنك دمج 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.

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

استخدِم أدوات واجهة سطر الأوامر (CLI) في 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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